Quellcode durchsuchen

侧边栏-统计类

三七 vor 1 Woche
Ursprung
Commit
0836848f72

+ 10 - 10
fs-qwhook-sop/src/main/java/com/fs/app/controller/ApisQwSopController.java

@@ -173,29 +173,29 @@ public class ApisQwSopController  extends BaseController {
         return R.error();
     }
 
-    //员工看板 课程/答题/红包统计--侧边栏
-    @GetMapping("/boardCourseQuizRedEnvelopeStats")
+    //员工看板 课程/答题/红包统计--侧边栏(查得很慢,设计点进去了才查)
+    @PostMapping("/boardCourseQuizRedEnvelopeStats")
     @ApiOperation("员工看板 课程/答题/红包统计")
-    public ResponseResult<FsUserStatisticsVO> boardCourseQuizRedEnvelopeStats(CourseQuizRedEnvelopeStatsParam qwParam) {
+    public ResponseResult<FsUserStatisticsVO> boardCourseQuizRedEnvelopeStats(@RequestBody CourseQuizRedEnvelopeStatsParam qwParam) {
         if (StringUtils.isBlank(qwParam.getStartTime()) || StringUtils.isBlank(qwParam.getEndTime())) {
-            return ResponseResult.ok(new FsUserStatisticsVO());
+            return ResponseResult.fail(500,"时间不能为空");
         }
         FsUserStatisticsVO resultVo = qwSopService.boardCourseQuizRedEnvelopeStats(qwParam);
         return ResponseResult.ok(resultVo);
     }
 
-    //外部联系人答题/红包/看课统计--侧边栏
-    @GetMapping("/externalStatsList")
+    //外部联系人答题/红包/看课统计--侧边栏(查得很慢,设计点进去了才查)
+    @PostMapping("/externalStatsList")
     @ApiOperation("外部联系人答题/红包/看课统计")
-    public ResponseResult<ExternalUserStatsVO> externalStatsList(QwSidebarStatsParam qwParam) {
+    public ResponseResult<ExternalUserStatsVO> externalStatsList(@RequestBody QwSidebarStatsParam qwParam) {
         ExternalUserStatsVO vo = qwSopService.externalStatsList(qwParam);
         return ResponseResult.ok(vo);
     }
 
-    //外部联系人看课轨迹--侧边栏
-    @GetMapping("/externalWatchRecordStatsList")
+    //外部联系人看课轨迹--侧边栏(查得很慢,设计点进去了才查)
+    @PostMapping("/externalWatchRecordStatsList")
     @ApiOperation("用户看课轨迹")
-    public TableDataInfo externalWatchRecordStatsList(QwSidebarStatsParam qwParam) {
+    public TableDataInfo externalWatchRecordStatsList(@RequestBody QwSidebarStatsParam qwParam) {
         if (qwParam.getStartTime() == null || qwParam.getEndTime() == null) {
             return getDataTable(Collections.emptyList());
         }

+ 44 - 1
fs-qwhook-sop/src/main/java/com/fs/app/controller/QwSopController.java

@@ -2,10 +2,17 @@ package com.fs.app.controller;
 
 import com.fs.app.params.SopLogsEditParam;
 import com.fs.common.BeanCopyUtils;
+import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.domain.ResponseResult;
+import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.StringUtils;
+import com.fs.course.vo.FsCourseWatchLogStatisticsListVO;
 import com.fs.fastGpt.service.IFastGptChatSessionService;
 import com.fs.qw.domain.QwTagGroup;
+import com.fs.qw.param.CourseQuizRedEnvelopeStatsParam;
+import com.fs.qw.param.QwSidebarStatsParam;
 import com.fs.qw.param.SopMsgParam;
 import com.fs.qw.param.sidebar.ExternalContactInfoParam;
 import com.fs.qw.param.sidebar.TagGroupListParam;
@@ -20,6 +27,9 @@ import com.fs.sop.domain.QwSopLogs;
 import com.fs.sop.params.GetQwSopLogsByJsApiParam;
 import com.fs.sop.params.SendSopParamDetailsC;
 import com.fs.sop.service.IQwSopLogsService;
+import com.fs.sop.service.IQwSopService;
+import com.fs.store.vo.h5.ExternalUserStatsVO;
+import com.fs.store.vo.h5.FsUserStatisticsVO;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.ApiOperation;
@@ -28,13 +38,14 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.text.SimpleDateFormat;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
 
 @RestController
 @RequestMapping("/app/qwSop")
-public class QwSopController {
+public class QwSopController extends BaseController {
 
     @Autowired
     RedisCache redisCache;
@@ -49,6 +60,9 @@ public class QwSopController {
     @Autowired
     private IQwTagGroupService qwTagGroupService;
 
+    @Autowired
+    private IQwSopService qwSopService;
+
     /**
      * 更新AI发送状态
      */
@@ -108,4 +122,33 @@ public class QwSopController {
         return R.ok().put("data",listPageInfo);
     }
 
+    //员工看板 课程/答题/红包统计--侧边栏(查得很慢,设计点进去了才查)
+    @PostMapping("/boardCourseQuizRedEnvelopeStats")
+    @ApiOperation("员工看板 课程/答题/红包统计")
+    public ResponseResult<FsUserStatisticsVO> boardCourseQuizRedEnvelopeStats(@RequestBody CourseQuizRedEnvelopeStatsParam qwParam) {
+        if (StringUtils.isBlank(qwParam.getStartTime()) || StringUtils.isBlank(qwParam.getEndTime())) {
+            return ResponseResult.fail(500,"时间不能为空");
+        }
+        FsUserStatisticsVO resultVo = qwSopService.boardCourseQuizRedEnvelopeStats(qwParam);
+        return ResponseResult.ok(resultVo);
+    }
+
+    //外部联系人答题/红包/看课统计--侧边栏
+    @PostMapping("/externalStatsList")
+    @ApiOperation("外部联系人答题/红包/看课统计")
+    public ResponseResult<ExternalUserStatsVO> externalStatsList(@RequestBody QwSidebarStatsParam qwParam) {
+        ExternalUserStatsVO vo = qwSopService.externalStatsList(qwParam);
+        return ResponseResult.ok(vo);
+    }
+
+    //外部联系人看课轨迹--侧边栏
+    @PostMapping("/externalWatchRecordStatsList")
+    @ApiOperation("用户看课轨迹")
+    public TableDataInfo externalWatchRecordStatsList(@RequestBody QwSidebarStatsParam qwParam) {
+        if (qwParam.getStartTime() == null || qwParam.getEndTime() == null) {
+            return getDataTable(Collections.emptyList());
+        }
+        List<FsCourseWatchLogStatisticsListVO> list = qwSopService.externalWatchRecordStatsList(qwParam);
+        return getDataTable(list);
+    }
 }

+ 1 - 1
fs-service/src/main/java/com/fs/course/mapper/FsCourseWatchLogMapper.java

@@ -719,7 +719,7 @@ public interface FsCourseWatchLogMapper extends BaseMapper<FsCourseWatchLog> {
     /**
      * 看课统计
      * */
-    List<FsCourseWatchLogStatisticsListVO> selectQwFsCourseWatchLogStatisticsListVO(QwSidebarStatsParam param);
+    List<FsCourseWatchLogStatisticsListVO> selectQwFsCourseWatchLogStatisticsListVO(@Param("data") QwSidebarStatsParam param);
 
     // 统计当天各公司的观看人数和完播人数, 存到redis中,定时任务每 ? 分钟执行一次
     List<WatchCourseStatisticsResultDTO> watchCourseStatisticsGroupByCompany(@Param("params") Map<String, Object> params);

+ 2 - 0
fs-service/src/main/java/com/fs/qw/param/QwSidebarStatsParam.java

@@ -29,6 +29,8 @@ public class QwSidebarStatsParam implements Serializable {
 
     private String startTime;
 
+    private Long sendType;
+
     private String endTime;
 
     //外部联系人主键Id

+ 9 - 8
fs-service/src/main/resources/mapper/course/FsCourseWatchLogMapper.xml

@@ -997,18 +997,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         fs_course_watch_log o
         LEFT JOIN fs_user_course_video v ON v.video_id = o.video_id
         LEFT JOIN fs_user_course uc ON uc.course_id = v.course_id
-        WHERE o.qw_external_contact_id=#{qwExternalContactId}
-        <if test="sendType != null">
-            AND send_type = #{sendType}
+        WHERE
+            o.qw_external_contact_id=#{data.qwExternalContactId}
+        <if test="data.sendType != null">
+            AND send_type = #{data.sendType}
         </if>
-        <if test="startTime != null">
-            AND DATE(o.create_time) &gt;= DATE(#{startTime})
+        <if test="data.startTime != null">
+            AND DATE(o.create_time) &gt;= DATE(#{data.startTime})
         </if>
 
-        <if test="endTime != null">
-            AND DATE(o.create_time) &lt;= DATE(#{endTime})
+        <if test="data.endTime != null">
+            AND DATE(o.create_time) &lt;= DATE(#{data.endTime})
         </if>
-        o.create_time DESC
+        order by o.create_time DESC
     </select>
 
     <!-- 统计当天各公司的观看人数和完播人数, 存到redis中,定时任务每 ? 分钟执行一次    -->

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

@@ -2390,8 +2390,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="countExternalRedPacketStats" resultType="com.fs.store.vo.h5.ExternalRedPacketStatsVO">
         SELECT
-            COUNT(red.log_id) AS redPacketNum,
-            COALESCE(SUM(red.amount), 0) AS redPacketAmount
+            COUNT(log.log_id) AS redPacketNum,
+            COALESCE(SUM(log.amount), 0) AS redPacketAmount
         FROM fs_course_red_packet_log log
         WHERE log.status = 1
           AND log.user_id = #{userId} AND log.company_user_id = #{companyUserId}