소스 검색

修改了百城千团校验机制, 计奖交易-我的业绩接口已完成,商户统计(未完成)

Pota1ovO 2 년 전
부모
커밋
3328b568c5
33개의 변경된 파일447개의 추가작업 그리고 65개의 파일을 삭제
  1. 13 2
      kxs-common/kxs-common-core/src/main/java/com/kxs/common/core/util/AssertUtil.java
  2. 4 4
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/dto/statUser/StatUserGetMyTradeDTO.java
  3. 6 2
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/StatUserGetMyTradeVO.java
  4. 21 0
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/TimeVO.java
  5. 0 11
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/Times.java
  6. 20 0
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/TimesVO.java
  7. 17 0
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/activityAddVO.java
  8. 9 4
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatUserController.java
  9. 8 1
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbActTradeMapper.java
  10. 1 1
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbTradeMapper.java
  11. 12 1
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserActTradeMapper.java
  12. 2 2
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserGdTradeMapper.java
  13. 5 1
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserNewTradeMapper.java
  14. 9 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserTradeMapper.java
  15. 9 2
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsZlbTradeMapper.java
  16. 3 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserActTradeService.java
  17. 102 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserActTradeServiceImpl.java
  18. 125 8
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java
  19. 6 0
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsLkbActTradeMapper.xml
  20. 1 1
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsLkbTradeMapper.xml
  21. 23 0
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserActTradeMapper.xml
  22. 2 2
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserGdTradeMapper.xml
  23. 9 1
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserNewTradeMapper.xml
  24. 17 0
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserTradeMapper.xml
  25. 1 1
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsZlbTradeMapper.xml
  26. 0 1
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampAddBcqtTeamDTO.java
  27. 2 1
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/CampController.java
  28. 1 3
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/MorningController.java
  29. 1 1
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamService.java
  30. 15 11
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamServiceImpl.java
  31. 1 1
      kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamDetailMapper.xml
  32. 1 2
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdTradeAmtServiceImpl.java
  33. 1 1
      kxs-user/kxs-user-biz/src/main/resources/mapper/KxsUserMapper.xml

+ 13 - 2
kxs-common/kxs-common-core/src/main/java/com/kxs/common/core/util/AssertUtil.java

@@ -6,7 +6,6 @@ package com.kxs.common.core.util;
 
 
 import com.kxs.common.core.exception.GlobalCustomerException;
 import com.kxs.common.core.exception.GlobalCustomerException;
 
 
