浏览代码

代码提交

yjwang 1 天之前
父节点
当前提交
5973578e21

+ 31 - 3
fs-qw-task/src/main/java/com/fs/app/controller/CommonController.java

@@ -2,6 +2,7 @@ package com.fs.app.controller;
 
 
 import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fs.app.taskService.*;
 import com.alibaba.fastjson.JSON;
 import com.fs.app.taskService.QwExternalContactRatingService;
@@ -11,10 +12,21 @@ import com.fs.app.taskService.SopWxLogsService;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.exception.ServiceException;
 import com.fs.common.utils.StringUtils;
+import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyTrafficRecord;
+import com.fs.company.domain.CompanyTrafficRecordLog;
+import com.fs.company.mapper.CompanyTrafficRecordLogMapper;
+import com.fs.company.mapper.CompanyTrafficRecordMapper;
 import com.fs.company.service.ICompanyService;
+import com.fs.company.service.ICompanyTrafficRecordLogService;
 import com.fs.company.service.ICompanyTrafficRecordService;
 import com.fs.company.vo.RedPacketMoneyVO;
+import com.fs.course.domain.FsCourseTrafficLog;
+import com.fs.course.domain.FsCourseWatchLog;
+import com.fs.course.mapper.FsCourseTrafficLogMapper;
+import com.fs.course.mapper.FsCompanyTrafficInfoVoMapper;
 import com.fs.course.mapper.FsCourseRedPacketLogMapper;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.vo.RedPacketMoneyVO;
@@ -22,6 +34,7 @@ import com.fs.course.mapper.FsCourseRedPacketLogMapper;
 import com.fs.course.mapper.FsCourseWatchLogMapper;
 import com.fs.course.param.newfs.FsUserCourseAddCompanyUserParam;
 import com.fs.course.service.*;
+import com.fs.course.vo.FsCompanyTrafficInfoVo;
 import com.fs.course.vo.FsUserCourseVideoQVO;
 import com.fs.his.domain.FsUser;
 import com.fs.his.service.IFsInquiryOrderService;
@@ -51,15 +64,15 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Api("公共接口")
 @RestController
@@ -156,6 +169,21 @@ public class CommonController {
     @Autowired
     private FsStoreOrderScrmServiceImpl fsStoreOrderScrmService;
 
+    @Autowired
+    private CompanyTrafficRecordMapper companyTrafficRecordMapper;
+
+    @Autowired
+    private FsCourseTrafficLogMapper fsCourseTrafficLogMapper;
+
+    @Autowired
+    private ICompanyTrafficRecordLogService companyTrafficRecordLogService;
+
+    @Autowired
+    private CompanyTrafficRecordLogMapper companyTrafficRecordLogMapper;
+
+    @Autowired
+    private FsCompanyTrafficInfoVoMapper fsCompanyTrafficInfoVoMapper;
+
     /**
      * 获取跳转微信小程序的链接地址
      */

+ 2 - 0
fs-service/src/main/java/com/fs/company/mapper/CompanyTrafficRecordLogMapper.java

@@ -14,4 +14,6 @@ public interface CompanyTrafficRecordLogMapper extends BaseMapper<CompanyTraffic
     List<CompanyTrafficRecordLog> list(CompanyTrafficRecordLogQueryParam record);
 
     List<CompanyTrafficRecordLog> selectMonth(@Param("companyId") Long companyId);
+
+    int batchInsert(@Param("list") List<CompanyTrafficRecordLog> list);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/company/mapper/CompanyTrafficRecordMapper.java

@@ -26,4 +26,6 @@ public interface CompanyTrafficRecordMapper extends BaseMapper<CompanyTrafficRec
             "</if> " +
             "</script>"})
     List<CompanyTrafficRecord> selectListWithUncharged(@Param("maps") CompanyTrafficRecordQueryParam record);
+
+    int batchUpdateBalance(@Param("list") List<CompanyTrafficRecord> list);
 }

+ 26 - 0
fs-service/src/main/java/com/fs/course/mapper/FsCompanyTrafficInfoVoMapper.java

