Bläddra i källkod

会员关联项目

Long 3 veckor sedan
förälder
incheckning
b1c2cf98ac

+ 13 - 0
fs-admin/src/main/java/com/fs/course/controller/FsUserCourseVideoController.java

@@ -10,11 +10,13 @@ import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.core.security.LoginUser;
 import com.fs.core.web.service.TokenService;
+import com.fs.course.domain.FsUserCourse;
 import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.course.mapper.FsUserCourseVideoMapper;
 import com.fs.course.param.BatchRedUpdate;
 import com.fs.course.param.BatchVideoSvae;
 import com.fs.course.param.CourseVideoUpdates;
+import com.fs.course.service.IFsUserCourseService;
 import com.fs.course.service.IFsUserCourseVideoService;
 import com.fs.his.vo.OptionsVO;
 import com.github.pagehelper.PageHelper;
@@ -45,6 +47,8 @@ public class FsUserCourseVideoController extends BaseController
 
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private IFsUserCourseService fsUserCourseService;
 
     /**
      * 查询课堂视频列表
@@ -101,6 +105,10 @@ public class FsUserCourseVideoController extends BaseController
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         Long userId = loginUser.getUser().getUserId();
         fsUserCourseVideo.setUserId(userId);
+
+        // 设置项目ID
+        FsUserCourse fsUserCourse = fsUserCourseService.selectFsUserCourseByCourseId(fsUserCourseVideo.getCourseId());
+        fsUserCourseVideo.setProjectId(fsUserCourse.getProject());
         return toAjax(fsUserCourseVideoService.insertFsUserCourseVideo(fsUserCourseVideo));
     }
 
@@ -154,6 +162,11 @@ public class FsUserCourseVideoController extends BaseController
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         Long userId = loginUser.getUser().getUserId();
         vo.setUserId(userId);
+
+        // 设置项目ID
+        FsUserCourse fsUserCourse = fsUserCourseService.selectFsUserCourseByCourseId(vo.getCourseId());
+        vo.setProjectId(fsUserCourse.getProject());
+
         fsUserCourseVideoService.batchSaveVideo(vo);
         return R.ok();
     }

+ 5 - 0
fs-service-system/src/main/java/com/fs/course/domain/FsUserCourseVideo.java

@@ -100,4 +100,9 @@ public class FsUserCourseVideo extends BaseEntity
 
     private Long userId;
 
+    /**
+     * 项目ID
+     */
+    private Long projectId;
+
 }

+ 3 - 3
fs-service-system/src/main/java/com/fs/course/param/BatchVideoSvae.java

@@ -1,10 +1,7 @@
 package com.fs.course.param;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
-import java.math.BigDecimal;
-import java.time.LocalTime;
 import java.util.List;
 
 @Data
@@ -12,4 +9,7 @@ public class BatchVideoSvae {
     private Long courseId;
     private Long userId;
     private List<Long> ids;
+
+    // 项目ID
+    private Long projectId;
 }

+ 1 - 0
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -1276,6 +1276,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
             entity.setFileKey(e.getFileKey());
             entity.setIsTranscode(0);
             entity.setUserId(vo.getUserId());
+            entity.setProjectId(vo.getProjectId());
             return entity;
         }).collect(Collectors.toList());
         fsUserCourseVideoMapper.insertBatchFsUserCourseVideo(collect);

+ 3 - 0
fs-service-system/src/main/java/com/fs/course/vo/newfs/FsUserCourseVideoPageListVO.java

@@ -57,4 +57,7 @@ public class FsUserCourseVideoPageListVO extends BaseEntity {
     @ApiModelProperty(value = "课程结束时间")
     private Date endDateTime;
 
+    @ApiModelProperty(value = "项目ID")
+    private Long projectId;
+
 }

+ 9 - 1
fs-service-system/src/main/resources/db/upgrade/20250625会员关联项目.sql

@@ -3,4 +3,12 @@ alter table fs_user_company_user
     add column project_id bigint comment '课程项目ID';
 
 alter table fs_user_company_user add constraint uk_user_project
-    unique (user_id, project_id);
+    unique (user_id, project_id);
+
+alter table fs_user_company_user
+    add column qw_user_id bigint comment '企微用户ID',
+    add column qw_external_contact_id bigint comment '企微外部联系人ID',
+    add column qw_company_id bigint comment '企微主体ID';
+
+alter table fs_user_course_video
+    add column project_id bigint comment '项目ID';

+ 11 - 3
fs-service-system/src/main/resources/mapper/course/FsUserCourseVideoMapper.xml

@@ -35,6 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="viewStartTime"    column="view_start_time"    />
         <result property="viewEndTime"    column="view_end_time"    />
         <result property="lastJoinTime"    column="last_join_time"    />
+        <result property="projectId"    column="project_id"    />
     </resultMap>
 
     <sql id="selectFsUserCourseVideoVo">
@@ -56,6 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="courseSort != null "> and course_sort = #{courseSort}</if>
             <if test="questionBankId != null "> and question_bank_id = #{questionBankId}</if>
             <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="projectId != null "> and project_id = #{projectId}</if>
         </where>
     </select>
 
@@ -97,6 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="viewEndTime != null">view_end_time,</if>
             <if test="lastJoinTime != null">last_join_time,</if>
             <if test="userId != null">user_id,</if>
+            <if test="projectId != null">project_id,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fileId != null">#{fileId},</if>
@@ -129,6 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="viewEndTime != null">#{viewEndTime},</if>
             <if test="lastJoinTime != null">#{lastJoinTime},</if>
             <if test="userId != null">#{userId},</if>
+            <if test="projectId != null">#{projectId},</if>
          </trim>
     </insert>
     <insert id="insertBatchFsUserCourseVideo" parameterType="FsUserCourseVideo" useGeneratedKeys="true" keyProperty="videoId">
@@ -150,7 +154,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         file_size,
         file_key,
         is_transcode,
-        user_id
+        user_id,
+        project_id
         )
         values
         <foreach collection="collect" item="item" separator=",">
@@ -171,7 +176,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{item.fileSize},
             #{item.fileKey},
             #{item.isTranscode},
-            #{item.userId}
+            #{item.userId},
+            #{item.projectId}
             )
         </foreach>
     </insert>
@@ -208,6 +214,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="viewStartTime != null">view_start_time = #{viewStartTime},</if>
             <if test="viewEndTime != null">view_end_time = #{viewEndTime},</if>
             <if test="lastJoinTime != null">last_join_time = #{lastJoinTime},</if>
+            <if test="projectId != null">project_id = #{projectId},</if>
         </trim>
         where video_id = #{videoId}
     </update>
@@ -295,7 +302,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             fcpd.period_id,
             fcpd.id,
             if(ccut.start_date_time is null, fcpd.start_date_time, ccut.start_date_time) as startDateTime,
-            if(ccut.end_date_time is null, fcpd.end_date_time, ccut.end_date_time) as endDateTime
+            if(ccut.end_date_time is null, fcpd.end_date_time, ccut.end_date_time) as endDateTime,
+            course.project as projectId
         from `fs_user_course_video` video
         left join fs_user_course_period_days fcpd on fcpd.video_id = video.video_id
         left join fs_user_course_period fcp on fcp.period_id = fcpd.period_id