-import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.Pattern;
 
 
@@ -22,6 +21,7 @@ public class AssertUtil {
      private static final Pattern CHINA_PATTERN_PHONE = Pattern.compile("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$");
      private static final Pattern CHINA_PATTERN_PHONE = Pattern.compile("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$");
 
 
     private static final Pattern YYYY_MM = Pattern.compile("^\\d{4}-(0[1-9]|1[0-2])$");
     private static final Pattern YYYY_MM = Pattern.compile("^\\d{4}-(0[1-9]|1[0-2])$");
+    private static final Pattern YYYYMM = Pattern.compile("^\\d{4}(0[1-9]|1[0-2])$");
     private static final Pattern INTERVAL_VARIABLE_AMOUNT = Pattern.compile("^(-?\\d+(\\.\\d{1,2})?)-(-?\\d+(\\.\\d{1,2})?)$");
     private static final Pattern INTERVAL_VARIABLE_AMOUNT = Pattern.compile("^(-?\\d+(\\.\\d{1,2})?)-(-?\\d+(\\.\\d{1,2})?)$");
     public static final String CHINA_PATTERN_PHONE_STR =  "^((13[0-9])|(14[014-9])|(15[0-35-9])|(16[2567])|(17[0-8])|(18[0-9])|(19[0-35-9]))\\d{8}$";
     public static final String CHINA_PATTERN_PHONE_STR =  "^((13[0-9])|(14[014-9])|(15[0-35-9])|(16[2567])|(17[0-8])|(18[0-9])|(19[0-35-9]))\\d{8}$";
 
 
@@ -39,7 +39,7 @@ public class AssertUtil {
     /**--------------------------------------------------------
     /**--------------------------------------------------------
      时间格式断言
      时间格式断言
      --------------------------------------------------------**/
      --------------------------------------------------------**/
-    public static void isYyyyMM(String month){
+    public static void isSimpleMonthPattern(String month){
 
 
         //格式校验
         //格式校验
         Matcher m = YYYY_MM.matcher(month);
         Matcher m = YYYY_MM.matcher(month);
@@ -47,6 +47,17 @@ public class AssertUtil {
             throw new GlobalCustomerException("时间格式错误yyyy-MM");
             throw new GlobalCustomerException("时间格式错误yyyy-MM");
         }
         }
     }
     }
+    /**--------------------------------------------------------
+     时间格式断言
+     --------------------------------------------------------**/
+    public static void isyyyyMM(String month){
+
+        //格式校验
+        Matcher m = YYYYMM.matcher(month);
+        if(!m.matches()){
+            throw new GlobalCustomerException("时间格式错误yyyyMM");
+        }
+    }
     /**--------------------------------------------------------
     /**--------------------------------------------------------
      区间格式校验  金额
      区间格式校验  金额
      --------------------------------------------------------**/
      --------------------------------------------------------**/

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

@@ -17,14 +17,14 @@ public class StatUserGetMyTradeDTO {
      * 获取月份
      * 获取月份
      */
      */
     @Schema(description = "获取月份")
     @Schema(description = "获取月份")
-    private Object month;
+    private String month;
 
 
 
 
     /**
     /**
-     * 1:个人 2:计奖
+     * 0:个人 1:计奖
      */
      */
-    @Schema(description = "1:个人 2:计奖")
-    private Object type;
+    @Schema(description = "0:个人 1:计奖")
+    private String type;
 
 
 
 
 
 

+ 6 - 2
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/StatUserGetMyTradeVO.java

@@ -115,11 +115,15 @@ public class StatUserGetMyTradeVO implements Serializable {
 
 
 
 
     /**
     /**
-     * 激活SIM卡
+     * 存量激活SIM卡
      */
      */
     @Schema(description = "激活SIM卡")
     @Schema(description = "激活SIM卡")
     private Object activateSIMCount;
     private Object activateSIMCount;
-
+    /**
+     * 当月激活SIM卡
+     */
+    @Schema(description = "当月激活SIM卡")
+    private Object activateSIMToMonthCount;
 
 
     /**
     /**
      * 1:个人  2:计奖
      * 1:个人  2:计奖

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

@@ -0,0 +1,21 @@
+package com.kxs.stat.api.vo.statUser;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 计奖交易-激活商户vo 时间分组实体
+ */
+@Data
+public class TimeVO {
+    /**
+     * 时间
+     */
+    private String date;
+    /**
+     * 激活品牌分组集合
+     */
+    private List<activityAddVO> activityAdd;
+
+}

+ 0 - 11
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/Times.java

@@ -1,11 +0,0 @@
-package com.kxs.stat.api.vo.statUser;
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class Times {
-    private String name;
-    private List<String> time;
-}

+ 20 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/TimesVO.java

@@ -0,0 +1,20 @@
+package com.kxs.stat.api.vo.statUser;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 计奖交易-激活商户vo
+ */
+@Data
+public class TimesVO {
+    /**
+     * 用户名
+     */
+    private String name;
+    /**
+     * 激活商户列表 根据时间
+     */
+    private List<TimeVO> time;
+}

+ 17 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/activityAddVO.java

@@ -0,0 +1,17 @@
+package com.kxs.stat.api.vo.statUser;
+
+import lombok.Data;
+/**
+ * 计奖交易-激活商户vo 时间分组实体 品牌分组集合
+ */
+@Data
+public class activityAddVO {
+    /**
+     * 品牌  all为总激活
+     */
+    private String name;
+    /**
+     * 激活数
+     */
+    private Integer total;
+}

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

@@ -7,8 +7,9 @@ import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 
 
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
-import com.kxs.stat.api.vo.statUser.Times;
+import com.kxs.stat.api.model.KxsUserActTrade;
 import com.kxs.stat.biz.service.KxsMerchantTradeService;
 import com.kxs.stat.biz.service.KxsMerchantTradeService;
+import com.kxs.stat.biz.service.KxsUserActTradeService;
 import com.kxs.stat.biz.service.KxsUserTradeService;
 import com.kxs.stat.biz.service.KxsUserTradeService;
 
 
 import jakarta.validation.Valid;
 import jakarta.validation.Valid;
@@ -34,7 +35,7 @@ public class KxsStatUserController {
     private final KxsUserTradeService kxsUserTradeService;
     private final KxsUserTradeService kxsUserTradeService;
 
 
     private final KxsMerchantTradeService kxsMerchantTradeService;
     private final KxsMerchantTradeService kxsMerchantTradeService;
-
+    private final KxsUserActTradeService kxsUserActTradeService;
     /**
     /**
      * 用户详情-获取用户统计数据
      * 用户详情-获取用户统计数据
      *
      *
@@ -89,11 +90,15 @@ public class KxsStatUserController {
      *
      *
      * @param page 分页对象
      * @param page 分页对象
      * @param totalType 统计类型 0 个人  1 团队
      * @param totalType 统计类型 0 个人  1 团队
+     * @param
      * @return 计奖交易-激活商户统计
      * @return 计奖交易-激活商户统计
      */
      */
     @GetMapping("/getActivateMerchantList")
     @GetMapping("/getActivateMerchantList")
-    public R getActivateMerchantList(@ParameterObject Page<Times> page, @RequestParam("totalType")Integer totalType) {
-        return R.ok();
+    public R getActivateMerchantList(@ParameterObject Page<KxsUserActTrade> page, @RequestParam("totalType")Integer totalType, @RequestParam("userId")Long userId,@RequestParam("month")String month) {
+        if (userId == 0){
+            userId = SecurityUtils.getUser().getId();
+        }
+        return kxsUserActTradeService.getActivateMerchantList(page,totalType,userId,month);
     }
     }
 
 
 
 

+ 8 - 1
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsLkbActTradeMapper.java

@@ -3,6 +3,7 @@ package com.kxs.stat.biz.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kxs.stat.api.model.KxsLkbActTrade;
 import com.kxs.stat.api.model.KxsLkbActTrade;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
 /**
  * 来客吧码牌激活统计表(KxsLkbActTrade)表数据库访问层
  * 来客吧码牌激活统计表(KxsLkbActTrade)表数据库访问层
@@ -12,6 +13,12 @@ import org.apache.ibatis.annotations.Mapper;
  */
  */
 @Mapper
 @Mapper
 public interface KxsLkbActTradeMapper extends BaseMapper<KxsLkbActTrade> {
 public interface KxsLkbActTradeMapper extends BaseMapper<KxsLkbActTrade> {
-
+    /**
+     * 获取全部码牌激活
+     * @param userId
+     * @param type 0 个人  1团队
+     * @return
+     */
+    Integer getSignCount(@Param("userId") Long userId,@Param("type") String type);
 }
 }
 
 

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

@@ -34,6 +34,6 @@ public interface KxsLkbTradeMapper extends BaseMapper<KxsLkbTrade> {
      * @param type 1 日  2 月
      * @param type 1 日  2 月
      * @return
      * @return
      */
      */
-    TotalTradeAmtVO getLkbTrade(@Param("userId")Long userId, @Param("date")String date,@Param("type")Integer type);
+    TotalTradeAmtVO getLkbTrade(@Param("userId")Long userId, @Param("date")String date,@Param("type")Integer type, @Param("totalType")Integer totalType);
 }
 }
 
 

+ 12 - 1
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserActTradeMapper.java

@@ -59,6 +59,17 @@ public interface KxsUserActTradeMapper extends BaseMapper<KxsUserActTrade> {
      * @param times 指定日
      * @param times 指定日
      * @return
      * @return
      */
      */
-    Integer getActivityStatByLkb(Long userId, List<String> times);
+    Integer getActivityStatByLkb(@Param("userId")Long userId,@Param("times") List<String> times);
+
+    /**
+     * 获取全部激活
+     * @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);
 }
 }
 
 

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

@@ -20,7 +20,7 @@ public interface KxsUserGdTradeMapper extends BaseMapper<KxsUserGdTrade> {
      * @param date 日
      * @param date 日
      * @return
      * @return
      */
      */
-    TotalTradeAmtVO getGdActCount(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type);
+    TotalTradeAmtVO getGdActCount(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type,@Param("totalType") Integer totalType);
 
 
     /**
     /**
      * 获取广电卡话费
      * 获取广电卡话费
@@ -28,6 +28,6 @@ public interface KxsUserGdTradeMapper extends BaseMapper<KxsUserGdTrade> {
      * @param date
      * @param date
      * @return
      * @return
      */
      */
-    TotalTradeAmtVO getGdTrade(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type);
+    TotalTradeAmtVO getGdTrade(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type,@Param("totalType") Integer totalType);
 }
 }
 
 

+ 5 - 1
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserNewTradeMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kxs.stat.api.model.KxsUserNewTrade;
 import com.kxs.stat.api.model.KxsUserNewTrade;
 import com.kxs.stat.api.vo.statUser.TrendTimesVO;
 import com.kxs.stat.api.vo.statUser.TrendTimesVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -20,8 +21,11 @@ public interface KxsUserNewTradeMapper extends BaseMapper<KxsUserNewTrade> {
      * @param userId
      * @param userId
      * @param times 指定日期集合
      * @param times 指定日期集合
      * @param type 1获取近7日,2获取近半年
      * @param type 1获取近7日,2获取近半年
+     * @param totalType 0个人  1团队
      * @return
      * @return
      */
      */
-    List<TrendTimesVO> getUserAddTrend(Long userId, List<String> times, Integer type);
+    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")String type);
 }
 }
 
 

+ 9 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserTradeMapper.java

@@ -1,6 +1,7 @@
 package com.kxs.stat.biz.mapper;
 package com.kxs.stat.biz.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.model.KxsUserTrade;
 import com.kxs.stat.api.model.KxsUserTrade;
 import com.kxs.stat.api.vo.ShdTradeAmtVO;
 import com.kxs.stat.api.vo.ShdTradeAmtVO;
 import com.kxs.stat.api.vo.TotalTradeAmtVO;
 import com.kxs.stat.api.vo.TotalTradeAmtVO;
@@ -85,5 +86,13 @@ public interface KxsUserTradeMapper extends BaseMapper<KxsUserTrade> {
      * @return
      * @return
      */
      */
     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")String date,@Param("type")Integer type);
+
+    /**
+     * 获取我的业绩
+     * @param param type 1:个人 2:计奖
+     * @param tradeType  0pos  1云闪付
+     * @return
+     */
+    KxsUserTrade getMyPosOrCloudTrade(@Param("param")StatUserGetMyTradeDTO param, @Param("tableName")String tableName, @Param("tradeType")Integer tradeType,@Param("userId")Long userId);
 }
 }
 
 

