Browse Source

计奖交易接口优化

mac 2 năm trước cách đây
mục cha
commit
80d8f0f560
23 tập tin đã thay đổi với 344 bổ sung393 xóa
  1. 5 0
      kxs-common/kxs-common-core/src/main/java/com/kxs/common/core/constant/CommonConstants.java
  2. 3 2
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/dto/statUser/StatUserGetMyTradeDTO.java
  3. 11 10
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/StatUserGetMyTradeVO.java
  4. 1 1
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/TimeVO.java
  5. 5 5
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatUserController.java
  6. 16 4
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbActTradeMapper.java
  7. 3 6
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbTradeMapper.java
  8. 11 33
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserActTradeMapper.java
  9. 20 11
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserGdTradeMapper.java
  10. 9 11
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserNewTradeMapper.java
  11. 4 6
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserTradeMapper.java
  12. 5 6
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsZlbTradeMapper.java
  13. 1 2
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserTradeService.java
  14. 12 8
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserActTradeServiceImpl.java
  15. 3 2
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserNewTradeServiceImpl.java
  16. 124 137
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java
  17. 28 4
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsLkbActTradeMapper.xml
  18. 5 5
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsLkbTradeMapper.xml
  19. 15 53
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserActTradeMapper.xml
  20. 39 33
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserGdTradeMapper.xml
  21. 13 42
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserNewTradeMapper.xml
  22. 6 6
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserTradeMapper.xml
  23. 5 6
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsZlbTradeMapper.xml

+ 5 - 0
kxs-common/kxs-common-core/src/main/java/com/kxs/common/core/constant/CommonConstants.java

