浏览代码

95:红德堂APP调试 会员项目代码同步

Long 1 周之前
父节点
当前提交
3c4bbc7f3a

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

@@ -58,6 +58,19 @@ public class FsUserCourseCount extends BaseEntity
     @Excel(name = "用户状态,1-正常;2-停止;3-未看")
     private Long status;
 
+    /**
+     * 项目id
+     */
+    private Long projectId;
+
+    public Long getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(Long projectId) {
+        this.projectId = projectId;
+    }
+
     /** 停课天数(如果状态是停止) */
     @Excel(name = "停课天数", readConverterExp = "如=果状态是停止")
     private Long stopWatchDays;

+ 3 - 3
fs-service/src/main/java/com/fs/store/service/impl/FsUserCourseCountServiceImpl.java

@@ -121,15 +121,15 @@ public class FsUserCourseCountServiceImpl implements IFsUserCourseCountService
         // 查询用户-每天的最新的看课状态,和最后的心跳时间
         List<FsUserCourseCount> userStatusAndLastWatchDate = fsUserCourseCountMapper.getUserStatusAndLastWatchDate();
         Map<String, FsUserCourseCount> map = userStatusAndLastWatchDate.stream()
-                .collect(Collectors.toMap(k -> String.format("%s-%s", k.getUserId(), k.getLastDate()), v -> v));
+                .collect(Collectors.toMap(k -> String.format("%s-%s-%s", k.getUserId(),k.getProjectId(), k.getLastDate()), v -> v));
 
         for (FsUserCourseCount data : countResult) {
-            String key = String.format("%s-%s",data.getUserId(), data.getLastDate());
+            String key = String.format("%s-%s-%s", data.getUserId(),data.getProjectId(), data.getLastDate());
             FsUserCourseCount fsUserCourseCount = map.get(key);
             if(fsUserCourseCount != null){
                 data.setLastWatchDate(fsUserCourseCount.getLastWatchDate());
                 data.setStatus(fsUserCourseCount.getStatus());
-                data.setStopWatchDays(fsUserCourseCount.getStopWatchDays());
+//                data.setStopWatchDays(fsUserCourseCount.getStopWatchDays());
             }
         }
 

+ 4 - 1
fs-service/src/main/resources/application-druid-hdt.yml

@@ -149,4 +149,7 @@ rocketmq:
     consumer:
         group: common-group
         access-key: default
-        secret-key: aZS4z!88dNndKTfhITzTpTxRrVUShtH3
+        secret-key: aZS4z!88dNndKTfhITzTpTxRrVUShtH3
+openIM:
+    secret: openIM123
+    userID: imAdmin

+ 27 - 0
fs-service/src/main/resources/mapper/company/CompanyUserChangeApplyUserMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.company.mapper.CompanyUserChangeApplyUserMapper">
+
+    <!-- 查询申请记录关联用户 -->
+    <select id="getApplyUsers" resultType="com.fs.company.vo.CompanyUserChangeApplyUserVO">
+        select
+            fu.user_id,
+            fu.nickname as userName,
+            fu.avatar,
+            cucau.project_id
+        from company_user_change_apply_user cucau
+        inner join fs_user fu on fu.user_id = cucau.user_id
+        where cucau.apply_id = #{applyId}
+    </select>
+
+    <!-- 修改申请记录关联用户销售 -->
+    <update id="changeUser">
+        update fs_user_company_user fu
+        inner join company_user_change_apply_user cucau on cucau.user_id = fu.user_id  and cucau.project_id = fu.project_id
+        inner join company_user_change_apply cuca on cuca.id = cucau.apply_id
+        set fu.company_user_id = cuca.`to`
+        where cuca.id = #{applyId}
+    </update>
+</mapper>

+ 6 - 6
fs-service/src/main/resources/mapper/his/FsUserMapper.xml

@@ -207,7 +207,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
         fs_user.user_id,
         fs_user.avatar,
-        fs_user.nickname,
+        fs_user.nick_name as nickname,
         fs_user.phone,
         fs_user_course_count.id,
         fs_user_course_count.watch_course_count,
@@ -249,7 +249,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND fs_user_company_user.project_id = #{projectId}
         </if>
         <if test="keyword != null and keyword !='' ">
