Kaynağa Gözat

feat:会员看课统计表定时任务

caoliqin 3 hafta önce
ebeveyn
işleme
88c9884125

+ 13 - 0
fs-service-system/src/main/java/com/fs/store/domain/FsUserCourseCount.java

@@ -74,6 +74,11 @@ public class FsUserCourseCount extends BaseEntity
     @Excel(name = "观看次数")
     private Long watchTimes;
 
+    /** 创建日期,为了创建唯一索引 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "创建日期,为了创建唯一索引", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createDate;
+
     public void setId(Long id)
     {
         this.id = id;
@@ -201,6 +206,14 @@ public class FsUserCourseCount extends BaseEntity
         return watchTimes;
     }
 
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

+ 15 - 2
fs-service-system/src/main/resources/mapper/store/FsUserCourseCountMapper.xml

@@ -23,10 +23,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="completeWatchDate"    column="complete_watch_date"    />
         <result property="completeWatchCount"    column="complete_watch_count"    />
         <result property="watchTimes"    column="watch_times"    />
+        <result property="createDate"    column="create_date"    />
     </resultMap>
 
     <sql id="selectFsUserCourseCountVo">
-        select id, user_id, watch_course_count, miss_course_count, miss_course_status, miss_course_days, course_ids, part_course_count, last_watch_date, status, stop_watch_days, create_time, update_time, create_by, update_by, complete_watch_date, complete_watch_count, watch_times from fs_user_course_count
+        select id, user_id, watch_course_count, miss_course_count, miss_course_status, miss_course_days, course_ids, part_course_count, last_watch_date, status, stop_watch_days, create_time, update_time, create_by, update_by, complete_watch_date, complete_watch_count, watch_times, create_date from fs_user_course_count
     </sql>
 
     <select id="selectFsUserCourseCountList" parameterType="FsUserCourseCount" resultMap="FsUserCourseCountResult">
@@ -45,6 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="completeWatchDate != null "> and complete_watch_date = #{completeWatchDate}</if>
             <if test="completeWatchCount != null "> and complete_watch_count = #{completeWatchCount}</if>
             <if test="watchTimes != null "> and watch_times = #{watchTimes}</if>
+            <if test="createDate != null "> and create_date = #{createDate}</if>
         </where>
     </select>
 
@@ -77,6 +79,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="completeWatchDate != null">complete_watch_date,</if>
             <if test="completeWatchCount != null">complete_watch_count,</if>
             <if test="watchTimes != null">watch_times,</if>
+            <if test="createDate != null">create_date,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -97,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="completeWatchDate != null">#{completeWatchDate},</if>
             <if test="completeWatchCount != null">#{completeWatchCount},</if>
             <if test="watchTimes != null">#{watchTimes},</if>
+            <if test="createDate != null">#{createDate},</if>
          </trim>
     </insert>
 
@@ -120,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="completeWatchDate != null">complete_watch_date = #{completeWatchDate},</if>
             <if test="completeWatchCount != null">complete_watch_count = #{completeWatchCount},</if>
             <if test="watchTimes != null">watch_times = #{watchTimes},</if>
+            <if test="createDate != null">create_date = #{createDate},</if>
         </trim>
         where id = #{id}
     </update>
@@ -157,7 +162,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             max( CASE WHEN fwl.log_type = 2 THEN fwl.last_heartbeat_time END ) AS completeWatchDate,
             count( CASE WHEN fwl.log_type = 2 THEN fwl.log_id END ) AS completeWatchCount,
             count( CASE WHEN fwl.log_type != 3 THEN fwl.log_id END ) AS watch_times,
-            NOW() AS create_time
+            NOW() AS create_time,
+            NOW() AS updateTime,
+            curdate() AS create_date
         FROM
             ( SELECT fs_course_watch_log.user_id, Max( fs_course_watch_log.last_heartbeat_time ) AS last_heartbeat_time, log_type FROM fs_course_watch_log GROUP BY fs_course_watch_log.user_id ) a
                 INNER JOIN fs_course_watch_log fwl ON fwl.user_id = a.user_id
@@ -183,6 +190,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="completeWatchDate != null">complete_watch_date,</if>
             <if test="completeWatchCount != null">complete_watch_count,</if>
             <if test="watchTimes != null">watch_times,</if>
+            <if test="createDate != null">create_date,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
@@ -200,6 +208,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="completeWatchDate != null">#{completeWatchDate},</if>
             <if test="completeWatchCount != null">#{completeWatchCount},</if>
             <if test="watchTimes != null">#{watchTimes},</if>
+            <if test="createDate != null">#{createDate},</if>
+        </trim>
+        on duplicate key update
+        <trim suffixOverrides=",">
+            <if test="updateTime != null">update_time = #{updateTime},</if>
         </trim>
     </insert>