@@ -122,6 +122,11 @@ public interface CommonConstants {
 	 */
 	Integer BIND_DAY_NUM = 90;
 
+	/**
+	 * 广电激活数量换算金额 10000一张
+	 */
+	Integer GD_TO_PRICE = 10000;
+
 	/**
 	 * 费率值
 	 */

+ 3 - 2
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/dto/statUser/StatUserGetMyTradeDTO.java

@@ -2,6 +2,7 @@ package com.kxs.stat.api.dto.statUser;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 
@@ -18,8 +19,8 @@ public class StatUserGetMyTradeDTO {
      * 获取月份
      */
     @Schema(description = "获取月份")
-    @NotBlank(message = "月份不能为空")
-    private String month;
+    @NotNull(message = "月份不能为空")
+    private Integer month;
 
 
     /**

+ 11 - 10
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/StatUserGetMyTradeVO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -27,70 +28,70 @@ public class StatUserGetMyTradeVO implements Serializable {
      * 总交易额
      */
     @Schema(description = "总交易额")
-    private Object totalAmount;
+    private BigDecimal totalAmount = BigDecimal.ZERO;
 
 
     /**
      * Pos借记卡交易额
      */
     @Schema(description = "Pos借记卡交易额")
-    private Object posDebitAmount;
+    private BigDecimal posDebitAmount = BigDecimal.ZERO;
 
 
     /**
      * Pos贷记卡交易额
      */
     @Schema(description = "Pos贷记卡交易额")
-    private Object posCreditAmount;
+    private BigDecimal posCreditAmount = BigDecimal.ZERO;
 
 
     /**
      * 云闪付交易额
      */
     @Schema(description = "云闪付交易额")
-    private Object cloudAmunt;
+    private BigDecimal cloudAmount = BigDecimal.ZERO;;
 
 
     /**
      * 助力宝交易额
      */
     @Schema(description = "助力宝交易额")
-    private Object zlbAmount;
+    private BigDecimal zlbAmount = BigDecimal.ZERO;;
 
 
     /**
      * 来客吧活动交易额
      */
     @Schema(description = "来客吧活动交易额")
-    private Object lkbActivityAmount;
+    private BigDecimal lkbActivityAmount = BigDecimal.ZERO;;
 
 
     /**
      * 来客吧非活动交易额
      */
     @Schema(description = "来客吧非活动交易额")
-    private Object lkbAmount;
+    private BigDecimal lkbAmount = BigDecimal.ZERO;;
 
 
     /**
      * 广电话费
      */
     @Schema(description = "广电话费")
-    private Object gdTelephoneCharge;
+    private BigDecimal gdTelephoneCharge = BigDecimal.ZERO;;
 
 
     /**
      * 广电活动交易额
      */
     @Schema(description = "广电活动交易额")
-    private Object gdActivityAmount;
+    private BigDecimal gdActivityAmount = BigDecimal.ZERO;;
 
 
     /**
      * 总用户数量
      */
     @Schema(description = "总用户数量")
-    private Object totalUserCount;
+    private Long totalUserCount;
 
 
     /**

+ 1 - 1
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/TimeVO.java

@@ -12,7 +12,7 @@ public class TimeVO {
     /**
      * 时间
      */
-    private String date;
+    private Integer date;
     /**
      * 激活品牌分组集合
      */

+ 5 - 5
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatUserController.java

@@ -66,10 +66,10 @@ public class KxsStatUserController {
      *
      * @return 计奖交易-首页交易总额
      */
-    @GetMapping("/getHomeAmout")
-    public R getHomeAmout() {
+    @GetMapping("/getHomeAmount")
+    public R getHomeAmount() {
         Long userId = SecurityUtils.getUser().getId();
-        return kxsUserTradeService.getHomeAmout(userId);
+        return kxsUserTradeService.getHomeAmount(userId);
     }
 
 
@@ -81,7 +81,7 @@ public class KxsStatUserController {
      * @return 计奖交易-我的业绩
      */
     @GetMapping("/getUserTradeStatList")
-    public R getUserTradeStatList(@ParameterObject StatUserGetUserTradeListDTO param) {
+    public R getUserTradeStatList(@Valid @ParameterObject StatUserGetUserTradeListDTO param) {
         if (param.getUserId().equals(0L)){
             param.setUserId(SecurityUtils.getUser().getId());
         }
@@ -93,7 +93,6 @@ public class KxsStatUserController {
      * 计奖交易-激活商户统计
      *
      * @param totalType 统计类型 0 个人  1 团队
-     * @param
      * @return 计奖交易-激活商户统计
      */
     @GetMapping("/getActivateMerchantList")
@@ -112,6 +111,7 @@ public class KxsStatUserController {
      */
     @GetMapping("/getMyTrade")
     public R getMyTrade(@ParameterObject StatUserGetMyTradeDTO param) {
+
         return kxsUserTradeService.getMyTrade(param);
     }
 

+ 16 - 4
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbActTradeMapper.java

@@ -2,10 +2,13 @@ package com.kxs.stat.biz.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kxs.stat.api.model.KxsLkbActTrade;
+import com.kxs.stat.api.vo.statUser.TrendTimesVO;
 import io.swagger.v3.oas.models.security.SecurityScheme;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 来客吧码牌激活统计表(KxsLkbActTrade)表数据库访问层
  *
@@ -14,11 +17,20 @@ import org.apache.ibatis.annotations.Param;
  */
 @Mapper
 public interface KxsLkbActTradeMapper extends BaseMapper<KxsLkbActTrade> {
+
+    /**
+     * 查询来客吧指定日期个人或团队激活数量以及日期
+     * @param userId 用户Id
+     * @param times 指定日
+     * @param totalType 0个人  1团队
+     */
+    List<TrendTimesVO> getActivityStatByLkbList(@Param("userId")Long userId, @Param("times") List<Integer> times, @Param("totalType")Integer totalType);
+
     /**
-     * 获取全部码牌激活
-     * @param userId 用户ID
-     * @param type 0 个人  1 团队
+     * 查询来客吧指定日期个人激活数量,
+     * @param userId 用户Id
+     * @param times 指定日
      */
-    Integer getSignCount(@Param("userId") Long userId,@Param("type") Integer type);
+    Integer getActivityStatByLkb(@Param("userId")Long userId,@Param("times") List<String> times);
 }
 

+ 3 - 6
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbTradeMapper.java

@@ -2,13 +2,11 @@ package com.kxs.stat.biz.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kxs.stat.api.model.KxsLkbTrade;
-import com.kxs.stat.api.vo.ShdTradeAmtVO;
 import com.kxs.stat.api.vo.TotalTradeAmtVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.cursor.Cursor;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -29,11 +27,10 @@ public interface KxsLkbTradeMapper extends BaseMapper<KxsLkbTrade> {
 
     /**
      * 获取来客吧交易额  根据月或日
-     * @param userId
+     * @param userId 用户ID
      * @param date 时间 月或日
-     * @param type 1 日  2 月
-     * @return
+     * @param totalType 0个人 1团队
      */
-    TotalTradeAmtVO getLkbTrade(@Param("userId")Long userId, @Param("date")String date,@Param("type")Integer type, @Param("totalType")Integer totalType);
+    TotalTradeAmtVO getLkbTrade(@Param("userId")Long userId, @Param("date") Integer date, @Param("totalType")Integer totalType);
 }
 

+ 11 - 33
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserActTradeMapper.java

@@ -21,7 +21,7 @@ import java.util.List;
 public interface KxsUserActTradeMapper extends BaseMapper<KxsUserActTrade> {
 
     /**
-     * 流式查询广电卡交易额
+     * 查询广电卡交易额
      *
      * @param thisMoth 月份
      * @return {@link Cursor}<{@link KxsUserActTrade}>
@@ -32,7 +32,6 @@ public interface KxsUserActTradeMapper extends BaseMapper<KxsUserActTrade> {
      * 获取传入日期团队激活商户,根据品牌分组
      * @param times 传入日期
      * @param userId 用户id
-     * @return
      */
     List<PercentVO> getUserTradeTotal(@Param("times") List<String> times, @Param("userId") Long userId,@Param("type") Integer type,@Param("totalType") Integer totalType);
 
@@ -42,46 +41,16 @@ public interface KxsUserActTradeMapper extends BaseMapper<KxsUserActTrade> {
      * @param userId 用户id
      * @param brandId 是否根据品牌分组  否传null
      * @param type 根据月份或者根据日查询  1日  2月
-     * @return
      */
-    List<TrendTimesVO> getUserActListByDayOrMonth(@Param("times") List<String> times, @Param("userId") Long userId, @Param("brandId") Integer brandId, @Param("type") Integer type, @Param("totalType") Integer totalType);
+    List<TrendTimesVO> getUserActListByDayOrMonth(@Param("times") List<Integer> times, @Param("userId") Long userId, @Param("brandId") Integer brandId, @Param("type") Integer type, @Param("totalType") Integer totalType);
 
     /**
      * 查询指定日期个人激活数量,
      * @param userId 用户Id
      * @param times 指定日
      * @param type 1 查询pos激活  2查询广电激活
-     * @return
      */
     Integer getActivityStatByGdOrPos(@Param("userId")Long userId,  @Param("times") List<String> times, @Param("type") int type);
-    /**
-     * 查询来客吧指定日期个人激活数量,
-     * @param userId 用户Id
-     * @param times 指定日
-     * @return
-     */
-    Integer getActivityStatByLkb(@Param("userId")Long userId,@Param("times") List<String> times);
-
-
-    /**
-     * 查询来客吧指定日期个人或团队激活数量以及日期
-     * @param userId 用户Id
-     * @param times 指定日
-     * @param totalType 0个人  1团队
-     * @return
-     */
-    List<TrendTimesVO> getActivityStatByLkbList(@Param("userId")Long userId,@Param("times") List<String> times,@Param("totalType")Integer totalType);
-
-    /**
-     * 获取全部激活
-     * @param userId
-     * @param totalType 0个人  1团队
-     * @param type 1 pos 2广电
-     * @param toMonth 1获取传入月份激活  2获取非传入月份激活  3 获取全部
-     * @param month 月份 toMonth = 3 可传null
-     * @return
-     */
-    Integer getUserActListByAll(@Param("userId") Long userId, @Param("totalType")  Integer totalType, @Param("type") Integer type,@Param("toMonth") Integer toMonth, @Param("month") Integer month);
 
     /**
      * 创客详情-激活商户占比 按日和月查询
@@ -105,5 +74,14 @@ public interface KxsUserActTradeMapper extends BaseMapper<KxsUserActTrade> {
      */
     List<TrendTimesVO> getAddActMchTrend(@Param("userId") Long userId, @Param("times") List<Integer> times, @Param("dateType") Integer dateType, @Param("totalType") Integer totalType);
 
+    /**
+     * 获取日/月的激活数量
+     *
+     * @param userId    用户 ID
+     * @param date    日期
+     * @param totalType 类型  0个人 1团队
+     * @return {@link Integer}
+     */
+    Integer getUserActByDayOrMonthCount(@Param("userId") Long userId, @Param("date") Integer date,  @Param("totalType") Integer totalType);
 }
 

+ 20 - 11
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserGdTradeMapper.java

@@ -14,22 +14,31 @@ import org.apache.ibatis.annotations.Param;
  */
 @Mapper
 public interface KxsUserGdTradeMapper extends BaseMapper<KxsUserGdTrade> {
+
+    /**
+     * 获取广电卡激活量 增量
+     * @param userId 用户ID
+     * @param date 时间 月或日
+     * @param totalType 0个人 1团队
+     */
+    TotalTradeAmtVO getGdActCount(@Param("userId") Long userId, @Param("date") Integer date, @Param("totalType") Integer totalType);
+
     /**
-     * 获取广电卡激活量
-     * @param userId 用户id
-     * @param date 日期
-     * @param type 1 日  2 月  3查询当日及之前   4查询当月及之前
-     * @param totalType 0个人  1团队
-     * @return
+     * 获取广电卡激活量全量
+     *
+     * @param userId    用户ID
+     * @param date      时间 月或日
+     * @param totalType 0个人 1团队
      */
-    TotalTradeAmtVO getGdActCount(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type,@Param("totalType") Integer totalType);
+    TotalTradeAmtVO getGdActAllCount(@Param("userId") Long userId, @Param("date") Integer date, @Param("totalType") Integer totalType);
 
     /**
      * 获取广电卡话费
-     * @param userId
-     * @param date
-     * @return
+     *
+     * @param userId    用户ID
+     * @param date      时间 月或日
+     * @param totalType 0个人 1团队
      */
-    TotalTradeAmtVO getGdTrade(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type,@Param("totalType") Integer totalType);
+    TotalTradeAmtVO getGdTrade(@Param("userId") Long userId, @Param("date") Integer date, @Param("totalType") Integer totalType);
 }
 

+ 9 - 11
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserNewTradeMapper.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kxs.stat.api.model.KxsUserNewTrade;
 import com.kxs.stat.api.vo.myUser.UserAddTrendVO;
 import com.kxs.stat.api.vo.statUser.TrendTimesVO;
-import com.kxs.stat.biz.constant.enums.TotalTypeEnum;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -18,17 +17,7 @@ import java.util.List;
  */
 @Mapper
 public interface KxsUserNewTradeMapper extends BaseMapper<KxsUserNewTrade> {
-    /**
-     * 获取指定日期新增的用户
-     * @param userId
-     * @param times 指定日期集合
-     * @param type 1获取近7日,2获取近半年
-     * @param totalType 0个人  1团队
-     * @return
-     */
-    List<TrendTimesVO> getUserAddTrend(@Param("userId") Long userId, @Param("times") List<String> times,@Param("type") Integer type,@Param("totalType") Integer totalType);
 
-    Integer getUserAllTrend(@Param("userId")Long userId, @Param("type")Integer type);
 
     /**
      * 创客详情-新增创客趋势图 按日和月查询
@@ -40,5 +29,14 @@ public interface KxsUserNewTradeMapper extends BaseMapper<KxsUserNewTrade> {
      * @return {@link List}<{@link TrendTimesVO}>
      */
     List<UserAddTrendVO> getAddUserTrend(@Param("userId") Long userId, @Param("times") List<Integer> times, @Param("dateType") Integer dateType, @Param("totalType") Integer totalType);
+
+    /**
+     * 获取日/月的新增数量
+     *
+     * @param userId    用户 ID
+     * @param totalType 类型  0个人 1团队
+     * @return {@link Integer}
+     */
+    Integer selectToDayOrMonthCount(@Param("userId") Long userId, @Param("date") Integer date, @Param("totalType") Integer totalType );
 }
 

+ 4 - 6
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserTradeMapper.java

@@ -98,7 +98,7 @@ public interface KxsUserTradeMapper extends BaseMapper<KxsUserTrade> {
     /**
      * 创客详情-用户交易分品牌占比 按日查询
      * @param userId 用户ID
-     * @param totalType  0个人 1团
+     * @param totalType  0个人 1团
      */
     List<PercentVO> getUserTradeDayTotal(@Param("tableName")String tableName,
                                          @Param("userId") Long userId,
@@ -108,13 +108,11 @@ public interface KxsUserTradeMapper extends BaseMapper<KxsUserTrade> {
 
     /**
      * 获取月或日pos交易额
-     * @param userId
-     * @param tableName
+     * @param userId 用户ID
      * @param date 时间
-     * @param type 1日  2月
-     * @return
+     * @param totalType 0个人 1团队
      */
-    TotalTradeAmtVO getPosTrade(@Param("userId")Long userId, @Param("tableName")String tableName, @Param("date")String date,@Param("type")Integer type);
+    TotalTradeAmtVO getPosTrade(@Param("userId")Long userId, @Param("tableName")String tableName, @Param("date") Integer date, @Param("totalType") Integer totalType);
 
     /**
      * 获取我的业绩

+ 5 - 6
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsZlbTradeMapper.java

@@ -14,15 +14,14 @@ import org.apache.ibatis.annotations.Param;
  */
 @Mapper
 public interface KxsZlbTradeMapper extends BaseMapper<KxsZlbTrade> {
+
     /**
      * 获取指定时间助力宝交易额
-     * @param userId
-     * @param date
-     * @param type 1 日  2月
-     * @param totalType 1 全部  0 个人
-     * @return
+     * @param userId 用户ID
+     * @param date 时间 月或日
+     * @param totalType 0个人 1团队
      */
-    TotalTradeAmtVO getZlbTrade(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type, @Param("totalType")Integer totalType);
+    TotalTradeAmtVO getZlbTrade(@Param("userId") Long userId, @Param("date") Integer date, @Param("totalType") Integer totalType);
 
 }
 

+ 1 - 2
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserTradeService.java

@@ -6,7 +6,6 @@ import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetTradeDetailDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserTradeListDTO;
-import com.kxs.stat.api.model.KxsLkbTrade;
 import com.kxs.stat.api.model.KxsUserTrade;
 
 import java.math.BigDecimal;
@@ -40,7 +39,7 @@ public interface KxsUserTradeService extends IService<KxsUserTrade> {
      *
      * @return 计奖交易-首页交易总额
      */
-    R getHomeAmout(Long userId);
+    R getHomeAmount(Long userId);
     /**
      * 计奖交易-我的业绩
      *

+ 12 - 8
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserActTradeServiceImpl.java

@@ -12,9 +12,11 @@ import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
 import com.kxs.stat.api.vo.myUser.TrendVO;
 import com.kxs.stat.api.vo.statUser.*;
 import com.kxs.stat.biz.constant.enums.TotalTypeEnum;
+import com.kxs.stat.biz.mapper.KxsLkbActTradeMapper;
 import com.kxs.stat.biz.mapper.KxsUserActTradeMapper;
 import com.kxs.stat.api.model.KxsUserActTrade;
 import com.kxs.stat.biz.service.KxsUserActTradeService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -30,8 +32,10 @@ import java.util.stream.Collectors;
  * @since 2024-05-07 17:25:06
  */
 @Service("kxsUserActTradeService")
+@RequiredArgsConstructor
 public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMapper, KxsUserActTrade> implements KxsUserActTradeService {
 
+    private final KxsLkbActTradeMapper lkbActTradeMapper;
 
     @Override
     public List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(List<GetActivityStatByIdAndTimeDTO> param) {
@@ -44,7 +48,7 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
 //            //查询广电激活  不再查询
 //            Integer gdNumber = baseMapper.getActivityStatByGdOrPos(userId,times,2);
             //查询来客吧激活
-            Integer lkbNumber = baseMapper.getActivityStatByLkb(userId,times);
+            Integer lkbNumber = lkbActTradeMapper.getActivityStatByLkb(userId,times);
             GetActivityStatByIdAndTimeVO getActivityStatByIdAndTimeVO = new GetActivityStatByIdAndTimeVO();
             getActivityStatByIdAndTimeVO.setUserId(userId);
 //            getActivityStatByIdAndTimeVO.setPosActivityNumber(posNumber);
@@ -58,7 +62,7 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
     @Override
     public R getActivateMerchantList(Integer totalType,Long userId,String month) {
         LocalDate now = LocalDate.now();
-        List<String> times = new ArrayList<>();
+        List<Integer> times = new ArrayList<>();
         int type;
         if (month.equals("0")){
             type = 2;
@@ -69,7 +73,7 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
                 LocalDate currentDay = now.minusMonths(i);
                 // 将LocalDate转换为字符串
                 String currentDateString = LocalDateTimeUtil.format(currentDay, DatePattern.SIMPLE_MONTH_PATTERN);
-                times.add(currentDateString);
+                times.add(Integer.valueOf(currentDateString));
             }
         }else {
             type = 1;
@@ -84,7 +88,7 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
             if (isCurrentMonth) {
                 LocalDate firstDayOfMonth = now.withDayOfMonth(1);
                 for (LocalDate date = firstDayOfMonth; !date.isAfter(now); date = date.plusDays(1)) {
-                    times.add(date.format(DateTimeFormatter.ofPattern("yyyyMMdd")));
+                    times.add(Integer.valueOf(date.format(DateTimeFormatter.ofPattern("yyyyMMdd"))));
                 }
             } else {
                 // 如果不是当前月份,则生成整个月的日期字符串
@@ -92,7 +96,7 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
                 int daysInMonth = firstDayOfMonth.lengthOfMonth();
                 for (int day = 1; day <= daysInMonth; day++) {
                     LocalDate date = firstDayOfMonth.withDayOfMonth(day);
-                    times.add(date.format(DateTimeFormatter.ofPattern("yyyyMMdd")));
+                    times.add(Integer.valueOf(date.format(DateTimeFormatter.ofPattern("yyyyMMdd"))));
                 }
             }
         }
@@ -147,12 +151,12 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
         return trendVOList;
     }
 
-    private ArrayList<TimeVO> getTimeVOArrayList(Integer totalType,Long userId, List<String> times, int type) {
+    private ArrayList<TimeVO> getTimeVOArrayList(Integer totalType,Long userId, List<Integer> times, int type) {
         //构造数据
         //将全部激活量  或   品牌激活量  构造进入map  key为品牌id  或  all  或来客吧码牌
         Map<Integer,List<ActivityAddVO>> timeActivityMap = new HashMap<>();
         //查询来客吧码牌激活
-        List<TrendTimesVO> trendTimesVOLkbList = baseMapper.getActivityStatByLkbList(userId, times,totalType);
+        List<TrendTimesVO> trendTimesVOLkbList = lkbActTradeMapper.getActivityStatByLkbList(userId, times, totalType);
         //来客吧码牌不再品牌列表中 同all 需要做特殊处理
         for (TrendTimesVO trendTimesVO : trendTimesVOLkbList) {
             ArrayList<ActivityAddVO> activityAddVOS = new ArrayList<>();
@@ -217,7 +221,7 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
         //将map转换为返回实体类
         ArrayList<TimeVO> timeVOS = new ArrayList<>();
         //根据我们传入的时间进行写入
-        for (String time : times) {
+        for (Integer time : times) {
             List<ActivityAddVO> activityAddVOList = timeActivityMap.get(time);
             //存在数据则开始构造TimeVO
             if (activityAddVOList != null){

+ 3 - 2
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserNewTradeServiceImpl.java

@@ -38,8 +38,9 @@ public class KxsUserNewTradeServiceImpl extends ServiceImpl<KxsUserNewTradeMappe
                 tradeTrend.put(time, userAddTrendVO);
             }
         }
-
-        return tradeTrend.values().stream().toList();
+        List<UserAddTrendVO> list = new ArrayList<>(tradeTrend.values().stream().toList());
+        Collections.reverse(list);
+        return list;
     }
 }
 

+ 124 - 137
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java

@@ -22,10 +22,7 @@ import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetTradeDetailDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserTradeListDTO;
-import com.kxs.stat.api.model.KxsLkbTrade;
-import com.kxs.stat.api.model.KxsUserActTrade;
-import com.kxs.stat.api.model.KxsUserLogoutTrade;
-import com.kxs.stat.api.model.KxsUserTrade;
+import com.kxs.stat.api.model.*;
 import com.kxs.stat.api.vo.ShdTradeAmtVO;
 import com.kxs.stat.api.vo.TotalTradeAmtVO;
 import com.kxs.stat.api.vo.myUser.*;
@@ -257,7 +254,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         statUserGetUserStatByDayOrMonthVO.setActMchPercent(mchActPercentList);
 
         //新增激活商户趋势图
-        List<TrendVO> addMchTrendList = kxsUserActTradeService.getAddActMchTrend(userId, times,  type == 1 ? 1 : 0, TotalTypeEnum.TEAM, getBrandMap());
+        List<TrendVO> addMchTrendList = kxsUserActTradeService.getAddActMchTrend(userId, times, type == 1 ? 1 : 0, TotalTypeEnum.TEAM, getBrandMap());
         statUserGetUserStatByDayOrMonthVO.setMchAddTrend(addMchTrendList);
 
         //新增创客趋势图
@@ -268,60 +265,33 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
     }
 
     @Override
-    public R getHomeAmout(Long userId) {
+    public R getHomeAmount(Long userId) {
         LocalDate now = LocalDate.now();
-        String month = LocalDateTimeUtil.format(now, DatePattern.SIMPLE_MONTH_PATTERN);
-        String today = LocalDateTimeUtil.format(now, DatePattern.PURE_DATE_PATTERN);
+        Integer month = TotalDateUtil.getMonthNumber(now);
+        Integer today = TotalDateUtil.getDateNumber(now);
         //拼接表名
         String tableName = PREFIX_TABLE_NAME + month;
-////        一次性查询全部数据 已弃用
-//        StatUserGetHomeAmoutVO statUserGetHomeAmoutVO1 = baseMapper.getHomeAmout(userId,tableName,date,month);
         //今日交易额
         StatUserGetHomeAmoutVO statUserGetHomeAmoutVO = new StatUserGetHomeAmoutVO();
 
         //获取团队日总交易额
-        BigDecimal amountToDay = statUserGetHomeAmoutVO.getAmountToDay();
-        amountToDay = getAmountToDayOrMonth(userId, today, tableName, amountToDay, 1);
+        BigDecimal amountToDay = getAmountToDayOrMonth(userId, today, tableName, TotalTypeEnum.TEAM.getType());
         statUserGetHomeAmoutVO.setAmountToDay(amountToDay);
 
         //获取团队月总交易额
-        BigDecimal amountMonth = statUserGetHomeAmoutVO.getAmountMonth();
-        amountMonth = getAmountToDayOrMonth(userId, month, tableName, amountMonth, 2);
+        BigDecimal amountMonth = getAmountToDayOrMonth(userId, month, tableName, TotalTypeEnum.TEAM.getType());
         statUserGetHomeAmoutVO.setAmountMonth(amountMonth);
 
         //获取今日新增用户
-        Integer userAddToDay = statUserGetHomeAmoutVO.getUserAddToDay();
-        List<String> todayList = Collections.singletonList(today);
-        List<TrendTimesVO> userAddTrendToday = kxsUserNewTradeMapper.getUserAddTrend(userId, todayList, 1, 1);
-        for (TrendTimesVO trendTimesVO : userAddTrendToday) {
-            userAddToDay += trendTimesVO.getTotal();
-        }
-        statUserGetHomeAmoutVO.setUserAddToDay(userAddToDay);
-
+        statUserGetHomeAmoutVO.setUserAddToDay(kxsUserNewTradeMapper.selectToDayOrMonthCount(userId, today, TotalTypeEnum.TEAM.getType()));
         //获取本月新增用户
-        Integer userAddMonth = statUserGetHomeAmoutVO.getUserAddMonth();
-        List<String> monthList = Collections.singletonList(month);
-        List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2, 1);
-        for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
-            userAddMonth += trendTimesVO.getTotal();
-        }
-        statUserGetHomeAmoutVO.setUserAddMonth(userAddMonth);
+        statUserGetHomeAmoutVO.setUserAddMonth(kxsUserNewTradeMapper.selectToDayOrMonthCount(userId, month, TotalTypeEnum.TEAM.getType()));
 
         //获取今日新增商户
-        Integer merchantAddToDay = statUserGetHomeAmoutVO.getMerchantAddToDay();
-        List<TrendTimesVO> userActListByDay = kxsUserActTradeMapper.getUserActListByDayOrMonth(monthList, userId, null, 1, 1);
-        for (TrendTimesVO trendTimesVO : userActListByDay) {
-            merchantAddToDay += trendTimesVO.getTotal();
-        }
-        statUserGetHomeAmoutVO.setMerchantAddToDay(merchantAddToDay);
+        statUserGetHomeAmoutVO.setMerchantAddToDay(kxsUserActTradeMapper.getUserActByDayOrMonthCount(userId, today, TotalTypeEnum.SELF.getType()));
 
         //获取本月新增商户
-        Integer merchantAddMonth = statUserGetHomeAmoutVO.getMerchantAddMonth();
-        List<TrendTimesVO> userActListByMonth = kxsUserActTradeMapper.getUserActListByDayOrMonth(monthList, userId, null, 2, 1);
-        for (TrendTimesVO trendTimesVO : userActListByMonth) {
-            merchantAddMonth += trendTimesVO.getTotal();
-        }
-        statUserGetHomeAmoutVO.setMerchantAddMonth(merchantAddMonth);
+        statUserGetHomeAmoutVO.setMerchantAddMonth(kxsUserActTradeMapper.getUserActByDayOrMonthCount(userId, month, TotalTypeEnum.TEAM.getType()));
         return R.ok(statUserGetHomeAmoutVO);
     }
 
@@ -329,21 +299,15 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
     public R getMyTrade(StatUserGetMyTradeDTO param) {
         Long userId = SecurityUtils.getUser().getId();
         param.setUserId(userId);
-        String month = param.getMonth();
-        Integer type = param.getType();
+        Integer month = param.getMonth();
+        Integer totalType = param.getType();
         //拼接表名
         String tableName = CommonConstants.USER_TABLE_PREFIX + param.getMonth();
         StatUserGetMyTradeVO statUserGetMyTradeVO = new StatUserGetMyTradeVO();
-        KxsUserTrade kxsUserPosTrade = new KxsUserTrade();
+        //总交易
+        BigDecimal totalAmount = BigDecimal.ZERO;
         //获取pos交易额
-        try {
-            //此处存在查询的月份不在统计范围,找不到表的错误,直接包裹跳过视为当月无交易
-            kxsUserPosTrade = baseMapper.getMyPosOrCloudTrade(param, tableName, 0, userId, "");
-        } catch (Exception e) {
-            log.info(e.getMessage());
-        }
-        BigDecimal posDebitAmount = BigDecimal.ZERO;
-        BigDecimal posCreditAmount = BigDecimal.ZERO;
+        KxsUserTrade kxsUserPosTrade = baseMapper.getMyPosOrCloudTrade(param, tableName, 0, userId, null);
         if (kxsUserPosTrade != null) {
             BigDecimal proBDirectTradeAmt = kxsUserPosTrade.getProBDirectTradeAmt();//稳定期B贷记卡
             BigDecimal proADirectTradeAmt = kxsUserPosTrade.getProADirectTradeAmt();//稳定期A贷记卡
@@ -357,23 +321,19 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
             BigDecimal helpDebitTradeAmt = kxsUserPosTrade.getHelpDebitTradeAmt();//扶持期借记卡
 
             //pos借记卡
-            posDebitAmount = posDebitAmount.add(proBDebitTradeAmt).add(proADebitTradeAmt).add(proDebitTradeAmt).add(helpDebitTradeAmt);
+            BigDecimal posDebitAmount = BigDecimal.ZERO.add(proBDebitTradeAmt).add(proADebitTradeAmt).add(proDebitTradeAmt).add(helpDebitTradeAmt);
             //贷记卡
-            posCreditAmount = posCreditAmount.add(proBDirectTradeAmt).add(proADirectTradeAmt).add(proDirectTradeAmt).add(helpDirectTradeAmt);
+            BigDecimal posCreditAmount = BigDecimal.ZERO.add(proBDirectTradeAmt).add(proADirectTradeAmt).add(proDirectTradeAmt).add(helpDirectTradeAmt);
+
+            statUserGetMyTradeVO.setPosDebitAmount(posDebitAmount);//Pos借记卡
+            statUserGetMyTradeVO.setPosCreditAmount(posCreditAmount);//Pos贷记卡
+
+            totalAmount = totalAmount.add(posDebitAmount).add(posCreditAmount);
         }
-        statUserGetMyTradeVO.setPosDebitAmount(posDebitAmount);//Pos借记卡
-        statUserGetMyTradeVO.setPosCreditAmount(posCreditAmount);//Pos贷记卡
-        KxsUserTrade kxsUserCloudTrade = new KxsUserTrade();
         //获取云闪付交易额
-        try {
-            //此处存在查询的月份不在统计范围,找不到表的错误,直接包裹跳过视为当月无交易
-            kxsUserCloudTrade = baseMapper.getMyPosOrCloudTrade(param, tableName, 1, userId, "");
-        } catch (Exception e) {
-            log.info(e.getMessage());
-        }
-        BigDecimal cloudAmount = BigDecimal.ZERO;
+        KxsUserTrade kxsUserCloudTrade = baseMapper.getMyPosOrCloudTrade(param, tableName, 1, userId, "");
         if (kxsUserCloudTrade != null) {
-            cloudAmount = cloudAmount.add(kxsUserCloudTrade.getProBDirectTradeAmt())
+            BigDecimal cloudAmount = BigDecimal.ZERO.add(kxsUserCloudTrade.getProBDirectTradeAmt())
                     .add(kxsUserCloudTrade.getProADirectTradeAmt())
                     .add(kxsUserCloudTrade.getProDirectTradeAmt())
                     .add(kxsUserCloudTrade.getHelpDirectTradeAmt())
@@ -381,77 +341,93 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
                     .add(kxsUserCloudTrade.getProADebitTradeAmt())
                     .add(kxsUserCloudTrade.getProDebitTradeAmt())
                     .add(kxsUserCloudTrade.getHelpDebitTradeAmt());
+            statUserGetMyTradeVO.setCloudAmount(cloudAmount);
+            totalAmount = totalAmount.add(cloudAmount);
         }
-        statUserGetMyTradeVO.setCloudAmunt(cloudAmount);//云闪付
 
 
         //助力宝交易额
-        TotalTradeAmtVO totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, month, 2, type);
-        BigDecimal zlbAmt = BigDecimal.ZERO;
+        TotalTradeAmtVO totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, month, totalType);
         if (totalTradeAmtVO != null) {
+            BigDecimal zlbAmt = BigDecimal.ZERO;
             zlbAmt = totalTradeAmtVO.getZlbAmt();
+            statUserGetMyTradeVO.setZlbAmount(zlbAmt);//助力宝
+            totalAmount = totalAmount.add(zlbAmt);
         }
-        statUserGetMyTradeVO.setZlbAmount(zlbAmt);//助力宝
-
 
-        totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, month, 2, type);
-        BigDecimal lkbActAmt = BigDecimal.ZERO;
-        BigDecimal lkbAmt = BigDecimal.ZERO;
+        //来客吧交易额
+        totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, month, totalType);
         if (totalTradeAmtVO != null) {
-            lkbActAmt = totalTradeAmtVO.getLkbActAmt();
-            lkbAmt = totalTradeAmtVO.getLkbAmt();
+            BigDecimal lkbActAmt = totalTradeAmtVO.getLkbActAmt();
+            BigDecimal lkbAmt = totalTradeAmtVO.getLkbAmt();
+            statUserGetMyTradeVO.setLkbActivityAmount(lkbActAmt);//来客吧活动
+            statUserGetMyTradeVO.setLkbAmount(lkbAmt);//来客吧非活动
+            totalAmount = totalAmount.add(lkbActAmt).add(lkbAmt);
         }
-        statUserGetMyTradeVO.setLkbActivityAmount(lkbActAmt);//来客吧活动
-        statUserGetMyTradeVO.setLkbAmount(lkbAmt);//来客吧非活动
-
 
-        totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, month, 2, type);
-        BigDecimal gdAmount = BigDecimal.ZERO;
+        //广电话费
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, month, totalType);
         if (totalTradeAmtVO != null) {
-            gdAmount = totalTradeAmtVO.getGdAmount();
+            BigDecimal gdAmount = totalTradeAmtVO.getGdAmount();
+
+            statUserGetMyTradeVO.setGdTelephoneCharge(gdAmount);
+            totalAmount = totalAmount.add(gdAmount);
         }
-        statUserGetMyTradeVO.setGdTelephoneCharge(gdAmount);//广电话费
 
         //广电交易额
-        totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, month, 2, type);
-        BigDecimal gdActivityAmount = BigDecimal.ZERO;
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, month, totalType);
         if (totalTradeAmtVO != null) {
             Integer gdCount = totalTradeAmtVO.getGdCount();
             //广电激活量 * 10000
-            gdActivityAmount = gdActivityAmount.add(new BigDecimal(gdCount * 10000));
+            BigDecimal gdActivityAmount = BigDecimal.ZERO.add(new BigDecimal(gdCount * CommonConstants.GD_TO_PRICE));
+            //广电活动
+            statUserGetMyTradeVO.setGdActivityAmount(gdActivityAmount);
+
+            totalAmount = totalAmount.add(gdActivityAmount);
         }
-        statUserGetMyTradeVO.setGdActivityAmount(gdActivityAmount);//广电活动
 
-        BigDecimal totalAmount = BigDecimal.ZERO;
-        totalAmount = totalAmount.add(posDebitAmount).add(posCreditAmount).add(cloudAmount).add(zlbAmt).add(lkbActAmt).add(lkbAmt).add(gdAmount).add(gdActivityAmount);
-        statUserGetMyTradeVO.setTotalAmount(totalAmount);//总交易
 
-        //获取指定月新增用户
-        Integer userAddMonth = 0;
-        List<String> monthList = Arrays.asList(month);
-        List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2, type);
-        for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
-            userAddMonth += trendTimesVO.getTotal();
-        }
-        statUserGetMyTradeVO.setUserAddCount(userAddMonth);//新增用户
 
 
-        Integer totalUserCount = kxsUserNewTradeMapper.getUserAllTrend(userId, type);
-        statUserGetMyTradeVO.setTotalUserCount(totalUserCount != null ? totalUserCount : 0);//总用户
+        //获取指定月新增用户
+        Integer userAddMonth = kxsUserNewTradeMapper.selectToDayOrMonthCount(userId, month, TotalTypeEnum.TEAM.getType());
+        statUserGetMyTradeVO.setUserAddCount(userAddMonth);
 
-        //获取累计全部激活商户
-        Integer merchantAddMonth = kxsUserActTradeMapper.getUserActListByAll(userId, type, 1, 3, null);
-        statUserGetMyTradeVO.setActivateMerchantCount(merchantAddMonth);//商户总激活
+        //总用户
+        Long totalUserCount = kxsUserNewTradeMapper.selectCount(Wrappers.<KxsUserNewTrade>lambdaQuery()
+                .eq(KxsUserNewTrade::getUserId, userId)
+                .eq(KxsUserNewTrade::getTotalType, totalType));
+        statUserGetMyTradeVO.setTotalUserCount(totalUserCount);
 
-        //获取累计全部激活码牌
-        Integer signCount = kxsLkbActTradeMapper.getSignCount(userId, type);
+        //获取累计全部激活商户
+        Long merchantAddMonth = kxsUserActTradeMapper.selectCount(Wrappers.<KxsUserActTrade>lambdaQuery()
+                .eq(KxsUserActTrade::getUserId, userId)
+                .eq(KxsUserActTrade::getTotalType, totalType));
+        statUserGetMyTradeVO.setActivateMerchantCount(merchantAddMonth != null ? merchantAddMonth : 0);//商户总激活
+
+        //获取当月全部激活码牌
+        Long signCount = kxsLkbActTradeMapper.selectCount(Wrappers.<KxsLkbActTrade>lambdaQuery()
+                        .eq(KxsLkbActTrade::getUserId, userId)
+                .eq(KxsLkbActTrade::getTotalType, totalType)
+                .eq(KxsLkbActTrade::getTradeMonth, month));
         statUserGetMyTradeVO.setActivateSignCount(signCount != null ? signCount : 0);//码牌
 
-        //获取
-        Integer simCount = kxsUserActTradeMapper.getUserActListByAll(userId, type, 2, 2, Integer.valueOf(month));
+        //存量激活广电卡
+        Long simCount = kxsUserActTradeMapper.selectCount(Wrappers.<KxsUserActTrade>lambdaQuery()
+                .eq(KxsUserActTrade::getUserId, userId)
+                .eq(KxsUserActTrade::getBrandId, 14)
+                .eq(KxsUserActTrade::getTotalType, totalType));
         statUserGetMyTradeVO.setActivateSIMCount(simCount != null ? simCount : 0);//存量激活sim卡
-        Integer simToMonthCount = kxsUserActTradeMapper.getUserActListByAll(userId, type, 2, 1, Integer.valueOf(month));
-        statUserGetMyTradeVO.setActivateSIMToMonthCount(simToMonthCount != null ? simToMonthCount : 0);//当月
+        //当月激活广电卡
+        Long simToMonthCount = kxsUserActTradeMapper.selectCount(Wrappers.<KxsUserActTrade>lambdaQuery()
+                .eq(KxsUserActTrade::getUserId, userId)
+                .eq(KxsUserActTrade::getBrandId, 14)
+                .eq(KxsUserActTrade::getTradeMonth, month)
+                .eq(KxsUserActTrade::getTotalType, totalType));
+        statUserGetMyTradeVO.setActivateSIMToMonthCount(simToMonthCount != null ? simToMonthCount : 0);
+
+        statUserGetMyTradeVO.setTotalAmount(totalAmount);
+
         statUserGetMyTradeVO.setType(param.getType());
         return R.ok(statUserGetMyTradeVO);
     }
@@ -494,7 +470,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
                 return R.ok(statUserGetUserTradeStatListVOS);
             }
         }
-            return R.ok();
+        return R.ok();
 
     }
 
@@ -505,21 +481,20 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         Integer getType = param.getGetType();// 1获取日详情 2获取月详情
         Integer tradeType = param.getTradeType();//1获取增量 2获取存量 3获取全部
         Long userId = param.getUserId();//用户id
-        if(userId == null || userId == 0){
+        if (userId == null || userId == 0) {
             userId = SecurityUtils.getUser().getId();
         }
         Integer brandId = param.getBrandId();//品牌id
 
         String tableName;
-        switch (tradeType){
+        switch (tradeType) {
             case 1 -> tableName = CommonConstants.USER_TABLE_AFTER_PREFIX + month;
             case 2 -> tableName = CommonConstants.USER_TABLE_BEFORE_PREFIX + month;
             case 3 -> tableName = CommonConstants.USER_TABLE_PREFIX + month;
-            default ->  throw new GlobalCustomerException("参数错误");
+            default -> throw new GlobalCustomerException("参数错误");
         }
 
 
-
         StatUserGetTradeDetailVO statUserGetTradeDetailVO = new StatUserGetTradeDetailVO();
         statUserGetTradeDetailVO.setDate(month);//交易时间
         statUserGetTradeDetailVO.setBrandId(brandId);//品牌
@@ -619,7 +594,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = new ArrayList<>();
         //构造查询Dto
         StatUserGetMyTradeDTO statUserGetMyTradeDTO = new StatUserGetMyTradeDTO();
-        statUserGetMyTradeDTO.setMonth(month);
+        statUserGetMyTradeDTO.setMonth(Integer.valueOf(month));
         statUserGetMyTradeDTO.setType(totalType);
         for (int i = times.size() - 1; i >= 0; i--) {
             String time = times.get(i);
@@ -654,7 +629,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         //获取交易额
         //构造查询Dto
         StatUserGetMyTradeDTO statUserGetMyTradeDTO = new StatUserGetMyTradeDTO();
-        statUserGetMyTradeDTO.setMonth(month);
+        statUserGetMyTradeDTO.setMonth(Integer.valueOf(month));
         statUserGetMyTradeDTO.setType(totalType);
         ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = new ArrayList<>();
         //查询进半年需要循环查询不同的表
@@ -705,7 +680,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         KxsUserTrade myCloudTrade = null;
         try {
             //存在表不存在的月份,跳过报错视为无数据  查询云闪付
-            myCloudTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, tableName, 1, userId, getType == 1 ? date:null);
+            myCloudTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, tableName, 1, userId, getType == 1 ? date : null);
         } catch (Exception e) {
             log.info(e.getMessage());
         }
@@ -737,7 +712,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
 
         if (!tradeType.equals(2)) {//存量不存在以下数据
             //助力宝交易额
-            TotalTradeAmtVO TotalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, String.valueOf(date), getType, totalType);
+            TotalTradeAmtVO TotalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, Integer.valueOf(date), totalType);
             TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
 
@@ -746,7 +721,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
             totalAmount = totalAmount.add(zlbAmt);
 
             //来客吧交易额
-            TotalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, String.valueOf(date), getType, totalType);
+            TotalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, Integer.valueOf(date), totalType);
             TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
             BigDecimal lkbActAmt = TotalTradeAmtVO.getLkbActAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbActAmt();