+ 9 - 2
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsZlbTradeMapper.java

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

+ 3 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserActTradeService.java

@@ -1,5 +1,6 @@
 package com.kxs.stat.biz.service;
 package com.kxs.stat.biz.service;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.common.core.util.R;
 import com.kxs.common.core.util.R;
 import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
 import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
@@ -18,5 +19,7 @@ public interface KxsUserActTradeService extends IService<KxsUserActTrade> {
 
 
 
 
     List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(List<GetActivityStatByIdAndTimeDTO> param);
     List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(List<GetActivityStatByIdAndTimeDTO> param);
+
+    R getActivateMerchantList(Page<KxsUserActTrade> page, Integer totalType,Long userId,String month);
 }
 }
 
 

+ 102 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserActTradeServiceImpl.java

@@ -1,16 +1,30 @@
 package com.kxs.stat.biz.service.impl;
 package com.kxs.stat.biz.service.impl;
+import java.math.BigDecimal;
 
 
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.LocalDateTimeUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.util.AssertUtil;
 import com.kxs.common.core.util.R;
 import com.kxs.common.core.util.R;
 import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
 import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
 import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
 import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
+import com.kxs.stat.api.vo.statUser.TimeVO;
+import com.kxs.stat.api.vo.statUser.TimesVO;
+import com.kxs.stat.api.vo.statUser.TrendTimesVO;
+import com.kxs.stat.api.vo.statUser.TrendVO;
 import com.kxs.stat.biz.mapper.KxsUserActTradeMapper;
 import com.kxs.stat.biz.mapper.KxsUserActTradeMapper;
 import com.kxs.stat.api.model.KxsUserActTrade;
 import com.kxs.stat.api.model.KxsUserActTrade;
 import com.kxs.stat.biz.service.KxsUserActTradeService;
 import com.kxs.stat.biz.service.KxsUserActTradeService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 创客激活统计表(KxsUserActTrade)表服务实现类
  * 创客激活统计表(KxsUserActTrade)表服务实现类
@@ -43,5 +57,93 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
         }
         }
         return getActivityStatByIdAndTimeVOS;
         return getActivityStatByIdAndTimeVOS;
     }
     }
