Selaa lähdekoodia

优化notion提前生成缓存业务

wjj 2 päivää sitten
vanhempi
commit
e1361c93e2

+ 15 - 12
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -1800,18 +1800,21 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                     }
                     break;
                 case "19" :
-                    log.info("生成notion看课记录参数:sopId:{},videoId:{},senTime:{},startTime:{}",sopLogs.getSopId(),videoId,sopLogs.getSendTime(),logVo.getStartTime());
-                    Long notionWatchLogId = addNotionWatchLog(sopLogs.getSopId(), videoId, courseId,
-                            sopLogs.getFsUserId(), qwUserId, companyUserId, companyId,
-                            Long.valueOf(externalId), sopLogs.getSendTime(), logVo.getStartTime());
-                    //2.创建课程短链
-                    createNotionLinkByMiniApp(setting, sopLogs.getCorpId(), sendTime, courseId, videoId,
-                            qwUserId, companyUserId, companyId, Long.valueOf(externalId), cachedCourseConfig);
-                    NotionPageRequest request = new NotionPageRequest();
-                    request.setTitle(setting.getLinkDescribe());
-                    request.setIframeUrl(notionLink + notionWatchLogId);
-                    NotionPageResponse page = notionService.createPage(request);
-                    redisCache.setCacheObject("notion_course:"+videoId+"_"+externalId+"_"+qwUserId,page.getPublicUrl(),3,TimeUnit.DAYS);
+                    String notionKey = "notion_course:"+videoId+"_"+externalId+"_"+qwUserId;
+                    String pageUrl = redisCache.getCacheObject(notionKey);
+                    if (StringUtils.isEmpty(pageUrl)) {
+                        Long notionWatchLogId = addNotionWatchLog(sopLogs.getSopId(), videoId, courseId,
+                                sopLogs.getFsUserId(), qwUserId, companyUserId, companyId,
+                                Long.valueOf(externalId), sopLogs.getSendTime(), logVo.getStartTime());
+                        //2.创建课程短链
+                        createNotionLinkByMiniApp(setting, sopLogs.getCorpId(), sendTime, courseId, videoId,
+                                qwUserId, companyUserId, companyId, Long.valueOf(externalId), cachedCourseConfig);
+                        NotionPageRequest request = new NotionPageRequest();
+                        request.setTitle(setting.getLinkDescribe());
+                        request.setIframeUrl(notionLink + notionWatchLogId);
+                        NotionPageResponse page = notionService.createPage(request);
+                        redisCache.setCacheObject(notionKey,page.getPublicUrl(),3,TimeUnit.DAYS);
+                    }
                     break;
                 default:
                     break;