cgp 3 napja
szülő
commit
5a139fc577

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

@@ -382,6 +382,7 @@ public class IpadSendServer {
                 param.setVideoId(videoId);
                 param.setLink(shortLink);
                 param.setUserId(qwSopLogs.getFsUserId());
+                param.setLogId(logId);
                 String feishuRegisterLink = feiShuService.getFeishuCoursePageLink(param);
                 content.setLinkUrl(feishuRegisterLink);
                 //更新qwSopLogs
@@ -400,7 +401,7 @@ public class IpadSendServer {
             //更新qwSopLogs
             qwSopLogsService.updateLinkUrlInContentJson(qwSopLogs, completeFeiShuLinkUrl);
             content.setLinkUrl(completeFeiShuLinkUrl);
-            String authUrl = buildCourseLink(companyId, companyUserId, courseId, videoId, qwSopLogs.getFsUserId(), fsCourseLink,logId);
+            String authUrl = buildNewFeiSHuCourseLink(companyId, companyUserId, courseId, videoId, qwSopLogs.getFsUserId(), fsCourseLink,logId);
             // ============ 异步调用飞书API完善文档内容与文档权限 ============
             //异步之前要做个判断,如果缓存中的课程填充标识为true,则不需要进行异步处理(因为已经填充过了)
             if (!account.getDocumentIdFillFlag()){
@@ -498,24 +499,12 @@ public class IpadSendServer {
         }
     }
 
-    private String buildCourseLink(Long companyId, Long companyUserId, Long courseId,
+    private String buildNewFeiSHuCourseLink(Long companyId, Long companyUserId, Long courseId,
                                       Long videoId, Long userId, FsCourseLink fsCourseLink,Long logId) {
         CourseConfig config = getCourseConfig();
-        Map<String, Object> courseParam = new LinkedHashMap<>();
-        courseParam.put("companyUserId", companyUserId);
-        courseParam.put("videoId", videoId);
-        courseParam.put("companyId", companyId);
-        courseParam.put("courseId", courseId);
-        courseParam.put("link", fsCourseLink.getLink());
-        courseParam.put("logId", logId);
-        courseParam.put("corpId", fsCourseLink.getCorpId());
-        courseParam.put("linkType", fsCourseLink.getLinkType());
-        courseParam.put("qwExternalId", fsCourseLink.getQwExternalId());
-        courseParam.put("qwUserId", fsCourseLink.getQwUserId());
         try {
-            String encodedJson = URLEncoder.encode(JSONUtil.toJsonStr(courseParam), "UTF-8");
             String fullUrl = config.getFeishuCourseDomain() +
-                    "/feishuCourse/pages_course/video?course=" + encodedJson + "&userId=" + userId;
+                    "/feishuCourseNew/pages_course/videoDetail?logId=" + logId;
             return URLEncoder.encode(fullUrl, "UTF-8");
         } catch (UnsupportedEncodingException e) {
             throw new CustomException("看课URL拼接失败", e);

+ 3 - 0
fs-service/src/main/java/com/fs/feishu/model/FeishuLinkParam.java

@@ -38,4 +38,7 @@ public class FeishuLinkParam implements Serializable {
     //飞书看课短链码
     private  String link;
 
+    //待看课记录id
+    private Long logId;
+
 }

+ 22 - 7
fs-service/src/main/java/com/fs/feishu/service/FeiShuService.java

@@ -232,8 +232,8 @@ public class FeiShuService {
                 Client client = buildClient(account);
                 try {
                     String docId = docApiService.createDocument(client, userCourseVideo.getTitle());
-                    String courseUrl = buildCourseNewLink(param.getCompanyId(), param.getCompanyUserId(),
-                            param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink());
+                    String courseUrl = buildNewFeiSHuCourseLink(param.getCompanyId(), param.getCompanyUserId(),
+                            param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink(),param.getLogId());
                     docApiService.createIframeBlock(client, docId, courseUrl);
                     docApiService.changeDocumentPermissions(client, docId);
 
@@ -283,8 +283,8 @@ public class FeiShuService {
             FeishuAccount account = wrapper.getAccount();
             try {
                 String docId = docApiService.createDocument(client, userCourseVideo.getTitle());
-                String courseUrl = buildCourseNewLink(param.getCompanyId(), param.getCompanyUserId(),
-                        param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink());
+                String courseUrl = buildNewFeiSHuCourseLink(param.getCompanyId(), param.getCompanyUserId(),
+                        param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink(),param.getLogId());
                 docApiService.createIframeBlock(client, docId, courseUrl);
                 docApiService.changeDocumentPermissions(client, docId);
                 FsCourseLink fsCourseLink = courseLinkMapper.selectFsCourseLinkByLink(param.getLink());
@@ -355,7 +355,7 @@ public class FeiShuService {
                 try {
                     String docId = docApiService.createDocument(client, userCourseVideo.getTitle());
                     String courseUrl = buildCourseNewLink(param.getCompanyId(), param.getCompanyUserId(),
-                            param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink());
+                            param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink(),param.getLogId());
                     docApiService.createIframeBlock(client, docId, courseUrl);
                     docApiService.changeDocumentPermissions(client, docId);
                     String result = "https://www.feishu.cn/docx/" + docId;
@@ -396,7 +396,7 @@ public class FeiShuService {
             try {
                 String docId = docApiService.createDocument(client, userCourseVideo.getTitle());
                 String courseUrl = buildCourseNewLink(param.getCompanyId(), param.getCompanyUserId(),
-                        param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink());
+                        param.getCourseId(), param.getVideoId(), param.getUserId(), param.getLink(),param.getLogId());
                 docApiService.createIframeBlock(client, docId, courseUrl);
                 docApiService.changeDocumentPermissions(client, docId);
                 String result = "https://www.feishu.cn/docx/" + docId;
@@ -490,7 +490,7 @@ public class FeiShuService {
     // ==================== URL构建 ====================
 
     private String buildCourseNewLink(Long companyId, Long companyUserId, Long courseId,
-                                      Long videoId, Long userId, String link) {
+                                      Long videoId, Long userId, String link,Long logId) {
         CourseConfig config = getCourseConfig();
         Map<String, Object> courseParam = new LinkedHashMap<>();
         courseParam.put("companyUserId", companyUserId);
@@ -516,6 +516,21 @@ public class FeiShuService {
         }
     }
 
+    /**
+     * 新飞书逻辑
+     * */
+    private String buildNewFeiSHuCourseLink(Long companyId, Long companyUserId, Long courseId,
+                                      Long videoId, Long userId, String link,Long logId) {
+        CourseConfig config = getCourseConfig();
+        try {
+            String fullUrl = config.getFeishuCourseDomain() +
+                    "/feishuCourseNew/pages_course/videoDetail?logId=" + logId;
+            return URLEncoder.encode(fullUrl, "UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            throw new CustomException("看课URL拼接失败", e);
+        }
+    }
+
     private String buildAuthLink(Long companyId, Long companyUserId, Long courseId,
                                  Long videoId, String shortLink) {
         CourseConfig config = getCourseConfig();