Преглед изворни кода

计奖交易趋势图接口

mac пре 2 година
родитељ
комит
27872f1b63

+ 0 - 5
kxs-common/kxs-common-core/pom.xml

@@ -64,11 +64,6 @@
             <version>0.1.18</version>
         </dependency>
 
-        <!-- excel 导入导出 https://github.com/sky-mesh/excel-spring-boot-starter -->
-        <dependency>
-            <groupId>com.pig4cloud.excel</groupId>
-            <artifactId>excel-spring-boot-starter</artifactId>
-        </dependency>
 
         <!--spring-webmvc-->
         <dependency>

+ 1 - 1
kxs-gateway/pom.xml

@@ -46,7 +46,7 @@
             <groupId>com.github.ben-manes.caffeine</groupId>
             <artifactId>caffeine</artifactId>
         </dependency>
-        <!--结局mac下报错日志,可忽略-->
+        <!--解决mac下报错日志,可忽略-->
         <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty-resolver-dns-native-macos</artifactId>

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

@@ -47,6 +47,19 @@ public class KxsStatUserController {
         return kxsUserTradeService.getUserStatByDayOrMonth(param);
     }
 
+    /**
+     * 计奖交易趋势图
+     *
+     * @param totalType 总类型 0个人 1团队
+     * @param type      类型 0近7日 1近半年
+     * @return {@link R}
+     */
+    @GetMapping("/getUserTrend")
+    public R getUserTrend(@RequestParam("totalType") Integer totalType, @RequestParam("type") Integer type){
+
+        return kxsUserTradeService.getUserTrend(totalType, type);
+    }
+
 
 
     /**

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

@@ -49,6 +49,6 @@ public interface KxsUserActTradeService extends IService<KxsUserActTrade> {
      * @param brandMap 品牌map
      * @return {@link List}<{@link TrendVO}>
      */
-    List<TrendVO> getAddActMchTrend(Long userId, List<Integer> times, Integer dateType, TotalTypeEnum totalType, Map<Integer, KxsBrand> brandMap);
+    List<TrendVO> getAddActMchTrend(Long userId, List<Integer> times, Integer dateType, Integer totalType, Map<Integer, KxsBrand> brandMap);
 }
 

+ 9 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserTradeService.java

@@ -62,5 +62,14 @@ public interface KxsUserTradeService extends IService<KxsUserTrade> {
      * @return {@link R}
      */
     R getTradeDetail(StatUserGetTradeDetailDTO param);
+
+    /**
+     * 计奖交易趋势图
+     *
+     * @param totalType 总类型 0个人 1团队
+     * @param type      类型 1近7日 2近半年
+     * @return {@link R}
+     */
+    R getUserTrend(Integer totalType, Integer type);
 }
 

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

@@ -106,11 +106,11 @@ public class KxsUserActTradeServiceImpl extends ServiceImpl<KxsUserActTradeMappe
     }
 
     @Override
-    public List<TrendVO> getAddActMchTrend(Long userId, List<Integer> times, Integer dateType, TotalTypeEnum totalType, Map<Integer, KxsBrand> brandMap) {
+    public List<TrendVO> getAddActMchTrend(Long userId, List<Integer> times, Integer dateType, Integer totalType, Map<Integer, KxsBrand> brandMap) {
 
         List<TrendVO> trendVOList = new ArrayList<>();
 
-        List<TrendTimesVO> trendTimesVOList = baseMapper.getAddActMchTrend(userId, times, dateType, totalType.getType());
+        List<TrendTimesVO> trendTimesVOList = baseMapper.getAddActMchTrend(userId, times, dateType, totalType);
 
         Map<Integer, List<TrendTimesVO>> tradeTrendMap =  trendTimesVOList.stream().collect(Collectors.groupingBy(TrendTimesVO::getTime));
 

+ 44 - 15
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java

@@ -241,7 +241,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         }
 
         //交易趋势图
-        List<TrendVO> trendVOList = setTradeTrend(userId, times, type);
+        List<TrendVO> trendVOList = setTradeTrend(userId, times, type, TotalTypeEnum.TEAM.getType());
         statUserGetUserStatByDayOrMonthVO.setTradeTrend(trendVOList);
 
         //交易占比
@@ -249,16 +249,47 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         statUserGetUserStatByDayOrMonthVO.setTradePercent(percentVOList);
 
         //激活商户占比
-        List<MchActPercentVO> mchActPercentList = kxsUserActTradeMapper.getMchActTimePercent(userId, times, type == 1 ? 1 : 0, TotalTypeEnum.TEAM.getType());
+        List<MchActPercentVO> mchActPercentList = kxsUserActTradeMapper.getMchActTimePercent(userId, times, type, TotalTypeEnum.TEAM.getType());
         mchActPercentList.forEach(item -> item.setName(getBrandMap().get(item.getBrandId()).getName()));
         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, TotalTypeEnum.TEAM.getType(), getBrandMap());
         statUserGetUserStatByDayOrMonthVO.setMchAddTrend(addMchTrendList);
 
         //新增创客趋势图