+
+    @Override
+    public R getActivateMerchantList(Page<KxsUserActTrade> page, Integer totalType,Long userId,String month) {
+        LocalDate now = LocalDate.now();
+        List<String> times = new ArrayList<>();
+        int type = 0;
+        if (month.equals("0")){
+            type = 2;
+            //查询近半年
+            //近半年
+            for (int i = 0; i < 6; i++) {
+                // 计算过去半年每月月份
+                LocalDate currentDay = now.minusMonths(i);
+                // 将LocalDate转换为字符串
+                String currentDateString = LocalDateTimeUtil.format(currentDay, DatePattern.SIMPLE_MONTH_PATTERN);
+                times.add(currentDateString);
+            }
+
+            //查询全部激活
+            List<TrendTimesVO> trendTimesVOS = baseMapper.getUserActListByDayOrMonth(times, userId,null, type);
+            //查询激活, 根据品牌分组
+            List<TrendTimesVO> trendTimesVOListBrand = baseMapper.getUserActListByDayOrMonth(times, userId, 1, type);
+
+            // todo  暂停
+            //构造数据
+            //将全部交易额以及品牌交易额构造进入map  key为品牌id  或  all
+//            ArrayList<TimeVO> allTimeVOS = new ArrayList<>();
+//            Map<String,List<TimeVO>> treadTrend = new HashMap<>();
+//            for (TrendTimesVO trendTimesVO : trendTimesVOS) {
+//                String time = trendTimesVO.getTime();
+//                BigDecimal amount = trendTimesVO.getAmount();
+//                Integer total = trendTimesVO.getTotal();
+//                Integer brandId = trendTimesVO.getBrandId();
+//
+//
+//                TimeVO timeVO = new TimeVO();
+//                timeVO.setDate(time);
+//                timeVO.setActivityAdd();
+//
+//                allTimeVOS.add(timeVO);
+//            }
+//            treadTrend.put("all", allTimeVOS);
+//
+//            for (TrendTimesVO trendTimesVO : trendTimesVOListBrand) {
+//                List<TrendTimesVO> trendTimesVOSBrand = treadTrend.get(trendTimesVO.getBrandId().toString());
+//
+//            }
+//            //将map转换为返回实体类
+//            ArrayList<TrendVO> trendVOS = new ArrayList<>();
+//            for (Map.Entry<String, List<TrendTimesVO>> entry : treadTrend.entrySet()) {
+//                TrendVO trendVO = new TrendVO();
+//                trendVO.setName(entry.getKey());
+//                trendVO.setTimes(entry.getValue());
+//                trendVOS.add(trendVO);
+//            }
+        }else {
+            type = 1;
+            //校验时间格式是yyyyMM
+            AssertUtil.isyyyyMM(month);
+            //判断month是否是本月  否则获取月份中全部日日期
+            int year = Integer.parseInt(month.substring(0, 4));
+            int monthOfYear = Integer.parseInt(month.substring(4, 6));
+            // 判断给定的月份字符串是否表示当前月份
+            boolean isCurrentMonth = year == now.getYear() && monthOfYear == now.getMonthValue();
+            // 如果是当前月份,则生成本月到今天的日期字符串
+            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")));
+                }
+            } else {
+                // 如果不是当前月份,则生成整个月的日期字符串
+                LocalDate firstDayOfMonth = LocalDate.of(year, monthOfYear, 1);
+                int daysInMonth = firstDayOfMonth.lengthOfMonth();
+                for (int day = 1; day <= daysInMonth; day++) {
+                    LocalDate date = firstDayOfMonth.withDayOfMonth(day);
+                    times.add(date.format(DateTimeFormatter.ofPattern("yyyyMMdd")));
+                }
+            }
+        }
+
+        //查询广电激活
+        Integer gdNumber = baseMapper.getActivityStatByGdOrPos(userId,times,2);
+        //查询来客吧激活
+        Integer lkbNumber = baseMapper.getActivityStatByLkb(userId,times);
+        TimesVO timesVO = new TimesVO();
+        return null;
+    }
 }
 }
 
 

+ 125 - 8
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kxs.common.core.constant.CommonConstants;
 import com.kxs.common.core.constant.CommonConstants;
 import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.common.core.util.R;
 import com.kxs.common.core.util.R;
+import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
 import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
 import com.kxs.stat.api.model.KxsLkbTrade;
 import com.kxs.stat.api.model.KxsLkbTrade;
@@ -63,6 +64,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
     private final static String PREFIX_TABLE_NAME = "kxs_user_trade_";
     private final static String PREFIX_TABLE_NAME = "kxs_user_trade_";
     private final static String PREFIX_TABLE_NAME_TEMP = "kxs_user_trade_temp_";
     private final static String PREFIX_TABLE_NAME_TEMP = "kxs_user_trade_temp_";
     private final KxsUserGdTradeMapper kxsUserGdTradeMapper;
     private final KxsUserGdTradeMapper kxsUserGdTradeMapper;
+    private final KxsLkbActTradeMapper kxsLkbActTradeMapper;
 
 
     @Override
     @Override
     @Async
     @Async
@@ -269,7 +271,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         //获取今日新增用户
         //获取今日新增用户
         Integer userAddToDay = statUserGetHomeAmoutVO.getUserAddToDay();
         Integer userAddToDay = statUserGetHomeAmoutVO.getUserAddToDay();
         List<String> todayList = Arrays.asList(today);
         List<String> todayList = Arrays.asList(today);
-        List<TrendTimesVO> userAddTrendToday = kxsUserNewTradeMapper.getUserAddTrend(userId, todayList, 1);
+        List<TrendTimesVO> userAddTrendToday = kxsUserNewTradeMapper.getUserAddTrend(userId, todayList, 1,1);
         for (TrendTimesVO trendTimesVO : userAddTrendToday) {
         for (TrendTimesVO trendTimesVO : userAddTrendToday) {
             userAddToDay += trendTimesVO.getTotal();
             userAddToDay += trendTimesVO.getTotal();
         }
         }
@@ -278,7 +280,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         //获取本月新增用户
         //获取本月新增用户
         Integer userAddMonth = statUserGetHomeAmoutVO.getUserAddMonth();
         Integer userAddMonth = statUserGetHomeAmoutVO.getUserAddMonth();
         List<String> monthList = Arrays.asList(month);
         List<String> monthList = Arrays.asList(month);
-        List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2);
+        List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2,1);
         for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
         for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
             userAddMonth += trendTimesVO.getTotal();
             userAddMonth += trendTimesVO.getTotal();
         }
         }