@@ -758,7 +733,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
             statUserGetUserTradeStatListVO.setLkbAmount(lkbAmt);
             totalAmount = totalAmount.add(lkbAmt);
             //广电话费
-            TotalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, String.valueOf(date), getType, totalType);
+            TotalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, Integer.valueOf(date), totalType);
             TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
             BigDecimal gdAmount = TotalTradeAmtVO.getGdAmount() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getGdAmount();
@@ -768,9 +743,9 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
             if (tradeType.equals(3)) {//广电获取全部
                 //广电激活量
                 if (getType == 1) {
-                    TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), 3, totalType);
+                    TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActAllCount(userId, Integer.valueOf(date), totalType);
                 } else {
-                    TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), 4, totalType);
+                    TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActAllCount(userId, Integer.valueOf(date), totalType);
                 }
                 TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
@@ -779,7 +754,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
             }
             if (tradeType.equals(1)) {//广电获取增量  只获取当前时间
                 //广电激活量
-                TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), getType, totalType);
+                TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, Integer.valueOf(date), totalType);
                 TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
                 BigDecimal gdActAmt = BigDecimal.valueOf(TotalTradeAmtVO.getGdCount() != null ? TotalTradeAmtVO.getGdCount() * 10000 : 0);
@@ -790,37 +765,48 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         statUserGetUserTradeStatListVO.setTotalAmount(totalAmount);
 
         //查询各品牌交易总额