@@ -0,0 +1,26 @@
+package com.fs.course.mapper;
+
+import com.fs.course.vo.FsCompanyTrafficInfoVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface FsCompanyTrafficInfoVoMapper {
+
+    /**
+     * 获取相关流量数据
+     * 2w
+     * @return List<FsCompanyTrafficInfoVo>
+     * **/
+    List<FsCompanyTrafficInfoVo> getFsCompanyTrafficInfoVo();
+
+    /**
+     * 批量删除短链课程看课记录
+     *
+     * @param logIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteCompanyTrafficInfoVoByLogIds(@Param("logIds") Long[] logIds);
+}

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

@@ -109,7 +109,7 @@ public interface FsCourseTrafficLogMapper
     Integer saveCourseTrafficLogByTwoDaysLaterCount();
 
     List<FsCourseTrafficLog> selectCourseTrafficLogByTwoDaysLater(@Param("offset")Integer offset,@Param("limit")Integer limit);
-    @DataSource(DataSourceType.CLICKHOUSE)
+
     void insertCourseTrafficLogByTwoDaysLaterBatch(@Param("list") List<FsCourseTrafficLog> redPacketLogs);
 
     List<FsCourseTrafficLogListVO> selectTrafficNew(FsCourseTrafficLogParam param);

+ 21 - 0
fs-service/src/main/java/com/fs/course/vo/FsCompanyTrafficInfoVo.java

@@ -0,0 +1,21 @@
+package com.fs.course.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 公司流量信息表
+ * **/
+@Data
+public class FsCompanyTrafficInfoVo {
+    private Long logId;
+    private Long companyId;
+    private Long companyUserId;
+    private Long courseId;
+    private Long videoId;
+    private Long userId;
+    private Long fileSize;
+    private Date createTime;
+}

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

@@ -38,4 +38,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectMonth" resultType="com.fs.company.domain.CompanyTrafficRecordLog">
         select * from company_traffic_record_log where company_id = #{companyId} and operation_type = 2 and date_format(create_time,'%y%m') = date_format(now(),'%y%m')
     </select>
+
+    <insert id="batchInsert" parameterType="java.util.List">
+        INSERT INTO company_traffic_record_log (
+            company_id,
+            user_id,
+            user_name,
+            operation_type,
+            traffic_amount,
+            charge_amount,
+            balance,
+            remark,
+            create_time
+        ) VALUES
+        <foreach collection="list" item="item" separator=",">
+            (
+                #{item.companyId},
+                #{item.userId},
+                #{item.userName},
+                #{item.operationType},
+                #{item.trafficAmount},
+                #{item.chargeAmount},
+                #{item.balance},
+                #{item.remark},
+                #{item.createTime}
+            )
+        </foreach>
+    </insert>
 </mapper>

+ 31 - 0
fs-service/src/main/resources/mapper/company/CompanyTrafficRecordMapper.xml

@@ -0,0 +1,31 @@
+<?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.CompanyTrafficRecordMapper">
+
+    <update id="batchUpdateBalance" parameterType="java.util.List">
+        UPDATE company_traffic_record
+        SET
+        balance = CASE id
+        <foreach collection="list" item="item" separator=" ">
+            WHEN #{item.id} THEN #{item.balance}
+        </foreach>
+        END,
+        update_by = CASE id
+        <foreach collection="list" item="item" separator=" ">
+            WHEN #{item.id} THEN #{item.updateBy}
+        </foreach>
+        END,
+        update_time = CASE id
+        <foreach collection="list" item="item" separator=" ">
+            WHEN #{item.id} THEN #{item.updateTime}
+        </foreach>
+        END
+        WHERE id IN
+        <foreach collection="list" item="item" open="(" close=")" separator=",">
+            #{item.id}
+        </foreach>
+    </update>
+
+</mapper>

+ 28 - 0
fs-service/src/main/resources/mapper/course/FsCompanyTrafficInfoVoMapper.xml

@@ -0,0 +1,28 @@
+<?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.course.mapper.FsCompanyTrafficInfoVoMapper">
+
+    <select id="getFsCompanyTrafficInfoVo" resultType="com.fs.course.vo.FsCompanyTrafficInfoVo">
+        SELECT
+            log_id,
+            create_time,
+            user_id,
+            course_id,
+            video_id,
+            company_id,
+            company_user_id,
+            ROUND(file_size * 1.5, 2) AS file_size
+        FROM
+            company_traffic_info_vo ORDER BY create_time ASC LIMIT 100000
+    </select>
+
+    <delete id="deleteCompanyTrafficInfoVoByLogIds">
+        delete from company_traffic_info_vo where log_id in
+        <foreach item="logId" collection="logIds" open="(" separator="," close=")">
+            #{logId}
+        </foreach>
+    </delete>
+
+</mapper>