@@ -304,7 +306,122 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
 
 
     @Override
     @Override
     public R getMyTrade(StatUserGetMyTradeDTO param) {
     public R getMyTrade(StatUserGetMyTradeDTO param) {
-        return null;
+        Long userId = SecurityUtils.getUser().getId();
+        String month = param.getMonth();
+         String type = param.getType();
+         //拼接表名
+        String tableName = PREFIX_TABLE_NAME + month;
+        StatUserGetMyTradeVO statUserGetMyTradeVO = new StatUserGetMyTradeVO();
+        //获取pos交易额
+        KxsUserTrade kxsUserPosTrade = baseMapper.getMyPosOrCloudTrade(param,tableName,0,userId);
+        BigDecimal posDebitAmount = BigDecimal.ZERO;
+        BigDecimal posCreditAmount = BigDecimal.ZERO;
+        if (kxsUserPosTrade != null){
+            BigDecimal proBDirectTradeAmt = kxsUserPosTrade.getProBDirectTradeAmt();//稳定期B贷记卡
+            BigDecimal proADirectTradeAmt = kxsUserPosTrade.getProADirectTradeAmt();//稳定期A贷记卡
+            BigDecimal proDirectTradeAmt =  kxsUserPosTrade.getProDirectTradeAmt();//稳定期贷记卡
+            BigDecimal helpDirectTradeAmt = kxsUserPosTrade.getHelpDirectTradeAmt();//扶持期贷记卡交易额
+
+
+            BigDecimal proBDebitTradeAmt =  kxsUserPosTrade.getProBDebitTradeAmt();//稳定期B借记卡
+            BigDecimal proADebitTradeAmt =  kxsUserPosTrade.getProADebitTradeAmt();//稳定期A借记卡
+            BigDecimal proDebitTradeAmt =   kxsUserPosTrade.getProDebitTradeAmt();//稳定期借记卡
+            BigDecimal helpDebitTradeAmt =  kxsUserPosTrade.getHelpDebitTradeAmt();//扶持期借记卡
+
+            //pos借记卡
+            posDebitAmount = posDebitAmount.add(proBDebitTradeAmt).add(proADebitTradeAmt).add(proDebitTradeAmt).add(helpDebitTradeAmt);
+            //贷记卡
+            posCreditAmount = posCreditAmount.add(proBDirectTradeAmt).add(proADirectTradeAmt).add(proDirectTradeAmt).add(helpDirectTradeAmt);
+        }
+        statUserGetMyTradeVO.setPosDebitAmount(posDebitAmount);//Pos借记卡
+        statUserGetMyTradeVO.setPosCreditAmount(posCreditAmount);//Pos贷记卡
+
+        //获取云闪付交易额
+        KxsUserTrade kxsUserCloudTrade = baseMapper.getMyPosOrCloudTrade(param,tableName,1,userId);
+        BigDecimal cloudAmount = BigDecimal.ZERO;
+        if (kxsUserCloudTrade != null){
+            cloudAmount = cloudAmount.add(kxsUserCloudTrade.getProBDirectTradeAmt())
+                    .add(kxsUserCloudTrade.getProADirectTradeAmt())
+                    .add(kxsUserCloudTrade.getProDirectTradeAmt())
+                    .add(kxsUserCloudTrade.getHelpDirectTradeAmt())
+                    .add(kxsUserCloudTrade.getProBDebitTradeAmt())
+                    .add(kxsUserCloudTrade.getProADebitTradeAmt())
+                    .add(kxsUserCloudTrade.getProDebitTradeAmt())
+                    .add(kxsUserCloudTrade.getHelpDebitTradeAmt());
+        }
+        statUserGetMyTradeVO.setCloudAmunt(cloudAmount);//云闪付
+
+
+        //助力宝交易额
+        TotalTradeAmtVO totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, month, 2, Integer.valueOf(type));
+        BigDecimal zlbAmt = BigDecimal.ZERO;
+        if (totalTradeAmtVO != null){
+            zlbAmt = totalTradeAmtVO.getZlbAmt();
+        }
+        statUserGetMyTradeVO.setZlbAmount(zlbAmt);//助力宝
+
+
+        totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, month, 2, Integer.valueOf(type));
+        BigDecimal lkbActAmt = BigDecimal.ZERO;
+        BigDecimal lkbAmt = BigDecimal.ZERO;
+        if (totalTradeAmtVO != null){
+            lkbActAmt = totalTradeAmtVO.getLkbActAmt();
+            lkbAmt = totalTradeAmtVO.getLkbAmt();
+        }
+        statUserGetMyTradeVO.setLkbActivityAmount(lkbActAmt);//来客吧活动
+        statUserGetMyTradeVO.setLkbAmount(lkbAmt);//来客吧非活动
+
+
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, month, 2, Integer.valueOf(type));
+        BigDecimal gdAmount = BigDecimal.ZERO;
+        if (totalTradeAmtVO != null){
+            gdAmount = totalTradeAmtVO.getGdAmount();
+        }
+        statUserGetMyTradeVO.setGdTelephoneCharge(gdAmount);//广电话费
+
+        //广电交易额
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, month,2, Integer.valueOf(type));
+        BigDecimal gdActivityAmount = BigDecimal.ZERO;
+        if (totalTradeAmtVO != null){
+            Integer gdCount = totalTradeAmtVO.getGdCount();
+            //广电激活量 * 10000
+            gdActivityAmount = gdActivityAmount.add(new BigDecimal(gdCount * 10000));
+        }
+        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, Integer.valueOf(type));
+        for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
+            userAddMonth += trendTimesVO.getTotal();
+        }
+        statUserGetMyTradeVO.setUserAddCount(userAddMonth);//新增用户
+
+
+
+        Integer totalUserCount = kxsUserNewTradeMapper.getUserAllTrend(userId,type);
+        statUserGetMyTradeVO.setTotalUserCount(totalUserCount != null? totalUserCount : 0);//总用户
+
+        //获取累计全部激活商户
+        Integer merchantAddMonth = kxsUserActTradeMapper.getUserActListByAll(userId,Integer.valueOf(type),1,3,null);
+        statUserGetMyTradeVO.setActivateMerchantCount(merchantAddMonth);//商户总激活
+
+        //获取累计全部激活码牌
+        Integer signCount = kxsLkbActTradeMapper.getSignCount(userId,type);
+        statUserGetMyTradeVO.setActivateSignCount(signCount != null? signCount:0);//码牌
+
+        //获取
+        Integer simCount = kxsUserActTradeMapper.getUserActListByAll(userId,Integer.valueOf(type),2,2, Integer.valueOf(month));
+        statUserGetMyTradeVO.setActivateSIMCount(simCount != null? simCount : 0);//存量激活sim卡
+        Integer simToMonthCount = kxsUserActTradeMapper.getUserActListByAll(userId,Integer.valueOf(type),2,1, Integer.valueOf(month));
+        statUserGetMyTradeVO.setActivateSIMToMonthCount(simToMonthCount != null ? simToMonthCount :0);//当月
+        statUserGetMyTradeVO.setType(param.getType());
+        return R.ok(statUserGetMyTradeVO);
     }
     }
 
 
     private BigDecimal getAmountToDayOrMonth(Long userId, String date, String tableName, BigDecimal amount, int type) {
     private BigDecimal getAmountToDayOrMonth(Long userId, String date, String tableName, BigDecimal amount, int type) {
@@ -314,25 +431,25 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
             amount = amount.add(totalTradeAmtVO.getPosAmt());
             amount = amount.add(totalTradeAmtVO.getPosAmt());
         }
         }
         //来客吧交易额
         //来客吧交易额
