瀏覽代碼

1.提交恒春来代码

jzp 5 天之前
父節點
當前提交
6db3a1940d

+ 6 - 0
fs-service/src/main/java/com/fs/course/mapper/FsCourseRedPacketLogMapper.java

@@ -10,10 +10,13 @@ import com.fs.course.domain.FsCourseRedPacketLog;
 import com.fs.course.dto.CourseRedPacketStatisticsDTO;
 import com.fs.course.param.CourseRedPacketStatisticsParam;
 import com.fs.course.param.FsCourseRedPacketLogParam;
+import com.fs.course.param.FsCourseWatchLogStatisticsListParam;
 import com.fs.course.param.FsUserCourseOrderParam;
 import com.fs.course.vo.FsCourseRedPacketLogListPVO;
 import com.fs.course.vo.FsCourseRedPacketLogListVO;
+import com.fs.course.vo.FsCourseWatchLogStatisticsListVO;
 import com.fs.course.vo.FsUserCourseOrderListPVO;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -192,4 +195,7 @@ public interface FsCourseRedPacketLogMapper
     List<CourseRedPacketStatisticsDTO> statistics(CourseRedPacketStatisticsParam param);
 
     List<FsCourseRedPacketLog> selectFsCourseRedPacketLogListBySending(@Param("maps") Map<String, Object> map);
+
+    @MapKey("qwUserId")
+    Map<Long, FsCourseWatchLogStatisticsListVO> selectFsCourseRedPacketLogByQwUserIdList(@Param("param") FsCourseWatchLogStatisticsListParam param);
 }

+ 12 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsCourseWatchLogServiceImpl.java

@@ -154,6 +154,9 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
     @Autowired
     private FinishCourseStatisticsSyncMapper finishCourseStatisticsSyncMapper;
 
+    @Autowired
+    private FsCourseRedPacketLogMapper fsCourseRedPacketLogMapper;
+
     /**
      * 查询短链课程看课记录
      *
@@ -764,7 +767,15 @@ public class FsCourseWatchLogServiceImpl extends ServiceImpl<FsCourseWatchLogMap
     @Override
     public List<FsCourseWatchLogStatisticsListVO> selectFsCourseWatchLogStatisticsListVO(FsCourseWatchLogStatisticsListParam param) {
         if (param.getUserIds() != null && !param.getUserIds().isEmpty())param.setUserIds(param.getUserIds());
-        return fsCourseWatchLogMapper.selectFsCourseWatchLogStatisticsListVO(param);
+        List<FsCourseWatchLogStatisticsListVO> statisticsListVOS = fsCourseWatchLogMapper.selectFsCourseWatchLogStatisticsListVO(param);
+        Map<Long,FsCourseWatchLogStatisticsListVO> redAmountMap = fsCourseRedPacketLogMapper.selectFsCourseRedPacketLogByQwUserIdList(param);
+        statisticsListVOS.forEach(vo ->{
+            FsCourseWatchLogStatisticsListVO statisticsListVO = redAmountMap.get(vo.getQwUserId());
+            if(vo.getQwUserId().equals(statisticsListVO.getQwUserId()) && vo.getCreateTime().equals(statisticsListVO.getCreateTime())){
+                vo.setRedAmount(statisticsListVO.getRedAmount());
+            }
+        });
+        return statisticsListVOS;
     }
 
 

+ 2 - 0
fs-service/src/main/java/com/fs/course/vo/FsCourseWatchLogStatisticsListVO.java

@@ -43,6 +43,8 @@ public class FsCourseWatchLogStatisticsListVO {
     @Excel(name = "企业微信员工名称")
     private String qwUserName;
 
+    private Long qwUserId;
+
     private Long userId;
     @Excel(name = "员工名称")
     private String userName;

+ 12 - 0
fs-service/src/main/resources/mapper/course/FsCourseRedPacketLogMapper.xml

@@ -276,6 +276,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </choose>
 
     </select>
+    <select id="selectFsCourseRedPacketLogByQwUserIdList" resultType="com.fs.course.vo.FsCourseWatchLogStatisticsListVO">
+        select qw_user_id qwUserId, sum(amount) as redAmount,date_format(create_time,'%Y-%m-%d') createTime from fs_course_red_packet_log
+        <where>
+            <if test="param.companyId != null">
+                and company_id = #{param.companyId}
+            </if>
+            <if test=" param.sTime != null and  param.eTime != null">
+                AND date_format(create_time,'%Y-%m-%d') &gt;=  date_format(#{param.sTime},'%Y-%m-%d') and date_format(create_time,'%Y-%m-%d') &lt;= date_format(#{param.eTime},'%Y-%m-%d')
+            </if>
+        </where>
+        group by qw_user_id,date_format(create_time,'%Y-%m-%d')
+    </select>
 
 
 </mapper>