Просмотр исходного кода

炮灰小程序模拟数据+侧边栏发飞书看课链接

cgp 1 день назад
Родитель
Сommit
a3cf1be0b7

+ 1 - 5
fs-qwhook-sop/src/main/java/com/fs/app/controller/ApisFsUserCourseVideoController.java

@@ -181,11 +181,7 @@ public class ApisFsUserCourseVideoController extends BaseController {
     @GetMapping("/createRoomLinkFeishu")
     @ApiOperation("创建发群课程链接--飞书")
     public R createRoomLinkByFeishu(FsCourseLinkMiniParam param) {
-        QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(),param.getQwUserId().trim());
-        if (qwUser==null||qwUser.getCompanyId()==null){
-            return R.error("无权限");
-        }
-        return fsUserCourseVideoService.createRoomLinkByFeishu(param,qwUser.getCompanyUserId());//生成飞书群发课程链接
+        return fsUserCourseVideoService.createCartLinkByFeiShu(param);//生成飞书群发课程链接
     }
 
 

+ 1 - 5
fs-qwhook-sop/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -132,11 +132,7 @@ public class FsUserCourseVideoController  extends BaseController  {
     @GetMapping("/createRoomLinkFeishu")
     @ApiOperation("创建发群课程链接--飞书")
     public R createRoomLinkByFeishu(FsCourseLinkMiniParam param) {
-        QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(),param.getQwUserId().trim());
-        if (qwUser==null||qwUser.getCompanyId()==null){
-            return R.error("无权限");
-        }
-        return fsUserCourseVideoService.createRoomLinkByFeishu(param,qwUser.getCompanyUserId());//生成飞书群发课程链接
+        return fsUserCourseVideoService.createCartLinkByFeiShu(param);//生成飞书群发课程链接
     }
 
     /**

+ 1 - 6
fs-qwhook/src/main/java/com/fs/app/controller/ApisFsUserCourseVideoController.java

@@ -164,15 +164,10 @@ public class ApisFsUserCourseVideoController extends BaseController {
         return fsUserCourseVideoService.createSaleEasyRoomMiniLink(param,qwUser.getCompanyUserId());//生成销售易群发课程链接
     }
 
-
     @GetMapping("/createRoomLinkFeishu")
     @ApiOperation("创建发群课程链接--飞书")
     public R createRoomLinkByFeishu(FsCourseLinkMiniParam param) {
-        QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(),param.getQwUserId().trim());
-        if (qwUser==null||qwUser.getCompanyId()==null){
-            return R.error("无权限");
-        }
-        return fsUserCourseVideoService.createRoomLinkByFeishu(param,qwUser.getCompanyUserId());//生成飞书群发课程链接
+        return fsUserCourseVideoService.createCartLinkByFeiShu(param);//生成飞书群发课程链接
     }
 
 }

+ 3 - 0
fs-service/src/main/java/com/fs/course/service/IFsUserCourseVideoService.java

@@ -164,6 +164,9 @@ public interface IFsUserCourseVideoService
     List<FsCourseVideoListBySidebarVO> getFsCourseVideoListBySidebar(FsCourseListBySidebarParam param);
 
     R createMiniLink(FsCourseLinkMiniParam param);
+
+    R createCartLinkByFeiShu(FsCourseLinkMiniParam param);
+
     R createCartLink(FsCourseLinkMiniParam param);
 
     /**

+ 54 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -2326,6 +2326,60 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     }
 
 
+    @Override
+    public R createCartLinkByFeiShu(FsCourseLinkMiniParam param) {
+
+        QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(), param.getQwUserId().trim());
+
+        if (qwUser==null||qwUser.getCompanyId()==null||qwUser.getCompanyUserId()==null){
+            return R.error("员工未绑定 销售公司 或 销售 请先绑定");
+        }
+
+        QwCompany qwCompany = iQwCompanyService.getQwCompanyByRedis(param.getCorpId());
+
+        if (qwCompany == null ) {
+            return  R.error().put("msg","企业不存在,请联系管理员");
+        }
+
+        String json = configService.selectConfigByKey("course.config");
+        CourseConfig config = JSON.parseObject(json, CourseConfig.class);
+
+        if (config == null) {
+            return R.error().put("msg","课程默认配置为空,请联系管理员");
+        }
+
+        Long courseId = param.getCourseId();
+        //qw_user表的主键id
+        Long qwUserId = qwUser.getId();
+        Date createTime = DateUtils.getNowDate();
+        Long externalUserId = param.getExternalUserId();
+        Long videoId = param.getVideoId();
+        Long companyId = qwCompany.getId();
+        Long companyUserId = qwUser.getCompanyUserId();
+
+        addWatchLogIfNeeded(param.getVideoId(), param.getCourseId(),param.getFsUserId(),qwUser , param.getExternalUserId());
+
+        //2.创建课程短链
+        Map<String, String> feishuH5Link = createFeishuH5Link(param.getCorpId(), createTime, courseId.intValue(), videoId.intValue(), String.valueOf(qwUserId), companyUserId, companyId, externalUserId, config);
+        //获取生成的课程短链码
+        String shortCode = feishuH5Link.get("link");
+
+        //3.调用生成飞书注册授权链接
+        String feishuLink = feiShuService.getFeishuRegisterLink(videoId, companyId, courseId, companyUserId,shortCode);
+
+
+        //生成卡片链接
+        JSONObject news = new JSONObject(true); // true 表示保持字段顺序
+        news.put("linkTitle", param.getTitle());
+        news.put("linkDescribe", param.getTitle());
+        news.put("linkImageUrl", config.getSidebarImageUrl());
+        news.put("linkUrl", feishuLink);
+
+        return R.ok().put("data",news);
+
+    }
+
+
     //插入观看记录
     private void addWatchLogIfNeeded(Long videoId, Long courseId,
                                      Long fsUserId, QwUser qwUser,Long externalId) {