-        List<UserAddTrendVO> userAddTrendVOList = kxsUserNewTradeService.getAddUserTrend(userId, times, type == 1 ? 1 : 0, TotalTypeEnum.TEAM.getType());
+        List<UserAddTrendVO> userAddTrendVOList = kxsUserNewTradeService.getAddUserTrend(userId, times, type, TotalTypeEnum.TEAM.getType());
+        statUserGetUserStatByDayOrMonthVO.setUserAddTrend(userAddTrendVOList);
+
+        return R.ok(statUserGetUserStatByDayOrMonthVO);
+    }
+
+    @Override
+    public R getUserTrend(Integer totalType, Integer type) {
+
+        Long userId = SecurityUtils.getUser().getId();
+        LocalDate now = LocalDate.now();
+        List<Integer> times;
+        StatUserGetUserStatByDayOrMonthVO statUserGetUserStatByDayOrMonthVO = new StatUserGetUserStatByDayOrMonthVO();
+        if (type == 0) {
+            times = TotalDateUtil.getDayList(now.minusDays(1), 7);
+        } else if (type == 1) {
+            //近半年
+            times = TotalDateUtil.getMonthList(now.minusDays(1), 6);
+        } else {
+            return R.failed("类型错误");
+        }
+
+        //交易趋势图
+        List<TrendVO> trendVOList = setTradeTrend(userId, times, type, totalType);
+        statUserGetUserStatByDayOrMonthVO.setTradeTrend(trendVOList);
+
+        //新增激活商户趋势图
+        List<TrendVO> addMchTrendList = kxsUserActTradeService.getAddActMchTrend(userId, times, type, totalType, brandsMap);
+        statUserGetUserStatByDayOrMonthVO.setMchAddTrend(addMchTrendList);
+
+        //新增创客趋势图
+        List<UserAddTrendVO> userAddTrendVOList = kxsUserNewTradeService.getAddUserTrend(userId, times, type, totalType);
         statUserGetUserStatByDayOrMonthVO.setUserAddTrend(userAddTrendVOList);
 
         return R.ok(statUserGetUserStatByDayOrMonthVO);
@@ -566,6 +597,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         return R.ok(statUserGetTradeDetailVO);
     }
 