-        totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, date, type);
+        totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, date, type,1);
         if (totalTradeAmtVO!= null) {
         if (totalTradeAmtVO!= null) {
             amount = amount.add(totalTradeAmtVO.getLkbAmt());
             amount = amount.add(totalTradeAmtVO.getLkbAmt());
             amount = amount.add(totalTradeAmtVO.getLkbActAmt());
             amount = amount.add(totalTradeAmtVO.getLkbActAmt());
         }
         }
         //助力宝交易额
         //助力宝交易额
-        totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, date, type);
+        totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, date, type,1);
         if (totalTradeAmtVO != null) {
         if (totalTradeAmtVO != null) {
             amount = amount.add(totalTradeAmtVO.getZlbAmt());
             amount = amount.add(totalTradeAmtVO.getZlbAmt());
         }
         }
         //广电交易额
         //广电交易额
-        totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, date, type);
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, date, type,1);
         if (totalTradeAmtVO != null){
         if (totalTradeAmtVO != null){
             Integer gdCount = totalTradeAmtVO.getGdCount();
             Integer gdCount = totalTradeAmtVO.getGdCount();
             //广电激活量 * 10000
             //广电激活量 * 10000
             amount = amount.add(new BigDecimal(gdCount * 10000));
             amount = amount.add(new BigDecimal(gdCount * 10000));
         }
         }
         //广电话费
         //广电话费
-        totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, date, type);
+        totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, date, type,1);
         if (totalTradeAmtVO != null){
         if (totalTradeAmtVO != null){
             amount = amount.add(totalTradeAmtVO.getGdAmount());
             amount = amount.add(totalTradeAmtVO.getGdAmount());
         }
         }
