周洋 il y a 2 jours
Parent
commit
0b84f41485

+ 34 - 4
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -703,6 +703,8 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         }else {
             log = courseWatchLogMapper.getWatchCourseVideoByExt(qwExternalId, param.getVideoId(),param.getQwUserId());
             if (log==null ){
+
+                //如果没找到看课记录找
                 //return addCustomerService(param.getQwUserId(),msg);
                 return R.error(msg);
             }
@@ -720,9 +722,9 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         List<QwExternalContact> qwExternalContacts = qwExternalContactMapper.selectQwExternalContactByMiniUserId(param.getUserId());
 
 
-        //如果查不出来客户信息,加好友
+        //如果查不出来客户信息
         if(externalContact==null){
-            //return addCustomerService(param.getQwUserId(),msg);
+
             return R.error(msg);
         }
 
@@ -730,8 +732,36 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         if (externalContact.getFsUserId()!=null){
             //有客户有小程序id  但 登录的小程序id和根据外部联系人id查出来的小程序id不一致
             if (!externalContact.getFsUserId().equals(param.getUserId())) {
-                //return addCustomerService(param.getQwUserId(),msg);
-                return R.error(msg);
+                List<QwExternalContact> qwExternalContact2 = qwExternalContactMapper.selectQwExternalByUnionID(fsUser.getUnionId());
+                if (qwExternalContact2!=null&& !qwExternalContact2.isEmpty()){
+                    QwExternalContact UnionEXt=qwExternalContact2.get(0);
+                    for (QwExternalContact qwExternalContact : qwExternalContact2) {
+                        qwExternalContact.setFsUserId(fsUser.getUserId());
+                        qwExternalContactMapper.updateQwExternalContact(qwExternalContact);
+                        try {
+                            if (qwExternalContact.getQwUserId().equals(Long.parseLong(param.getQwUserId()))){
+                                UnionEXt=qwExternalContact;
+                            }
+                        }catch (Exception e){
+                            logger.info("群聊链接匹配销售失败");
+                        }
+
+                    }
+                    logger.info("匹配到的第一个企微用户:"+UnionEXt.getUserId());
+                    logger.info("企微id:"+UnionEXt.getId());
+                    logger.info("用户:"+param.getVideoId());
+                    logger.info("企微用户:"+param.getQwUserId());
+                    param.setQwExternalId(UnionEXt.getId());
+                    if (log.getUserId()==null||log.getUserId().equals(0L) || !log.getUserId().equals(param.getUserId())){
+                        log.setUserId(param.getUserId());
+                    }
+                    log.setUpdateTime(new Date());
+                    courseWatchLogMapper.updateFsCourseWatchLog(log);
+                    externalContact.setFsUserId(fsUser.getUserId());
+                }else {
+                    return R.error(msg);
+                }
+
             }
             //匹配客户公司id
             if (qwExternalContacts.stream().noneMatch(contact -> contact.getCorpId().equals(param.getCorpId()))){