Browse Source

isAddKf逻辑调整

Long 6 days ago
parent
commit
9934a313ed

+ 8 - 20
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -1579,27 +1579,20 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
             return ResponseResult.fail(405,"当前销售不存在");
         }
 
-        //判断:1、如果没有绑定销售,就返回给客服的微信图片;
-        //2、如果只绑定了当前销售,需要添加看课记录(正常流程);
-        //3、以上都不是,则标识重粉,需要加入关系表,并打上重粉标签
-        FsUserCompanyUser userCompanyUser = userCompanyUserService.selectByUserIdAndProjectId(fsUser.getUserId(), param.getProjectId());
-
         // 获取课程所属项目id
         FsUserCourse fsUserCourse = fsUserCourseMapper.selectFsUserCourseByCourseId(param.getCourseId());
-        Long courseProject = null;
-        if(fsUserCourse != null){
-            courseProject = fsUserCourse.getProject();
+        Long courseProject = fsUserCourse.getProject();
+        if(Objects.isNull(courseProject)){
+            return ResponseResult.fail(504, "课程配置错误,项目归属为空,课程ID: " + param.getCourseId());
         }
 
-        if (ObjectUtils.isEmpty(param.getProjectId())){
-            param.setProjectId(courseProject);
-        }
+        // 查询【用户-项目】关系
+        FsUserCompanyUser userCompanyUser = userCompanyUserService.selectByUserIdAndProjectId(fsUser.getUserId(), courseProject);
 
         // 添加逻辑:如果存在fs_user表数据,但是又不存在fs_user_company_user表,则表示是以前企微看课的,需要手动绑定
-
         if(Objects.isNull(userCompanyUser)) {
             if(fsUser.getCompanyUserId() == null && fsUser.getIsAddQw() == 1){
-                userCompanyUser = userCompanyUserService.bindRelationship(fsUser.getUserId(), param.getProjectId(), param.getCompanyId(), param.getCompanyUserId(), 1);
+                userCompanyUser = userCompanyUserService.bindRelationship(fsUser.getUserId(), courseProject, param.getCompanyId(), param.getCompanyUserId(), 1);
             }else {
                 Company company = companyService.selectCompanyById(param.getCompanyId());
                 if((companyUser.getIsAllowedAllRegister() !=null && companyUser.getIsAllowedAllRegister() != 1)){
@@ -1609,7 +1602,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
                     return ResponseResult.fail(504,"请联系销售发送邀请链接成为会员!");
                 }
                 int defaultStatus = (company != null ? company.getFsUserIsDefaultBlack() : 0) == 1 ? 0 : 1;
-                userCompanyUser = userCompanyUserService.bindRelationship(param.getUserId(), param.getProjectId(), companyUser.getCompanyId(), companyUser.getUserId(), defaultStatus);
+                userCompanyUser = userCompanyUserService.bindRelationship(param.getUserId(), courseProject, companyUser.getCompanyId(), companyUser.getUserId(), defaultStatus);
             }
         }
 
@@ -1636,17 +1629,12 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
 //        FsCourseWatchLog watchCourseVideo = courseWatchLogMapper.getWatchCourseVideoByFsUser(param.getUserId(), param.getVideoId(), param.getCompanyUserId());
         FsCourseWatchLog watchCourseVideo = courseWatchLogMapper.getCourseWatchLogByUser(param.getUserId(), param.getVideoId());
 
-        // 项目校验
-        if (Objects.isNull(courseProject) || !courseProject.equals(param.getProjectId())) {
-            return ResponseResult.fail(504, "课程项目不匹配");
-        }
-
         if (!isUserCoursePeriodValid(param)) {
             return ResponseResult.fail(504, "请观看最新的课程项目");
         }
         // 项目看课数限制
         if(!"福本源".equals(signProjectName) && !"宽益堂".equals(signProjectName)) {
-            Integer logCount = fsUserCourseMapper.selectTodayCourseWatchLogCountByUserIdAndProjectId(param.getUserId(), param.getProjectId());
+            Integer logCount = fsUserCourseMapper.selectTodayCourseWatchLogCountByUserIdAndProjectId(param.getUserId(), courseProject);
             if (Objects.isNull(watchCourseVideo) && logCount > 0) {
                 return ResponseResult.fail(504, "超过项目看课数量限制");
             }