-        List<StatUserBrandTradeVO> statUserBrandTradeVOS = baseMapper.getStatUserBrandTradeVOS(userId,getType, tableName,totalType,date);
+        List<StatUserBrandTradeVO> statUserBrandTradeVOS = baseMapper.getStatUserBrandTradeVOS(userId, getType, tableName, totalType, date);
         statUserGetUserTradeStatListVO.setProductList(statUserBrandTradeVOS);
         return statUserGetUserTradeStatListVO;
     }
 
-    private BigDecimal getAmountToDayOrMonth(Long userId, String date, String tableName, BigDecimal amount, int type) {
+    /**
+     * 获取天或月的交易金额
+     *
+     * @param userId    用户 ID
+     * @param date      日期
+     * @param tableName 表名
+     * @param totalType 0个人 1团队
+     * @return {@link BigDecimal}
+     */
+    private BigDecimal getAmountToDayOrMonth(Long userId, Integer date, String tableName, Integer totalType) {
+
+        BigDecimal amount = BigDecimal.ZERO;
         //pos交易
-        TotalTradeAmtVO totalTradeAmtVO = baseMapper.getPosTrade(userId, tableName, date, type);
+        TotalTradeAmtVO totalTradeAmtVO = baseMapper.getPosTrade(userId, tableName, date, totalType);
         if (totalTradeAmtVO != null) {
             amount = amount.add(totalTradeAmtVO.getPosAmt());
         }
         //来客吧交易额
-        totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, date, type, 1);
+        totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, date, totalType);
         if (totalTradeAmtVO != null) {
             amount = amount.add(totalTradeAmtVO.getLkbAmt());
             amount = amount.add(totalTradeAmtVO.getLkbActAmt());
         }
         //助力宝交易额