+
     private ArrayList<StatUserGetUserTradeStatListVO> getUserGetUserTradeStatListVOSByDay(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times, String tableName, Integer tradeType) {
         //校验时间格式是yyyyMM
         AssertUtil.isyyyyMM(month);
@@ -825,7 +857,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 == 0) {
             //近7天
             for (Integer day : times) {
                 Integer month = TotalDateUtil.getMonthNumber(LocalDateTimeUtil.parseDate(String.valueOf(day), DatePattern.PURE_DATE_PATTERN));
@@ -863,32 +895,29 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
      * @param type   类型
      * @return {@link List}<{@link TrendVO}>
      */
-    private List<TrendVO> setTradeTrend(Long userId, List<Integer> times, Integer type) {
+    private List<TrendVO> setTradeTrend(Long userId, List<Integer> times, Integer type, Integer totalType) {
 
         MonthTableNameHandler.setData(MonthTableNameHandler.getThisMoth());
         List<TrendVO> trendVOList = new ArrayList<>();
-        if (type == 1) {
+        LinkedHashMap<Integer, List<TrendTimesVO>> tradeTrend = new LinkedHashMap<>();
+        if (type == 0) {
             //近7天交易趋势图
-            LinkedHashMap<Integer, List<TrendTimesVO>> tradeTrend = new LinkedHashMap<>();
             for (Integer day : times) {
                 Integer month = TotalDateUtil.getMonthNumber(LocalDateTimeUtil.parseDate(String.valueOf(day), DatePattern.PURE_DATE_PATTERN));
                 //每个月表统计查询出来后再合并进map里
-                List<TrendTimesVO> monthTradeTrend = baseMapper.getUserTradeDayTrend(CommonConstants.USER_TABLE_PREFIX + month, userId, day, TotalTypeEnum.TEAM.getType());
+                List<TrendTimesVO> monthTradeTrend = baseMapper.getUserTradeDayTrend(CommonConstants.USER_TABLE_PREFIX + month, userId, day, totalType);
                 tradeTrend.put(day, monthTradeTrend);
             }
-            initUserTrend(trendVOList, tradeTrend);
-        }
-        if (type == 2) {
+        }else{
             //近半年
-            LinkedHashMap<Integer, List<TrendTimesVO>> tradeTrend = new LinkedHashMap<>();
 
             for (Integer month : times) {
                 //每个月表统计查询出来后再合并进map里
-                List<TrendTimesVO> monthTradeTrend = baseMapper.getUserTradeMonthTrend(CommonConstants.USER_TABLE_PREFIX + month, userId, TotalTypeEnum.TEAM.getType());
+                List<TrendTimesVO> monthTradeTrend = baseMapper.getUserTradeMonthTrend(CommonConstants.USER_TABLE_PREFIX + month, userId, totalType);
                 tradeTrend.put(month, monthTradeTrend);
             }
-            initUserTrend(trendVOList, tradeTrend);
         }
+        initUserTrend(trendVOList, tradeTrend);
 
         return trendVOList;
     }

+ 6 - 0
kxs-system/kxs-system-api/pom.xml

@@ -49,6 +49,12 @@
             <groupId>com.kxs</groupId>
             <artifactId>kxs-common-mq</artifactId>
         </dependency>
+
+        <!-- excel 导入导出 https://github.com/sky-mesh/excel-spring-boot-starter -->
+        <dependency>
+            <groupId>com.pig4cloud.excel</groupId>
+            <artifactId>excel-spring-boot-starter</artifactId>
+        </dependency>
     </dependencies>
     <build>
         <plugins>

+ 3 - 3
kxs-common/kxs-common-core/src/main/java/com/kxs/common/core/converter/EasyExcelConvert.java → kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/EasyExcelConvert.java

@@ -1,5 +1,5 @@
-package com.kxs.common.core.converter;
- 
+package com.kxs.system.api;
+
 import com.alibaba.excel.converters.Converter;
 import com.alibaba.excel.enums.CellDataTypeEnum;
 import com.alibaba.excel.metadata.GlobalConfiguration;
@@ -8,7 +8,7 @@ import com.alibaba.excel.metadata.data.WriteCellData;
 import com.alibaba.excel.metadata.property.ExcelContentProperty;
 import com.kxs.common.core.annotation.EnumFiledConvert;
 import org.springframework.util.StringUtils;
- 
+
 import java.lang.reflect.Field;
 import java.util.Arrays;
 import java.util.HashMap;

+ 1 - 1
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/vo/admin/camp/CampBonusLogVO.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.kxs.common.core.annotation.EnumFiledConvert;
-import com.kxs.common.core.converter.EasyExcelConvert;
+import com.kxs.system.api.EasyExcelConvert;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;