xw 4 дней назад
Родитель
Сommit
f0d269e77a

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

@@ -76,6 +76,11 @@ public class FsCourseTrafficLog extends BaseEntity
      */
     private Integer typeFlag;
 
+    /**
+     * 是否公开课 1:是 0:否
+     */
+    private Integer isOpen;
+
 
 
 //    @JsonFormat(pattern = "yyyy-MM-dd")

+ 6 - 2
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseVideoMapper.java

@@ -120,11 +120,13 @@ public interface FsUserCourseVideoMapper extends BaseMapper<FsUserCourseVideo> {
 
 
     @Select({"<script> " +
-            "select v.video_id, v.title, v.video_url,v.package_json, v.thumbnail,v.duration as seconds, SEC_TO_TIME(v.duration) as duration,v.create_time, v.talent_id, v.course_id, " +
+            "select v.video_id, v.title, v.video_url,v.package_json, v.thumbnail,v.duration as seconds, SEC_TO_TIME(v.duration) as duration,v.create_time, v.talent_id, v.course_id, c.project as project, " +
+            " CAST(NULLIF(SUBSTRING_INDEX(REGEXP_REPLACE(c.company_ids, '[\"\\\\[\\\\]]', ''), ',', 1), '') AS UNSIGNED) as company_id, c.company_ids as company_ids, " +
             " v.status, v.course_sort,v.line_one,v.line_two,v.line_three,v.upload_type,1 as is_vip,CASE \n" +
             "        WHEN l.log_id IS NOT NULL THEN 1\n" +
             "        ELSE 0\n" +
             "    END AS is_buy  from fs_user_course_video v  " +
+            " left join fs_user_course c on c.course_id = v.course_id " +
             " left join fs_user_course_study_log l on l.video_id = v.video_id and l.user_id = #{maps.userId} and l.is_buy = 1 " +
             " where v.is_del = 0 and  v.course_id = #{maps.courseId} " +
             "<if test = ' maps.keyword!=null and maps.keyword != \"\" '> " +
@@ -135,8 +137,10 @@ public interface FsUserCourseVideoMapper extends BaseMapper<FsUserCourseVideo> {
     List<FsUserCourseVideoListUVO> selectFsUserCourseVideoListUVOByCourseId(@Param("maps") FsUserCourseVideoListUParam param);
 
     @Select({"<script> " +
-            "select v.video_id, v.title,v.package_json, v.video_url, v.thumbnail,v.duration as seconds, SEC_TO_TIME(v.duration) as duration,v.create_time, v.talent_id, v.course_id, " +
+            "select v.video_id, v.title,v.package_json, v.video_url, v.thumbnail,v.duration as seconds, SEC_TO_TIME(v.duration) as duration,v.create_time, v.talent_id, v.course_id, c.project as project, " +
+            " CAST(NULLIF(SUBSTRING_INDEX(REGEXP_REPLACE(c.company_ids, '[\"\\\\[\\\\]]', ''), ',', 1), '') AS UNSIGNED) as company_id, c.company_ids as company_ids, " +
             " v.status, v.course_sort,v.line_one,v.line_two,v.line_three,v.upload_type,1 as is_vip,0 as is_buy  from fs_user_course_video v  " +
+            " left join fs_user_course c on c.course_id = v.course_id " +
             " where v.is_del = 0 and  v.course_id = #{maps.courseId}   " +
             "<if test = ' maps.keyword!=null and maps.keyword != \"\" '> " +
             "and v.title like CONCAT('%',#{maps.keyword},'%') " +

+ 1 - 1
fs-service/src/main/java/com/fs/course/param/FsUserCourseVideoFinishUParam.java

@@ -21,7 +21,7 @@ public class FsUserCourseVideoFinishUParam implements Serializable {
     private Long qwExternalId;
     private Integer linkType;
     private Integer isRoom;//是否群聊
-    private Integer isOpen;//是否公开课
+    private Integer isOpen = 0;//是否公开课
     private Long periodId;
     private Integer projectId;
     private String appId;

+ 14 - 0
fs-service/src/main/java/com/fs/course/vo/FsUserCourseVideoListUVO.java

@@ -65,6 +65,20 @@ public class FsUserCourseVideoListUVO extends BaseEntity
 
     private String packageJson;
 
+    /**
+     * 项目ID(来自课程)
+     */
+    private Long project;
+
+    /**
+     * 公司ID(从company_ids解析首个ID)
+     */
+    private Long companyId;
+
+    /**
+     * 课程关联公司IDs原始值
+     */
+    private String companyIds;
 
 
 

+ 12 - 4
fs-service/src/main/resources/mapper/course/FsCourseTrafficLogMapper.xml

@@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="project"    column="project"    />
         <result property="appId"    column="app_id"    />
         <result property="typeFlag"    column="type_flag"    />
+        <result property="isOpen"    column="is_open"    />
     </resultMap>
 
     <sql id="selectFsCourseTrafficLogVo">
@@ -37,7 +38,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                project,
                period_id,
                app_id,
-               type_flag from fs_course_traffic_log
+               type_flag,
+               is_open from fs_course_traffic_log
     </sql>
 
     <select id="selectFsCourseTrafficLogList" parameterType="FsCourseTrafficLog" resultMap="FsCourseTrafficLogResult">
@@ -143,6 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="uuId != null">uu_id,</if>
             <if test="appId != null">app_id,</if>
             <if test="typeFlag != null">type_flag,</if>
+            <if test="isOpen != null">is_open,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
@@ -157,6 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="uuId != null">#{uuId},</if>
             <if test="appId != null">#{appId},</if>
             <if test="typeFlag != null">#{typeFlag},</if>
+            <if test="isOpen != null">#{isOpen},</if>
          </trim>
     </insert>
 
@@ -177,6 +181,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="periodId != null">period_id,</if>
             <if test="appId != null">app_id,</if>
             <if test="typeFlag != null">type_flag,</if>
+            <if test="isOpen != null">is_open,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
@@ -193,6 +198,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="periodId != null">#{periodId},</if>
             <if test="appId != null">#{appId},</if>
             <if test="typeFlag != null">#{typeFlag},</if>
+            <if test="isOpen != null">#{isOpen},</if>
         </trim>
         on duplicate key update
         <trim suffixOverrides=",">
@@ -200,6 +206,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="periodId != null">period_id = #{periodId},</if>
             <if test="appId != null">app_id = #{appId},</if>
             <if test="typeFlag != null">type_flag = #{typeFlag},</if>
+            <if test="isOpen != null">is_open = #{isOpen},</if>
         </trim>
     </insert>
 
@@ -219,6 +226,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="periodId != null">period_id = #{periodId},</if>
             <if test="appId != null">app_id = #{appId},</if>
             <if test="typeFlag != null">type_flag = #{typeFlag},</if>
+            <if test="isOpen != null">is_open = #{isOpen},</if>
         </trim>
         where log_id = #{logId}
     </update>
@@ -250,7 +258,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             l.company_id,
             l.course_id,
             l.uu_id,
-            l.project, l.period_id
+            l.project, l.period_id, l.app_id, l.type_flag, l.is_open
         FROM
             fs_course_traffic_log l
         WHERE
@@ -261,10 +269,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <insert id="insertCourseTrafficLogByTwoDaysLaterBatch" useGeneratedKeys="false">
         insert into fs_course_traffic_log (
-        log_id, user_id, video_id, create_time, qw_external_contact_id, internet_traffic, qw_user_id, company_user_id, company_id, course_id, uu_id, project, period_id ) values
+        log_id, user_id, video_id, create_time, qw_external_contact_id, internet_traffic, qw_user_id, company_user_id, company_id, course_id, uu_id, project, period_id, app_id, type_flag, is_open ) values
         <foreach collection="list" item="item" separator=",">
             (#{item.logId},#{item.userId},#{item.videoId},#{item.createTime},#{item.qwExternalContactId},#{item.internetTraffic},#{item.qwUserId}
-            ,#{item.companyUserId},#{item.companyId},#{item.courseId},#{item.uuId},#{item.project},#{item.periodId})
+            ,#{item.companyUserId},#{item.companyId},#{item.courseId},#{item.uuId},#{item.project},#{item.periodId},#{item.appId},#{item.typeFlag},#{item.isOpen})
         </foreach>
     </insert>
 

+ 3 - 0
fs-user-app/src/main/java/com/fs/app/controller/course/CourseFsUserController.java

@@ -161,6 +161,9 @@ public class CourseFsUserController extends AppBaseController {
             logger.error("getInternetTraffic - 无法解析用户ID: {}", uidStr, ex);
             return R.error("未授权或Token不合法:APPToken的subject不是数字");
         }
+        if (Integer.valueOf(1).equals(param.getIsOpen())) {
+            return courseVideoService.getInternetTrafficIsOpen(param);
+        }
         return courseVideoService.getInternetTraffic(param);
     }