-        totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, date, type, 1);
+        totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, date, totalType);
         if (totalTradeAmtVO != null) {
             amount = amount.add(totalTradeAmtVO.getZlbAmt());
         }
         //广电交易额
-        totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, date, type, 1);
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, date, totalType);
         if (totalTradeAmtVO != null) {
             Integer gdCount = totalTradeAmtVO.getGdCount();
             //广电激活量 * 10000
-            amount = amount.add(new BigDecimal(gdCount * 10000));
+            amount = amount.add(new BigDecimal(gdCount * CommonConstants.GD_TO_PRICE));
         }
         //广电话费
-        totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, date, type, 1);
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, date, totalType);
         if (totalTradeAmtVO != null) {
             amount = amount.add(totalTradeAmtVO.getGdAmount());
         }
@@ -839,7 +825,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
     private List<PercentVO> setTradeTotalAndPercent(Long userId, List<Integer> times, Integer type) {
 
         List<PercentVO> percentVOList = new ArrayList<>();
-        if(type == 1){
+        if (type == 1) {
             //近7天
             for (Integer day : times) {
                 Integer month = TotalDateUtil.getMonthNumber(LocalDateTimeUtil.parseDate(String.valueOf(day), DatePattern.PURE_DATE_PATTERN));
@@ -853,7 +839,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
                         return o1;
                     })).values().stream().toList();
 
-        }else{
+        } else {
             //近半年
             for (Integer month : times) {
                 List<PercentVO> userTradeTotal = baseMapper.getUserTradeMonthTotal(CommonConstants.USER_TABLE_PREFIX + month, userId, TotalTypeEnum.TEAM.getType());
@@ -881,7 +867,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
 
         MonthTableNameHandler.setData(MonthTableNameHandler.getThisMoth());
         List<TrendVO> trendVOList = new ArrayList<>();
-        if(type == 1){
+        if (type == 1) {
             //近7天交易趋势图
             LinkedHashMap<Integer, List<TrendTimesVO>> tradeTrend = new LinkedHashMap<>();
             for (Integer day : times) {
@@ -892,7 +878,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
             }
             initUserTrend(trendVOList, tradeTrend);
         }
-        if(type == 2){
+        if (type == 2) {
             //近半年
             LinkedHashMap<Integer, List<TrendTimesVO>> tradeTrend = new LinkedHashMap<>();
 
@@ -906,7 +892,8 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
 
         return trendVOList;
     }
-    private void initUserTrend(List<TrendVO> trendVOList, LinkedHashMap<Integer, List<TrendTimesVO>> tradeTrend){
+
+    private void initUserTrend(List<TrendVO> trendVOList, LinkedHashMap<Integer, List<TrendTimesVO>> tradeTrend) {
         //全部交易额
         TrendVO trendVO = new TrendVO();
         trendVO.setName("全部");
@@ -935,8 +922,8 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
     }
 
 
-    private Map<Integer, KxsBrand>getBrandMap(){
-        if(brandsMap == null){
+    private Map<Integer, KxsBrand> getBrandMap() {
+        if (brandsMap == null) {
             R<List<KxsBrand>> brandRes = remoteKxsProductService.loadByAllBrand();
             List<KxsBrand> brands = RetOps.of(brandRes)
                     .getData()

+ 28 - 4
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsLkbActTradeMapper.xml

@@ -15,11 +15,35 @@
         <result column="total_type" property="totalType" />
 
     </resultMap>
-    <select id="getSignCount" resultType="java.lang.Integer">
-        select sum(act_num) from kxs_lkb_act_trade
-        where del_flag != 1
-        and total_type = #{type}
+    <select id="getActivityStatByLkbList" resultType="com.kxs.stat.api.vo.statUser.TrendTimesVO">
+        select
+        sum(act_num) as total, trade_date as `time`
+        from
+        kxs_lkb_act_trade
+        where
+        del_flag != 1
+        and total_type = #{totalType}
         and user_id = #{userId}
+        and trade_date in
+        <foreach collection="times" item="time" open="(" separator="," close=")">
+            #{time}
+        </foreach>
+        group by
+        `time`
+    </select>
+    <select id="getActivityStatByLkb" resultType="java.lang.Integer">
+        select
+        sum(act_num)
+        from
+        kxs_lkb_act_trade
+        where
+        del_flag != 1
+        and total_type = 0
+        and user_id = #{userId}
+        and trade_date in
+        <foreach collection="times" item="time" open="(" separator="," close=")">
+            #{time}
+        </foreach>
     </select>
 
 </mapper>

+ 5 - 5
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsLkbTradeMapper.xml

@@ -30,14 +30,14 @@
         SELECT SUM(trade_amt) as lkbAmt, SUM(act_trade_amt) lkbActAmt
         FROM kxs_lkb_trade
         <where>
+            and user_id = #{userId}
             and total_type = #{totalType}
-            <if test="type == 1">
-                and trade_date = #{date}
-            </if>
-            <if test="type == 2">
+            <if test="date != null and date.toString().length() == 6">
                 and trade_month = #{date}
             </if>
-            and user_id = #{userId}
+            <if test="date != null and date.toString().length() == 8">
+                and trade_date = #{date}
+            </if>
         </where>
     </select>
 

+ 15 - 53
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserActTradeMapper.xml

@@ -109,59 +109,8 @@
             and brand_id = 14
         </if>
     </select>
-    <select id="getActivityStatByLkb" resultType="java.lang.Integer">
-        select
-        sum(act_num)
-        from
-        kxs_lkb_act_trade
-        where
-        del_flag != 1
-        and total_type = 0
-        and user_id = #{userId}
-        and trade_date in
-        <foreach collection="times" item="time" open="(" separator="," close=")">
-            #{time}
-        </foreach>
-    </select>
-    <select id="getUserActListByAll" resultType="java.lang.Integer">
-        SELECT
-        SUM(act_num) AS total
-        FROM
-        kxs_user_act_trade
-        WHERE del_flag != 1
-        AND user_id = #{userId}
-        AND total_type = #{totalType}
-        <if test="type == 1">
-            and brand_id != 14
-        </if>
-        <if test="type == 2">
-            and brand_id = 14
-        </if>
-        <if test="toMonth != 3">
-            <if test="toMonth == 1">
-                and trade_month != #{month}
-            </if>
-            <if test="toMonth == 2">
-                and trade_month = #{month}
-            </if>
-        </if>
-    </select>
-    <select id="getActivityStatByLkbList" resultType="com.kxs.stat.api.vo.statUser.TrendTimesVO">
-        select
-        sum(act_num) as total, trade_date as `time`
-        from
-        kxs_lkb_act_trade
-        where
-        del_flag != 1
-        and total_type = #{totalType}
-        and user_id = #{userId}
-        and trade_date in
-        <foreach collection="times" item="time" open="(" separator="," close=")">
-            #{time}
-        </foreach>
-        group by
-        `time`
-    </select>
+
+
     <select id="getMchActTimePercent" resultType="com.kxs.stat.api.vo.myUser.MchActPercentVO">
         select sum(act_num) as act_num, brand_id
         from kxs_user_act_trade
@@ -216,6 +165,19 @@
             group by brand_id, trade_date
         </if>
     </select>
+    <select id="getUserActByDayOrMonthCount" resultType="java.lang.Integer">
+        select IFNULL(SUM(act_num), 0) from kxs_user_act_trade
+        <where>
+            and total_type = #{totalType}
+            and user_id = #{userId}
+            <if test="date != null and date.toString().length() == 6">
+                and trade_month = #{date}
+            </if>
+            <if test="date != null and date.toString().length() == 8">
+                and trade_date = #{date}
+            </if>
+        </where>
+    </select>
 
 
 </mapper>

+ 39 - 33
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserGdTradeMapper.xml

@@ -3,23 +3,21 @@
 <mapper namespace="com.kxs.stat.biz.mapper.KxsUserGdTradeMapper">
 
     <resultMap type="com.kxs.stat.api.model.KxsUserGdTrade" id="KxsUserGdTradeMap">
-        <result column="id" property="id" />
-        <result column="create_time" property="createTime" />
-        <result column="update_time" property="updateTime" />
-        <result column="del_flag" property="delFlag" />
-        <result column="version" property="version" />
-        <result column="trade_date" property="tradeDate" />
-        <result column="trade_month" property="tradeMonth" />
-        <result column="help_trade_amt" property="helpTradeAmt" />
-        <result column="user_id" property="userId" />
-        <result column="pro_trade_amt" property="proTradeAmt" />
-        <result column="trade_amt" property="tradeAmt" />
-        <result column="total_type" property="totalType" />
+        <result column="id" property="id"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="del_flag" property="delFlag"/>
+        <result column="version" property="version"/>
+        <result column="trade_date" property="tradeDate"/>
+        <result column="trade_month" property="tradeMonth"/>
+        <result column="help_trade_amt" property="helpTradeAmt"/>
+        <result column="user_id" property="userId"/>
+        <result column="pro_trade_amt" property="proTradeAmt"/>
+        <result column="trade_amt" property="tradeAmt"/>
+        <result column="total_type" property="totalType"/>
 
     </resultMap>
 
-
-
     <select id="getGdActCount" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">
         SELECT SUM(act_num) as gdCount
         FROM kxs_user_act_trade
@@ -27,33 +25,41 @@
             and brand_id = 14
             and total_type = #{totalType}
             and user_id = #{userId}
-            <choose>
-                <when test="type == 1">
-                    AND trade_date = #{date}
-                </when>
-                <when test="type == 2">
-                    AND trade_month = #{date}
-                </when>
-                <when test="type == 3">
-                    AND  <![CDATA[ trade_date <=  #{date} ]]>
-                </when>
-                <when test="type == 4">
-                    AND <![CDATA[ trade_month <= #{date} ]]>
-                </when>
-            </choose>
+            <if test="date != null and date.toString().length() == 6">
+                and trade_month = #{date}
+            </if>
+            <if test="date != null and date.toString().length() == 8">
+                and trade_date = #{date}
+            </if>
         </where>
     </select>
-    <select id="getGdTrade" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">
-        select  SUM(trade_amt) as gdAmount from kxs_user_gd_trade
+
+    <select id="getGdActAllCount" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">
+        SELECT SUM(act_num) as gdCount
+        FROM kxs_user_act_trade
         <where>
+            and brand_id = 14
             and total_type = #{totalType}
             and user_id = #{userId}
-            <if test="type == 1">
-                and trade_date = #{date}
+            <if test="date != null and date.toString().length() == 6">
+                and <![CDATA[ trade_month <= #{date} ]]>
+            </if>
+            <if test="date != null and date.toString().length() == 8">
+                and <![CDATA[ trade_date <=  #{date} ]]>
             </if>
-            <if test="type == 2">
+        </where>
+    </select>
+    <select id="getGdTrade" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">
+        select SUM(trade_amt) as gdAmount from kxs_user_gd_trade
+        <where>
+            and total_type = #{totalType}
+            and user_id = #{userId}
+            <if test="date != null and date.toString().length() == 6">
                 and trade_month = #{date}
             </if>
+            <if test="date != null and date.toString().length() == 8">
+                and trade_date = #{date}
+            </if>
         </where>
     </select>
 

+ 13 - 42
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserNewTradeMapper.xml

@@ -15,48 +15,6 @@
         <result column="new_count" property="newCount" />
 
     </resultMap>
-    <select id="getUserAddTrend" resultType="com.kxs.stat.api.vo.statUser.TrendTimesVO">
-        select
-            sum(new_count) as total
-        <if test="type == 1">
-            ,trade_date
-        </if>
-        <if test="type == 2">
-            ,trade_month
-        </if>
-        from kxs_user_new_trade
-        where
-            del_flag != 1
-        and user_id = #{userId}
-        <if test="type == 1">
-            and trade_date in
-            <foreach collection="times" item="time" open="(" separator="," close=")">
-                #{time}
-            </foreach>
-        </if>
-        <if test="type == 2">
-            and trade_month in
-            <foreach collection="times" item="time" open="(" separator="," close=")">
-                #{time}
-            </foreach>
-        </if>
-        and total_type = #{totalType}
-        GROUP BY
-        <if test="type == 1">
-            trade_date
-        </if>
-        <if test="type == 2">
-            trade_month
-        </if>
-    </select>
-    <select id="getUserAllTrend" resultType="java.lang.Integer">
-        select sum(new_count) as totalCount
-        from kxs_user_new_trade
-        where
-            del_flag != 1
-        and user_id = #{userId}
-        and total_type = #{type}
-    </select>
     <select id="getAddUserTrend" resultType="com.kxs.stat.api.vo.myUser.UserAddTrendVO">
         select sum(new_count) as num,
         <if test="dateType != null and dateType == 0">
@@ -89,5 +47,18 @@
             group by trade_date
         </if>
     </select>
+    <select id="selectToDayOrMonthCount" resultType="java.lang.Integer">
+        select IFNULL(SUM(new_count), 0) from kxs_user_new_trade
+        <where>
+            and total_type = #{totalType}
+            and user_id = #{userId}
+            <if test="date != null and date.toString().length() == 6">
+                and trade_month = #{date}
+            </if>
+            <if test="date != null and date.toString().length() == 8">
+                and trade_date = #{date}
+            </if>
+        </where>
+    </select>
 
 </mapper>

+ 6 - 6
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserTradeMapper.xml

@@ -100,13 +100,13 @@
         pro_debit_trade_amt + pro_direct_trade_amt + help_debit_trade_amt + help_direct_trade_amt) as posAmt
         from ${tableName}
         <where>
-            and total_type = 1
             and user_id = #{userId}
-        <if test="type == 1">
-            and trade_date = #{date}
-        </if>
-        <if test="type == 2">
+            and total_type = #{totalType}
+        <if test="date != null and date.toString().length() == 6">
             and trade_month = #{date}
+        </if>
+        <if test="date != null and date.toString().length() == 8">
+            and trade_date = #{date}
          </if>
         </where>
     </select>
@@ -125,7 +125,7 @@
             and total_type = #{param.type}
             and user_id = #{userId}
             and trade_type = #{tradeType}
-            <if test="date != '' and date != null">
+            <if test="date != null and date != '' ">
                 and trade_date = #{date}
             </if>
         </where>

+ 5 - 6
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsZlbTradeMapper.xml

@@ -19,14 +19,13 @@
         select sum(trade_amt) as zlbAmt from  kxs_zlb_trade
         <where>
             and user_id = #{userId}
-            <if test="type == 1">
-                and trade_date = #{date}
-            </if>
-            <if test="type == 2">
+            and total_type = #{totalType}
+            <if test="date != null and date.toString().length() == 6">
                 and trade_month = #{date}
             </if>
-            and del_flag != 1
-            and total_type = #{totalType}
+            <if test="date != null and date.toString().length() == 8">
+                and trade_date = #{date}
+            </if>
         </where>
     </select>