@@ -357,7 +474,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
 
 
     private void setUserAddTrend(Long userId, List<String> times, Integer type, StatUserGetUserStatByDayOrMonthVO statUserGetUserStatByDayOrMonthVO) {
     private void setUserAddTrend(Long userId, List<String> times, Integer type, StatUserGetUserStatByDayOrMonthVO statUserGetUserStatByDayOrMonthVO) {
         TrendVO trendVO = new TrendVO();
         TrendVO trendVO = new TrendVO();
-        List<TrendTimesVO> trendTimesVOS = kxsUserNewTradeMapper.getUserAddTrend(userId, times, type);
+        List<TrendTimesVO> trendTimesVOS = kxsUserNewTradeMapper.getUserAddTrend(userId, times, type,1);
         trendVO.setName("all");
         trendVO.setName("all");
         trendVO.setTimes(trendTimesVOS);
         trendVO.setTimes(trendTimesVOS);
         statUserGetUserStatByDayOrMonthVO.setUserAddTrend(trendVO);
         statUserGetUserStatByDayOrMonthVO.setUserAddTrend(trendVO);

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

@@ -15,5 +15,11 @@
         <result column="total_type" property="totalType" />
         <result column="total_type" property="totalType" />
 
 
     </resultMap>
     </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}
+        and user_id = #{userId}
+    </select>
 
 
 </mapper>
 </mapper>

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

@@ -30,7 +30,7 @@
         SELECT SUM(trade_amt) as trade_amt, SUM(act_trade_amt)
         SELECT SUM(trade_amt) as trade_amt, SUM(act_trade_amt)
         FROM kxs_lkb_trade
         FROM kxs_lkb_trade
         <where>
         <where>
-            and total_type = 1
+            and total_type = #{totalType}
             <if test="type == 1">
             <if test="type == 1">
                 and trade_date = #{date}
                 and trade_date = #{date}
             </if>
             </if>

+ 23 - 0
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserActTradeMapper.xml

@@ -123,6 +123,29 @@
             #{time}
             #{time}
         </foreach>
         </foreach>
     </select>
     </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>
 
 
 
 
 </mapper>
 </mapper>

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

@@ -22,7 +22,7 @@
         FROM kxs_user_act_trade
         FROM kxs_user_act_trade
         <where>
         <where>
             and brand_id = 14
             and brand_id = 14
-            and total_type = 1
+            and total_type = #{totalType}
             and user_id = #{userId}
             and user_id = #{userId}
             <if test="type == 1">
             <if test="type == 1">
                 and trade_date = #{date}
                 and trade_date = #{date}
@@ -35,7 +35,7 @@
     <select id="getGdTrade" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">
     <select id="getGdTrade" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">
         select  SUM(trade_amt) as gdAmount from kxs_user_gd_trade
         select  SUM(trade_amt) as gdAmount from kxs_user_gd_trade
         <where>
         <where>
-            and total_type = 1
+            and total_type = #{totalType}
             and user_id = #{userId}
             and user_id = #{userId}
             <if test="type == 1">
             <if test="type == 1">
                 and trade_date = #{date}
                 and trade_date = #{date}

+ 9 - 1
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserNewTradeMapper.xml

@@ -40,7 +40,7 @@
                 #{time}
                 #{time}
             </foreach>
             </foreach>
         </if>
         </if>
-        and total_type = 1
+        and total_type = #{totalType}
         GROUP BY
         GROUP BY
         <if test="type == 1">
         <if test="type == 1">
             trade_date
             trade_date
@@ -49,5 +49,13 @@
             trade_month
             trade_month
         </if>
         </if>
     </select>
     </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>
 
 
 </mapper>
 </mapper>

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

@@ -258,6 +258,23 @@
          </if>
          </if>
         </where>
         </where>
     </select>
     </select>
+    <select id="getMyPosOrCloudTrade" resultType="com.kxs.stat.api.model.KxsUserTrade">
+        select
+        sum(pro_b_direct_trade_amt) as pro_b_direct_trade_amt,
+        sum(pro_b_debit_trade_amt) as pro_b_debit_trade_amt,
+        sum(pro_a_debit_trade_amt) as pro_a_debit_trade_amt,
+        sum(pro_a_direct_trade_amt) as pro_a_direct_trade_amt,
+        sum(pro_debit_trade_amt) as pro_debit_trade_amt,
+        sum(pro_direct_trade_amt) as pro_direct_trade_amt,
+        sum(help_debit_trade_amt) as help_debit_trade_amt,
+        sum(help_direct_trade_amt) as help_direct_trade_amt
+        from ${tableName}
+        <where>
+            and total_type = #{param.type}
+            and user_id = #{userId}
+            and trade_type = #{tradeType}
+        </where>
+    </select>
 
 
 
 
     <insert id="insertTempShdTableData">
     <insert id="insertTempShdTableData">

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

@@ -26,7 +26,7 @@
                 and trade_month = #{date}
                 and trade_month = #{date}
             </if>
             </if>
             and del_flag != 1
             and del_flag != 1
-            and total_type = 1
+            and total_type = #{totalType}
         </where>
         </where>
     </select>
     </select>
 
 

+ 0 - 1
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/camp/CampAddBcqtTeamDTO.java

@@ -19,7 +19,6 @@ public class CampAddBcqtTeamDTO {
      * 团队名称
      * 团队名称
      */
      */
     @Schema(description = "团队名称")
     @Schema(description = "团队名称")
-    @NotEmpty(message = "团队名不能为空")
     private String teamName;
     private String teamName;
 
 
 
 

+ 2 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/CampController.java

@@ -130,9 +130,10 @@ public class CampController {
     public R verifyAddTeam(@Valid @RequestBody CampAddBcqtTeamDTO param) {
     public R verifyAddTeam(@Valid @RequestBody CampAddBcqtTeamDTO param) {
         Long id = SecurityUtils.getUser().getId();
         Long id = SecurityUtils.getUser().getId();
         param.setCaptainId(id);
         param.setCaptainId(id);
-        return R.ok(kxsBcqtTeamService.verifyAddTeam(param));
+        return kxsBcqtTeamService.verifyAddTeam(param);
     }
     }
 
 
+
     /**
     /**
      * 百城千团-退出团队
      * 百城千团-退出团队
      *
      *

+ 1 - 3
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/MorningController.java

@@ -1,7 +1,6 @@
 package com.kxs.system.biz.controller.kxsapp;
 package com.kxs.system.biz.controller.kxsapp;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.kxs.common.core.util.AssertUtil;
 import com.kxs.common.core.util.AssertUtil;
 import com.kxs.common.core.util.R;
 import com.kxs.common.core.util.R;
@@ -11,7 +10,6 @@ import com.kxs.system.biz.service.KxsMorningService;
 import jakarta.validation.Valid;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import org.springdoc.core.annotations.ParameterObject;
 import org.springdoc.core.annotations.ParameterObject;
-import org.springframework.data.annotation.CreatedBy;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 /**
 /**
@@ -38,7 +36,7 @@ public class MorningController {
      */
      */
     @GetMapping("/page")
     @GetMapping("/page")
     public R page(@ParameterObject Page<KxsMorning> page,@RequestParam("month") String month) {
     public R page(@ParameterObject Page<KxsMorning> page,@RequestParam("month") String month) {
-        AssertUtil.isYyyyMM(month);
+        AssertUtil.isSimpleMonthPattern(month);
         String skbYear = month.substring(0, 4);
         String skbYear = month.substring(0, 4);
         String subMonth = month.substring(5, 7);
         String subMonth = month.substring(5, 7);
         //拼接sql
         //拼接sql

+ 1 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsBcqtTeamService.java

@@ -48,7 +48,7 @@ public interface KxsBcqtTeamService extends IService<KxsBcqtTeam> {
      * @param param 实体对象
      * @param param 实体对象
      * @return 百城千团-创建团队
      * @return 百城千团-创建团队
      */
      */
-    boolean verifyAddTeam(CampAddBcqtTeamDTO param);
+    R verifyAddTeam(CampAddBcqtTeamDTO param);
     /**
     /**
      * 百城千团-退出团队
      * 百城千团-退出团队
      *
      *

+ 15 - 11
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsBcqtTeamServiceImpl.java

@@ -85,8 +85,12 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
     @Override
     @Override
     public R addBcqtTeam(CampAddBcqtTeamDTO param) {
     public R addBcqtTeam(CampAddBcqtTeamDTO param) {
         String teamName = param.getTeamName();
         String teamName = param.getTeamName();
+        if (param.getTeamName().isEmpty()){
+            return R.failed("团队名不能为空");
+        }
         Long captainId = param.getCaptainId();
         Long captainId = param.getCaptainId();
-        if (!verifyAddTeam(param)) {
+        R r = verifyAddTeam(param);
+        if (r.getStatus() == 0) {
             return R.failed("校验未通过,非法参数");
             return R.failed("校验未通过,非法参数");
         }
         }
         R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(captainId), SecurityConstants.FROM_IN);
         R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(captainId), SecurityConstants.FROM_IN);
@@ -123,27 +127,27 @@ public class KxsBcqtTeamServiceImpl extends ServiceImpl<KxsBcqtTeamMapper, KxsBc
     }
     }
 
 
     @Override
     @Override
-    public boolean verifyAddTeam(CampAddBcqtTeamDTO param) {
-        String teamName = param.getTeamName();
+    public R verifyAddTeam(CampAddBcqtTeamDTO param) {
+
         Long captainId = param.getCaptainId();
         Long captainId = param.getCaptainId();
 
 
-        //不存在同名团队
-        KxsBcqtTeam kxsBcqtTeam = baseMapper.selectOne(Wrappers.<KxsBcqtTeam>query().lambda().eq(KxsBcqtTeam::getTeamName, teamName));
-        if (kxsBcqtTeam != null) {
-            return false;
-        }
+
         //不存在未结束的团队
         //不存在未结束的团队
         KxsBcqtTeamDetail kxsBcqtTeamDetail = kxsBcqtTeamDetailMapper.selectOne(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getUserId, captainId).eq(KxsBcqtTeamDetail::getEndFlag, 0));
         KxsBcqtTeamDetail kxsBcqtTeamDetail = kxsBcqtTeamDetailMapper.selectOne(Wrappers.<KxsBcqtTeamDetail>query().lambda().eq(KxsBcqtTeamDetail::getUserId, captainId).eq(KxsBcqtTeamDetail::getEndFlag, 0));
         if (kxsBcqtTeamDetail != null) {
         if (kxsBcqtTeamDetail != null) {
-            return false;
+            return R.failed("您的参团还未结束");
         }
         }
         //用户存在
         //用户存在
         R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(captainId), SecurityConstants.FROM_IN);
         R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(Math.toIntExact(captainId), SecurityConstants.FROM_IN);
         if (kxsUserR.getData() == null){
         if (kxsUserR.getData() == null){
-            return false;
+            return R.failed("非法参数,用户不存在");
         }
         }
         //用户状态正常且已实名
         //用户状态正常且已实名
-        return kxsUserR.getData().getStatus().equals(1) || kxsUserR.getData().getRealStatus().equals(1);
+        if (!kxsUserR.getData().getStatus().equals(1) || !kxsUserR.getData().getRealStatus().equals(1)){
+            R.failed("用户状态异常或用户未实名");
+        }
+        //todo 有效创客
+        return R.ok();
     }
     }
 
 
     @Override
     @Override

+ 1 - 1
kxs-system/kxs-system-biz/src/main/resources/mapper/KxsBcqtTeamDetailMapper.xml

@@ -21,7 +21,7 @@
     </resultMap>
     </resultMap>
     <select id="getMyBcqtList" resultType="com.kxs.system.api.vo.kxsapp.camp.CampGetMyBcqtListVO">
     <select id="getMyBcqtList" resultType="com.kxs.system.api.vo.kxsapp.camp.CampGetMyBcqtListVO">
         select
         select
-        kbt.id,kbt.team_name,kbt.start_time,kbt.end_time,kbt.status,kbt.captain_id,kbt.username
+        kbt.id,kbt.team_name,kbt.start_time,kbt.end_time,kbt.status,kbt.captain_id,kbt.username,kbt.team_number
         from
         from
             kxs_bcqt_team_detail kbtd
             kxs_bcqt_team_detail kbtd
                 left join kxs_bcqt_team kbt on kbtd.team_id = kbt.id
                 left join kxs_bcqt_team kbt on kbtd.team_id = kbt.id

+ 1 - 2
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdTradeAmtServiceImpl.java

@@ -21,7 +21,6 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 
 
 /**
 /**
  * 股东大盘分红交易表(KxsShdTradeAmt)表服务实现类
  * 股东大盘分红交易表(KxsShdTradeAmt)表服务实现类
@@ -39,7 +38,7 @@ public class KxsShdTradeAmtServiceImpl extends ServiceImpl<KxsShdTradeAmtMapper,
     @Override
     @Override
     public Object getShareholderAmount(String tradeMonth) {
     public Object getShareholderAmount(String tradeMonth) {
         //格式校验
         //格式校验
-        AssertUtil.isYyyyMM(tradeMonth);
+        AssertUtil.isSimpleMonthPattern(tradeMonth);
         tradeMonth = tradeMonth.split("-")[0] + tradeMonth.split("-")[1];
         tradeMonth = tradeMonth.split("-")[0] + tradeMonth.split("-")[1];
         KxsShdTradeAmt kxsShdTradeAmt = kxsShdTradeAmtMapper.selectOne(Wrappers.<KxsShdTradeAmt>query().lambda().eq(KxsShdTradeAmt::getTradeMonth, tradeMonth));
         KxsShdTradeAmt kxsShdTradeAmt = kxsShdTradeAmtMapper.selectOne(Wrappers.<KxsShdTradeAmt>query().lambda().eq(KxsShdTradeAmt::getTradeMonth, tradeMonth));
         ShareholderGetShareholderAmountVO shareholderGetShareholderAmountVO = new ShareholderGetShareholderAmountVO();
         ShareholderGetShareholderAmountVO shareholderGetShareholderAmountVO = new ShareholderGetShareholderAmountVO();

+ 1 - 1
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsUserMapper.xml

@@ -84,7 +84,7 @@
         ku.del_flag != 1
         ku.del_flag != 1
         AND ku.pid = #{param.userId}
         AND ku.pid = #{param.userId}
         <if test="param.keyword != null and param.keyword != ''">
         <if test="param.keyword != null and param.keyword != ''">
-            AND ku.username = #{param.keyword}
+            AND ku.username = #{param.keyword} or ku.user_code = #{param.keyword}
         </if>
         </if>
         <if test="param.userLevel != null and param.userLevel != ''">
         <if test="param.userLevel != null and param.userLevel != ''">
             AND ku.user_level = #{param.userLevel}
             AND ku.user_level = #{param.userLevel}