三七 преди 2 месеца
родител
ревизия
16b01c2748

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

@@ -71,6 +71,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
     private static final String miniappRealLink = "/pages_course/video.html?course=";
     private static final String appRealLink = "/pages/courseAnswer/index?link=";
     private static final String appLink = "https://jump.ylrztop.com/jumpapp/pages/index/index?link=";
+    private static final String registerLink = "/registerCourse/pages/index?qwExternalId=";
 
     // Cached configurations and domain names
     private CourseConfig cachedCourseConfig;
@@ -839,6 +840,20 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                     setting.setLinkUrl(linkByApp.getSortLink());
                     setting.setAppLinkUrl(linkByApp.getAppMsgLink());
 
+                    break;
+                //注册链接
+                case "10":
+                    // 获取缓存的配置
+                    CourseConfig config;
+                    synchronized(configLock) {
+                        config = cachedCourseConfig;
+                    }
+                    if (config != null) {
+                        setting.setLinkUrl(config.getRegisterDomainName()+registerLink+externalId);
+                    }else {
+                        log.error("获取缓存的配置为空:注册链接");
+                    }
+
                     break;
                 default:
                     break;

+ 1 - 0
fs-service-system/src/main/java/com/fs/course/config/CourseConfig.java

@@ -14,6 +14,7 @@ public class CourseConfig implements Serializable {
     private Integer answerIntegral;//答题获得积分
     private Integer defaultLine;//默认看课线路
     private String realLinkDomainName;//真链域名
+    private String registerDomainName;//注册域名
     private String courseDomainName;//链接域名
     private Integer rewardType; // 奖励类型 1红包 2积分
     private Integer redPacketMode;//红包模式 1总公司 2销售公司

+ 46 - 23
fs-service-system/src/main/java/com/fs/qw/service/impl/QwExternalContactServiceImpl.java

@@ -12,6 +12,7 @@ import com.fs.common.core.redis.RedisCache;
 import com.fs.common.utils.PubFun;
 import com.fs.common.utils.StringUtils;
 import com.fs.company.service.ICompanyConfigService;
+import com.fs.course.config.CourseConfig;
 import com.fs.course.domain.FsCourseSop;
 import com.fs.course.domain.FsCourseSopLogs;
 import com.fs.course.domain.FsCourseWatchLog;
@@ -92,6 +93,7 @@ import java.util.stream.Stream;
 public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactMapper, QwExternalContact> implements IQwExternalContactService {
 
     private static final String miniappRealLink = "/pages_course/video.html?course=";
+    private static final String registerLink = "/registerCourse/pages/index?qwExternalId=";
 
     @Autowired
     private QwExternalContactMapper qwExternalContactMapper;
@@ -135,6 +137,7 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
     @Autowired
     private FsCourseLinkMapper fsCourseLinkMapper;
 
+
     @Autowired
     QwAutoTagsMapper qwAutoTagsMapper;
     @Autowired
@@ -1209,6 +1212,11 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
         QwContactWay wayId = null;
         SysConfig sysConfig = sysConfigService.selectConfigByConfigKey("qw.config");
         QwConfig qwConfig = JSON.parseObject(sysConfig.getConfigValue(), QwConfig.class);
+
+//
+//        String json = sysConfigService.selectConfigByKey("course.config");
+//        QwConfig qwConfig = JSON.parseObject(json, QwConfig.class);
+
         //先入客户
         QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalByExternalIdAndCompanyIdToIdAndFs(externalUserID, userID, corpId);
         boolean isNewQwExternalContact = qwExternalContact == null ? true : false;
@@ -2630,6 +2638,10 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
             return attachments;
         }
 
+        String json = sysConfigService.selectConfigByKey("course.config");
+        CourseConfig config = JSON.parseObject(json, CourseConfig.class);
+
+
         attachments.forEach(att -> {
             // 生成短链的条件判断
             if ("link".equals(att.getMsgtype())
@@ -2637,30 +2649,41 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
                     && !StringUtil.strIsNullOrEmpty(att.getLink().getVideoId())) {
 
                 try {
-                    FsCourseLinkCreateParam param = new FsCourseLinkCreateParam();
-                    param.setVideoId(Long.valueOf(att.getLink().getVideoId()));
-                    param.setQwUserId(String.valueOf(qwUser.getId()));
-                    param.setDays(att.getLink().getExpiresDays());
-                    param.setCorpId(corpId);
-                    param.setCourseId(Long.valueOf(att.getLink().getCourseId()));
-                    param.setCompanyUserId(qwUser.getCompanyUserId());
-                    param.setCompanyId(qwUser.getCompanyId());
-                    param.setQwExternalId(qwExternalId);
-                    param.setSendTime(new Date());
-
-                    // 调用服务生成短链
-                    R linkUrl = iFsCourseLinkService.createLinkUrlWc(param);
-
-                    if (linkUrl != null && linkUrl.get("url") != null) {
-                        att.getLink().setUrl(linkUrl.get("url").toString());
+                    //发课程
+                    if (att.getLink().getIsFixed()==0){
+                        FsCourseLinkCreateParam param = new FsCourseLinkCreateParam();
+                        param.setVideoId(Long.valueOf(att.getLink().getVideoId()));
+                        param.setQwUserId(String.valueOf(qwUser.getId()));
+                        param.setDays(att.getLink().getExpiresDays());
+                        param.setCorpId(corpId);
+                        param.setCourseId(Long.valueOf(att.getLink().getCourseId()));
+                        param.setCompanyUserId(qwUser.getCompanyUserId());
+                        param.setCompanyId(qwUser.getCompanyId());
+                        param.setQwExternalId(qwExternalId);
+                        param.setSendTime(new Date());
+
+                        // 调用服务生成短链
+                        R linkUrl = iFsCourseLinkService.createLinkUrlWc(param);
+
+                        if (linkUrl != null && linkUrl.get("url") != null) {
+                            att.getLink().setUrl(linkUrl.get("url").toString());
+                        }
+                        //生成观看记录
+                        addWatchLogIfNeeded(Integer.valueOf(att.getLink().getVideoId()),
+                                Integer.valueOf(att.getLink().getCourseId()),
+                                String.valueOf(qwUser.getId()),
+                                String.valueOf(qwUser.getCompanyUserId()),
+                                String.valueOf(qwUser.getCompanyId()),
+                                String.valueOf(qwExternalId));
+                    }else if (att.getLink().getIsFixed()==1){
+
+                        if (config != null) {
+                            att.getLink().setUrl(config.getRegisterDomainName()+registerLink+qwExternalId);
+                        }else {
+                            logger.error("企业配置信息为空:发送注册链接失败");
+                        }
                     }
-                    //生成观看记录
-                    addWatchLogIfNeeded(Integer.valueOf(att.getLink().getVideoId()),
-                            Integer.valueOf(att.getLink().getCourseId()),
-                            String.valueOf(qwUser.getId()),
-                            String.valueOf(qwUser.getCompanyUserId()),
-                            String.valueOf(qwUser.getCompanyId()),
-                            String.valueOf(qwExternalId));
+
 
                 } catch (Exception e) {
                     logger.error("欢迎语生成短链失败:", e);

+ 3 - 1
fs-service-system/src/main/java/com/fs/qw/service/impl/QwFriendWelcomeServiceImpl.java

@@ -54,6 +54,9 @@ public class QwFriendWelcomeServiceImpl implements IQwFriendWelcomeService
     @Autowired
     private QwApiService qwApiService;
 
+
+    private static final String registerLink = "/registerCourse/pages/index?qwExternalId=";
+
     /**
      * 查询好友欢迎语
      *
@@ -148,7 +151,6 @@ public class QwFriendWelcomeServiceImpl implements IQwFriendWelcomeService
                                 return R.error("图片link上传失败:"+uploadimg.getErrMsg());
                             }
 
-
                         } catch (Exception e) {
                             return R.error("图片link上传出错:"+e);
 //                            throw new RuntimeException("insertQwFriendWelcomeVO-attachment/link:"+e);

+ 1 - 0
fs-service-system/src/main/java/com/fs/qwApi/param/SendWelcomeMsgParam.java

@@ -36,6 +36,7 @@ public class SendWelcomeMsgParam {
             private String courseId; // 链接的课程id
             private String videoId; // 链接的课节id
             private Integer expiresDays; // 链接的过期时间
+            private Integer isFixed; // 链接的过期时间
         }
         @Data
         // 用于小程序附件

+ 8 - 1
fs-service-system/src/main/java/com/fs/sop/service/impl/QwSopLogsServiceImpl.java

@@ -1082,7 +1082,14 @@ public class QwSopLogsServiceImpl implements IQwSopLogsService
     @Override
     public QwExternalContactByQwResult getExternalContactByAppKey(String appKey) {
 
-        return  qwExternalContactMapper.getExternalContactByAppKey(appKey);
+//        qwExternalContactMapper.getExternalContactByAppKey(appKey);
+
+
+        QwExternalContactByQwResult contactByQwResult=new QwExternalContactByQwResult();
+        contactByQwResult.setExternalUserId("111222333444555666");
+        contactByQwResult.setName("你好");
+
+        return  contactByQwResult;
     }
 
     //

+ 5 - 0
fs-service-system/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java

@@ -66,6 +66,7 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
     private static final String miniappRealLink = "/pages_course/video.html?course=";
     private static final String appRealLink = "/pages/courseAnswer/index?link=";
     private static final String appLink = "https://jump.ylrztop.com/jumpapp/pages/index/index?link=";
+    private static final String registerLink = "/registerCourse/pages/index?qwExternalId=";
 //    private static final String miniappRealLink = "/pages/index/index?course=";
 
     @Autowired
@@ -493,6 +494,10 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                         st.setLinkUrl(linkByApp.getSortLink());
                         st.setAppLinkUrl(linkByApp.getAppMsgLink());
 
+                        break;
+                    //注册链接
+                    case "10":
+                        st.setLinkUrl(config.getRegisterDomainName()+registerLink+item.getExternalId());
                         break;
                     default:
                         break;