1
0

4 Commity 7539c2f546 ... b21f9bd0fa

Autor SHA1 Správa Dátum
  yfh b21f9bd0fa Merge remote-tracking branch 'origin/master' 1 deň pred
  yfh 401a8ffdb9 Merge remote-tracking branch 'origin/master' 2 dní pred
  yfh f4f99ad87f Merge remote-tracking branch 'origin/master' 2 dní pred
  yfh cb0021c1ea 新增营期单独注册功能 2 dní pred

+ 17 - 0
fs-company-app/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -9,7 +9,9 @@ import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.StringUtils;
+import com.fs.company.domain.CompanyMiniapp;
 import com.fs.company.domain.CompanyUser;
+import com.fs.company.service.ICompanyMiniappService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.course.domain.FsUserCoursePeriod;
 import com.fs.course.dto.BatchSendCourseDTO;
@@ -80,6 +82,9 @@ public class FsUserCourseVideoController extends AppBaseController {
     @Autowired
     private ILiveService liveService;
 
+    @Autowired
+    private ICompanyMiniappService companyMiniappService;
+
     @Login
     @GetMapping("/pageList")
     @ApiOperation("课程分页列表")
@@ -91,7 +96,19 @@ public class FsUserCourseVideoController extends AppBaseController {
         PageInfo<FsUserCourseVideoPageListVO> pageInfo = new PageInfo<>(list);
         return ResponseResult.ok(pageInfo);
     }
+    @Login
+    @ApiOperation("获取看课使用小程序")
+    @GetMapping("/getLoginMiniAppId/{appId}")
+    public R getLoginMiniAppId(@PathVariable String appId) {
+        CompanyMiniapp params =  new CompanyMiniapp();
+        params.setCompanyId(getCompanyId());
+        List<CompanyMiniapp> miniApps = companyMiniappService.selectCompanyMiniappList(params);
+        if (miniApps != null) {
+            appId = miniApps.stream().min(Comparator.comparing(CompanyMiniapp::getSortNum)).map(CompanyMiniapp::getAppId).orElse(appId);
+        }
 
+        return R.ok().put("data", appId);
+    }
     @Login
     @ApiOperation("课程视频详情")
     @GetMapping(value = "/videoDetails")

+ 2 - 1
fs-service/src/main/java/com/fs/course/domain/FsUserCoursePeriod.java

@@ -117,5 +117,6 @@ public class FsUserCoursePeriod
      * 营期线,即营期首次播放课程的日期
      */
     private Date periodLine;
-
+    /** 是否需要单独注册会员,1-是,0-否(用于个微销售分享看课) */
+    private Integer isNeedRegisterMember;
 }

+ 6 - 2
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -2157,7 +2157,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         if(Objects.isNull(courseProject)){
             return ResponseResult.fail(504, "课程配置错误,项目归属为空,课程ID: " + param.getCourseId());
         }
-
+        FsUserCoursePeriod fsUserCoursePeriod = fsUserCoursePeriodMapper.selectFsUserCoursePeriodById(param.getPeriodId());
         FsUserCompanyUser userCompanyUser = userCompanyUserService.selectByUserIdAndProjectId(fsUser.getUserId(), courseProject);
 
         // 添加逻辑:如果存在fs_user表数据,但是又不存在fs_user_company_user表,则表示是以前企微看课的,需要手动绑定
@@ -2166,10 +2166,14 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
                 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)){
                     return ResponseResult.fail(504,"当前销售禁止绑定会员,请联系销售!");
                 }
-                if (companyUser.getIsNeedRegisterMember() == null || companyUser.getIsNeedRegisterMember() == 1){
+                if (companyUser.getIsNeedRegisterMember() == null || companyUser.getIsNeedRegisterMember() == 1
+                        ||(ObjectUtils.isNotEmpty(fsUserCoursePeriod)
+                        &&ObjectUtils.isNotEmpty(fsUserCoursePeriod.getIsNeedRegisterMember())
+                        &&fsUserCoursePeriod.getIsNeedRegisterMember().equals(1))){
                     return ResponseResult.fail(504,"请联系销售发送邀请链接成为会员!");
                 }
                 int defaultStatus = (company != null ? company.getFsUserIsDefaultBlack() : 0) == 1 ? 0 : 1;

+ 2 - 1
fs-service/src/main/java/com/fs/course/vo/FsUserCoursePeriodVO.java

@@ -88,5 +88,6 @@ public class FsUserCoursePeriodVO implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "营期线", width = 31, dateFormat = "yyyy-MM-dd")
     private Date periodLine;
-
+    /** 是否需要单独注册会员,1-是,0-否(用于个微销售分享看课) */
+    private Integer isNeedRegisterMember;
 }

+ 5 - 0
fs-service/src/main/resources/mapper/course/FsUserCoursePeriodMapper.xml

@@ -21,6 +21,7 @@
         <result property="courseLogo"    column="course_logo"    />
         <result property="openCommentStatus"    column="open_comment_status"    />
         <result property="periodLine"    column="period_line"    />
+        <result property="isNeedRegisterMember"    column="is_need_register_member"    />
     </resultMap>
 
     <sql id="selectFsUserCoursePeriodVo">
@@ -48,6 +49,7 @@
         SELECT
         fs_user_course_period.period_id,
         fs_user_course_period.period_name,
+        fs_user_course_period.is_need_register_member,
         fs_user_course_period.company_id,
         fs_user_course_period.training_camp_id,
         fs_user_course_period.create_time,
@@ -95,6 +97,7 @@
         insert into fs_user_course_period
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="periodId != null">period_id,</if>
+            <if test="isNeedRegisterMember != null">is_need_register_member,</if>
             <if test="periodName != null">period_name,</if>
             <if test="companyId != null">company_id,</if>
             <if test="trainingCampId != null">training_camp_id,</if>
@@ -117,6 +120,7 @@
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="periodId != null">#{periodId},</if>
+            <if test="isNeedRegisterMember != null">#{isNeedRegisterMember},</if>
             <if test="periodName != null">#{periodName},</if>
             <if test="companyId != null">#{companyId},</if>
             <if test="trainingCampId != null">#{trainingCampId},</if>
@@ -143,6 +147,7 @@
         update fs_user_course_period
         <trim prefix="SET" suffixOverrides=",">
             <if test="periodName != null">period_name = #{periodName},</if>
+            <if test="isNeedRegisterMember != null">is_need_register_member = #{isNeedRegisterMember},</if>
             <if test="companyId != null">company_id = #{companyId},</if>
             <if test="trainingCampId != null">training_camp_id = #{trainingCampId},</if>
             <if test="createTime != null">create_time = #{createTime},</if>