Browse Source

修改sop发飞书逻辑4

cgp 3 ngày trước cách đây
mục cha
commit
44fe8bbca6

+ 11 - 11
fs-ipad-task/src/main/java/com/fs/app/service/IpadSendServer.java

@@ -357,11 +357,10 @@ public class IpadSendServer {
      * 完善飞书注册链接
      * */
     public QwSopCourseFinishTempSetting.Setting completeFeishuRegisterLink(BaseVo vo, QwSopCourseFinishTempSetting.Setting content,QwSopLogs qwSopLogs,Long externalId) {
-
-            //初始链接
+            //初始虚拟飞书链接
             String initUrl = content.getLinkUrl();
-            // 1. 从初始链接提取携带的短链
         try {
+            // 1. 从虚拟飞书链接提取携带的短链
             String shortLink = extractLastPathSegment(initUrl);
             FsCourseLink fsCourseLink = courseLinkMapper.selectFsCourseLinkByLink(shortLink);
             Long companyId = fsCourseLink.getCompanyId();
@@ -371,22 +370,23 @@ public class IpadSendServer {
             //从缓存取出docId;account
             String docIdKey=FEISHU_DOC_ID + externalId+ "_" + videoId;
             String feiShuDocId = redisCache.getCacheObject(docIdKey);
-            //根据初始链接组装真实链接
-            String completeFeiShuLinkUrl = replaceShortLinkInUrl(initUrl, feiShuDocId);
             if (StringUtils.isBlank(feiShuDocId)) {
-                //调用飞书API直接获取完整飞书链接
+                log.error("未命中飞书缓存key:{}",docIdKey);
+                //如果缓存中的docId为空,则调用飞书API直接获取完整飞书链接
                 String feishuRegisterLink = feiShuService.getFeishuRegisterLink(videoId, companyId, courseId, companyUserId, shortLink);
                 content.setLinkUrl(feishuRegisterLink);
                 //更新qwSopLogs
-                qwSopLogsService.updateLinkUrlInContentJson(qwSopLogs, completeFeiShuLinkUrl);
+                qwSopLogsService.updateLinkUrlInContentJson(qwSopLogs, feishuRegisterLink);
                 return content;
             }
-
-            String clientKey = FEISHU_CLIENT+feiShuDocId;
-            String accountStr = redisCache.getCacheObject(clientKey);
+            log.error("命中飞书缓存key:{}",docIdKey);
+            //根据虚拟飞书链接组装真实飞书链接
+            String completeFeiShuLinkUrl = replaceShortLinkInUrl(initUrl, feiShuDocId);
+            String amountKey = FEISHU_CLIENT+feiShuDocId;
+            //从缓存取出account
+            String accountStr = redisCache.getCacheObject(amountKey);
             FeishuAccount account = JSONUtil.toBean(accountStr, FeishuAccount.class);
 
-            //如果缓存中的docId为空,则从feishu接口创建新的docId
             Client client = buildClient(account);
 
             //更新qwSopLogs

+ 1 - 0
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -1236,6 +1236,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
                     //3.调用生成飞书注册授权链接(这个是在ipad发送时取缓存的docId)
                     String feishuLink = feiShuService.getNewFeishuRegisterLink(videoId,companyIdLong,courseId,companyUserIdLong,shortLink);
+//                    String feishuLink = feiShuService.getFeishuRegisterLink(videoId,companyIdLong,courseId,companyUserIdLong,shortLink);
                     if (StringUtils.isNotEmpty(feishuLink)) {
                         setting.setLinkUrl(feishuLink);
                     }

+ 2 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -2365,7 +2365,8 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         String shortCode = feishuH5Link.get("link");
 
         //3.调用生成飞书注册授权链接
-        String feishuLink = feiShuService.getFeishuRegisterLink(videoId, companyId, courseId, companyUserId,shortCode);
+//        String feishuLink = feiShuService.getFeishuRegisterLink(videoId, companyId, courseId, companyUserId,shortCode);
+        String feishuLink = feiShuService.getNewFeishuRegisterLink(videoId, companyId, courseId, companyUserId,shortCode);
 
 
         //生成卡片链接

+ 8 - 4
fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java

@@ -719,7 +719,8 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                                 String shortCode = feishuH5Link.get("link");
 
                                 //3.调用生成飞书注册授权链接
-                                String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
+//                                String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
+                                String feishuLink = feiShuService.getNewFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
 
                                 if (StringUtils.isNotEmpty(feishuLink)) {
 
@@ -887,7 +888,8 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                                 String shortCode = feishuH5Link.get("link");
 
                                 //3.调用生成飞书注册授权链接
-                                String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
+//                                String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
+                                String feishuLink = feiShuService.getNewFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
 
                                 if (StringUtils.isNotEmpty(feishuLink)) {
 
@@ -1236,7 +1238,8 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                             String shortCode = feishuH5Link.get("link");
 
                             //3.调用生成飞书注册授权链接
-                            String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
+//                            String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
+                            String feishuLink = feiShuService.getNewFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortCode);
 
                             if (StringUtils.isNotEmpty(feishuLink)) {
 
@@ -1928,7 +1931,8 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                     String shortLink = feishuH5Link.get("link");
 
                     //3.调用生成飞书注册授权链接
-                    String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortLink);
+//                    String feishuLink = feiShuService.getFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortLink);
+                    String feishuLink = feiShuService.getNewFeishuRegisterLink(videoId.longValue(), companyIdLong, courseId.longValue(), companyUserIdLong,shortLink);
 
                     if (StringUtils.isNotEmpty(feishuLink)) {
                         // 替换占位符