-            AND (fs_user.nickname LIKE concat('%',#{keyword},'%')
+            AND (fs_user.nick_name LIKE concat('%',#{keyword},'%')
             or  fs_user.phone LIKE concat('%',#{keyword},'%')
             )
         </if>
@@ -322,7 +322,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                     fs_user_company_user.create_time desc
                 </when>
                 <when test = "continueMissCourseSort == 1">
-                    fs_user.nickname asc
+                    fs_user.nick_name asc
                 </when>
             </choose>
         </if>
@@ -331,7 +331,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectFsUserPageListNew" resultType="com.fs.store.vo.h5.FsUserPageListVO">
         SELECT
         fs_user.user_id,
-        fs_user.nickname,
+        fs_user.nick_name as nickname,
         fs_user.avatar,
         fs_user.phone,
         fs_user.status,
@@ -367,7 +367,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 </foreach>
             </if>
             <if test="nickname != null and nickname != ''">
-                AND fs_user.nickname like concat('%', #{nickname},'%')
+                AND fs_user.nick_name like concat('%', #{nickname},'%')
             </if>
             <if test="phone != null and phone != ''">
                 AND fs_user.phone like concat('%', #{phone},'%')
@@ -701,7 +701,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
         (
         SELECT
-        ifnull(count( DISTINCT log_id ), 0) AS answerTime
+        ifnull(count( DISTINCT fs_course_answer_logs.log_id ), 0) AS answerTime
         FROM
         fs_course_answer_logs
         LEFT JOIN fs_user ON fs_user.user_id = fs_course_answer_logs.user_id

+ 17 - 14
fs-service/src/main/resources/mapper/store/FsUserCourseCountMapper.xml

@@ -143,6 +143,7 @@
     <select id="getCountResult" resultType="FsUserCourseCount">
         SELECT
             fwl.user_id,
+            ucu.project_id,
             count( DISTINCT CASE WHEN fwl.log_type != 3 THEN fwl.video_id END ) AS watchCourseCount,
             count( DISTINCT CASE WHEN fwl.log_type = 3 THEN fwl.video_id END ) AS missCourseCount,
             IF
@@ -156,16 +157,17 @@
             NOW() AS updateTime,
             DATE_FORMAT(fwl.create_time,'%Y-%m-%d') AS create_date,
             DATE (fwl.create_time ) AS lastDate
-        FROM
-            fs_course_watch_log fwl
-        where fwl.send_type = 1 and fwl.create_time &gt;= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
+        FROM fs_course_watch_log fwl
+        left join fs_user_company_user ucu on ucu.user_id = fwl.user_id
+        where fwl.send_type = 1 and fwl.create_time &gt;= DATE_SUB(CURDATE(), INTERVAL 7 DAY) and fwl.project = ucu.project_id
         GROUP BY
-            fwl.user_id, date(fwl.create_time)
+            fwl.user_id, date(fwl.create_time),ucu.project_id
     </select>
 
     <select id="getUserStatusAndLastWatchDate" resultType="FsUserCourseCount">
         SELECT
             fs_course_watch_log.user_id,
+            ucu.project_id,
             Max( fs_course_watch_log.last_heartbeat_time ) AS lastWatchDate,
             Max( DATE ( fs_course_watch_log.create_time ) ) AS lastDate,
             CASE
@@ -177,17 +179,16 @@
                     2
                 WHEN fs_course_watch_log.log_type = 3 THEN
                     3
-                END AS STATUS,
-            DATEDIFF(
-                    DATE_FORMAT( NOW(), '%Y-%m-%d' ),
-                    DATE_FORMAT( fs_course_watch_log.last_heartbeat_time, '%Y-%m-%d' )) AS stop_watch_days
-        FROM
-            fs_course_watch_log
-        WHERE
-            fs_course_watch_log.send_type = 1
-          AND fs_course_watch_log.create_time >= DATE_SUB( CURDATE(), INTERVAL 7 DAY )
+                END AS STATUS
+        --             DATEDIFF(
+--                     DATE_FORMAT( NOW(), '%Y-%m-%d' ),
+--                     DATE_FORMAT( fs_course_watch_log.last_heartbeat_time, '%Y-%m-%d' )) AS stop_watch_days
+        FROM fs_course_watch_log
+        left join fs_user_company_user ucu on ucu.user_id = fs_course_watch_log.user_id
+        WHERE fs_course_watch_log.send_type = 1
+          AND fs_course_watch_log.create_time >= DATE_SUB( CURDATE(), INTERVAL 7 DAY ) and fs_course_watch_log.project = ucu.project_id
         GROUP BY
-            fs_course_watch_log.user_id, date(fs_course_watch_log.create_time)
+            fs_course_watch_log.user_id, date(fs_course_watch_log.create_time),ucu.project_id
     </select>
 
 
@@ -210,6 +211,7 @@
             <if test="completeWatchCount != null">complete_watch_count,</if>
             <if test="watchTimes != null">watch_times,</if>
             <if test="createDate != null">create_date,</if>
+            <if test="projectId != null">project_id,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
@@ -228,6 +230,7 @@
             <if test="completeWatchCount != null">#{completeWatchCount},</if>
             <if test="watchTimes != null">#{watchTimes},</if>
             <if test="createDate != null">#{createDate},</if>
+            <if test="projectId != null">#{projectId},</if>
         </trim>
         on duplicate key update
         <trim suffixOverrides=",">