Просмотр исходного кода

添加了首页交易总额接口(初版) 我的业绩接口(未完成) 激活商户统计接口(未完成)

Pota1ovO 2 лет назад
Родитель
Сommit
c6598aa820

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

@@ -0,0 +1,32 @@
+package com.kxs.stat.api.dto.statUser;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+
+/**
+ * 计奖交易-我的业绩-dto
+ *
+ * @author 系统
+ * @date 2024-05-20 15:48:13
+ */
+@Data
+public class StatUserGetMyTradeDTO {
+
+    /**
+     * 获取月份
+     */
+    @Schema(description = "获取月份")
+    private Object month;
+
+
+    /**
+     * 1:个人 2:计奖
+     */
+    @Schema(description = "1:个人 2:计奖")
+    private Object type;
+
+
+
+
+}

+ 74 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/StatUserGetHomeAmoutVO.java

@@ -0,0 +1,74 @@
+package com.kxs.stat.api.vo.statUser;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 计奖交易-首页交易总额vo
+ *
+ * @author 系统
+ * @date 2024-05-20 15:48:13
+ */
+@Data
+@Schema(description = "计奖交易-首页交易总额返回实体")
+public class StatUserGetHomeAmoutVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 今日交易额
+     */
+    @Schema(description = "今日交易额")
+    private BigDecimal amountToDay = BigDecimal.ZERO;
+
+
+    /**
+     * 今日新增用户
+     */
+    @Schema(description = "今日新增用户")
+    private Integer userAddToDay = 0;
+
+
+    /**
+     * 今日新增商户
+     */
+    @Schema(description = "今日新增商户")
+    private Integer merchantAddToDay = 0;
+
+
+    /**
+     * 本月交易额
+     */
+    @Schema(description = "本月交易额")
+    private BigDecimal amountMonth = BigDecimal.ZERO;
+
+
+    /**
+     * 本月新增用户
+     */
+    @Schema(description = "本月新增用户")
+    private Integer userAddMonth = 0;
+
+
+    /**
+     * 本月新增商户
+     */
+    @Schema(description = "本月新增商户")
+    private Integer merchantAddMonth = 0;
+
+
+
+
+
+	
+
+}

+ 136 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/StatUserGetMyTradeVO.java

@@ -0,0 +1,136 @@
+package com.kxs.stat.api.vo.statUser;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 计奖交易-我的业绩vo
+ *
+ * @author 系统
+ * @date 2024-05-20 15:48:13
+ */
+@Data
+@Schema(description = "计奖交易-我的业绩返回实体")
+public class StatUserGetMyTradeVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 总交易额
+     */
+    @Schema(description = "总交易额")
+    private Object totalAmount;
+
+
+    /**
+     * Pos借记卡交易额
+     */
+    @Schema(description = "Pos借记卡交易额")
+    private Object posDebitAmount;
+
+
+    /**
+     * Pos贷记卡交易额
+     */
+    @Schema(description = "Pos贷记卡交易额")
+    private Object posCreditAmount;
+
+
+    /**
+     * 云闪付交易额
+     */
+    @Schema(description = "云闪付交易额")
+    private Object cloudAmunt;
+
+
+    /**
+     * 助力宝交易额
+     */
+    @Schema(description = "助力宝交易额")
+    private Object zlbAmount;
+
+
+    /**
+     * 来客吧活动交易额
+     */
+    @Schema(description = "来客吧活动交易额")
+    private Object lkbActivityAmount;
+
+
+    /**
+     * 来客吧非活动交易额
+     */
+    @Schema(description = "来客吧非活动交易额")
+    private Object lkbAmount;
+
+
+    /**
+     * 广电话费
+     */
+    @Schema(description = "广电话费")
+    private Object gdTelephoneCharge;
+
+
+    /**
+     * 广电活动交易额
+     */
+    @Schema(description = "广电活动交易额")
+    private Object gdActivityAmount;
+
+
+    /**
+     * 总用户数量
+     */
+    @Schema(description = "总用户数量")
+    private Object totalUserCount;
+
+
+    /**
+     * 新增用户数量
+     */
+    @Schema(description = "新增用户数量")
+    private Object userAddCount;
+
+
+    /**
+     * 激活商户数量
+     */
+    @Schema(description = "激活商户数量")
+    private Object activateMerchantCount;
+
+
+    /**
+     * 激活码牌数量
+     */
+    @Schema(description = "激活码牌数量")
+    private Object activateSignCount;
+
+
+    /**
+     * 激活SIM卡
+     */
+    @Schema(description = "激活SIM卡")
+    private Object activateSIMCount;
+
+
+    /**
+     * 1:个人  2:计奖
+     */
+    @Schema(description = "1:个人  2:计奖")
+    private Object type;
+
+
+
+
+
+	
+
+}

+ 74 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/vo/statUser/StatUserMerchantTradeDetailVO.java

@@ -0,0 +1,74 @@
+package com.kxs.stat.api.vo.statUser;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 商户交易记录vo
+ *
+ * @author 系统
+ * @date 2024-05-20 15:48:13
+ */
+@Data
+@Schema(description = "商户交易记录返回实体")
+public class StatUserMerchantTradeDetailVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 新增时间
+     */
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+    /**
+     * 交易日
+     */
+    @Schema(description = "交易日")
+    private Integer tradeDate;
+
+
+    /**
+     * 交易月
+     */
+    @Schema(description = "交易月")
+    private Integer tradeMonth;
+
+
+    /**
+     * 交易额
+     */
+    @Schema(description = "交易额")
+    private BigDecimal tradeAmt;
+
+
+    /**
+     * 商户ID
+     */
+    @Schema(description = "商户ID")
+    private Integer merchantId;
+
+
+    /**
+     * 月交易额
+     */
+    @Schema(description = "月交易额")
+    private Object tradeAmtMonth;
+
+
+
+
+
+	
+
+}

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

@@ -0,0 +1,11 @@
+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;
+}

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

@@ -1,8 +1,13 @@
 package com.kxs.stat.biz.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.StatUserGetUserStatByDayOrMonthDTO;
+import com.kxs.stat.api.vo.statUser.Times;
 import com.kxs.stat.biz.service.KxsMerchantTradeService;
 import com.kxs.stat.biz.service.KxsUserTradeService;
 
@@ -55,6 +60,42 @@ public class KxsStatUserController {
     }
 
 
+    /**
+     * 计奖交易-首页交易总额
+     *
+     * @return 计奖交易-首页交易总额
+     */
+    @GetMapping("/getHomeAmout")
+    public R getHomeAmout() {
+        Long userId = SecurityUtils.getUser().getId();
+        return kxsUserTradeService.getHomeAmout(userId);
+    }
+
+
+    /**
+     * 计奖交易-我的业绩
+     *
+     * @param param 查询实体
+     * @return 计奖交易-我的业绩
+     */
+    @GetMapping("/getMyTrade")
+    public R getMyTrade(@ParameterObject StatUserGetMyTradeDTO param) {
+        return R.ok();
+    }
+
+
+    /**
+     * 计奖交易-激活商户统计
+     *
+     * @param page 分页对象
+     * @param totalType 统计类型 0 个人  1 团队
+     * @return 计奖交易-激活商户统计
+     */
+    @GetMapping("/getActivateMerchantList")
+    public R getActivateMerchantList(@ParameterObject Page<Times> page, @RequestParam("totalType")Integer totalType) {
+        return R.ok();
+    }
+
 
 
 }

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kxs.stat.api.model.KxsUserTrade;
 import com.kxs.stat.api.vo.ShdTradeAmtVO;
 import com.kxs.stat.api.vo.statUser.PercentVO;
+import com.kxs.stat.api.vo.statUser.StatUserGetHomeAmoutVO;
 import com.kxs.stat.api.vo.statUser.TrendTimesVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -72,5 +73,6 @@ public interface KxsUserTradeMapper extends BaseMapper<KxsUserTrade> {
     List<PercentVO> getUserTradeTotal(@Param("tableName")String tableName,@Param("userId") Long userId,@Param("times") List<String> times,@Param("type") Integer type);
 
 
+    StatUserGetHomeAmoutVO getHomeAmout(@Param("userId")Long userId, @Param("tableName")String tableName,@Param("date")String date,@Param("month")String month);
 }
 

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

@@ -27,5 +27,7 @@ public interface KxsUserTradeService extends IService<KxsUserTrade> {
     R getUserStatByDayOrMonth(StatUserGetUserStatByDayOrMonthDTO param);
 
 
+    R getHomeAmout(Long userId);
+
 }
 

+ 11 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java

@@ -245,6 +245,17 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         }
     }
 
+    @Override
+    public R getHomeAmout(Long userId) {
+        LocalDate now = LocalDate.now();
+        String month = LocalDateTimeUtil.format(now, DatePattern.SIMPLE_MONTH_PATTERN);
+        String date = LocalDateTimeUtil.format(now, DatePattern.PURE_DATE_PATTERN);
+        //拼接表名
+        String tableName = PREFIX_TABLE_NAME + month;
+        StatUserGetHomeAmoutVO statUserGetHomeAmoutVO = baseMapper.getHomeAmout(userId,tableName,date,month);
+        return R.ok(statUserGetHomeAmoutVO);
+    }
+
 
     private StatUserGetUserStatByDayOrMonthVO getStatUserGetUserStatByDayOrMonthVO(Long userId, LocalDate now, List<String> times, List<String> lastMonthTimes, Integer type) {
         StatUserGetUserStatByDayOrMonthVO statUserGetUserStatByDayOrMonthVO = new StatUserGetUserStatByDayOrMonthVO();

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

@@ -154,6 +154,96 @@
         and kut.total_type = 1
         GROUP BY kut.brand_id
     </select>
+
+    <select id="getHomeAmout" resultType="com.kxs.stat.api.vo.statUser.StatUserGetHomeAmoutVO">
+        select
+            SUM(
+                        COALESCE(kut.pro_b_direct_trade_amt,0)
+                        + COALESCE(kut.pro_b_debit_trade_amt,0)
+                        + COALESCE(kut.pro_a_debit_trade_amt,0)
+                        + COALESCE(kut.pro_a_direct_trade_amt,0)
+                        + COALESCE(kut.pro_debit_trade_amt,0)
+                        + COALESCE(kut.pro_direct_trade_amt,0)
+                        + COALESCE(kut.help_debit_trade_amt,0)
+                        + COALESCE(kut.help_direct_trade_amt,0)
+                        + COALESCE(klt.act_trade_amt,0)
+                        + COALESCE(klt.trade_amt,0)
+                        + COALESCE(kzt.trade_amt,0)
+                ) AS amountToDay,
+            SUM(kuat.act_num) as merchantAddToDay,
+            SUM(tunt.new_count) as userAddToDay,
+            (
+                select
+                    SUM(
+                                COALESCE(kut.pro_b_direct_trade_amt,0)
+                                + COALESCE(kut.pro_b_debit_trade_amt,0)
+                                + COALESCE(kut.pro_a_debit_trade_amt,0)
+                                + COALESCE(kut.pro_a_direct_trade_amt,0)
+                                + COALESCE(kut.pro_debit_trade_amt,0)
+                                + COALESCE(kut.pro_direct_trade_amt,0)
+                                + COALESCE(kut.help_debit_trade_amt,0)
+                                + COALESCE(kut.help_direct_trade_amt,0)
+                                + COALESCE(klt.act_trade_amt,0)
+                                + COALESCE(klt.trade_amt,0)
+                                + COALESCE(kzt.trade_amt,0)
+                        ) AS amountMonth
+                from
+                    `${tableName}` kut
+                        LEFT JOIN kxs_lkb_trade klt ON kut.user_id = klt.user_id
+                        AND kut.trade_date = klt.trade_date
+                        AND klt.total_type = 1
+                        LEFT JOIN kxs_zlb_trade kzt ON kut.user_id = kzt.user_id
+                        AND kut.trade_date = kzt.trade_date
+                        AND kzt.total_type = 1
+                where kut.del_flag != 1
+                and kut.user_id = #{userId}
+                and kut.total_type = 1
+        group by
+            kut.trade_month
+            ) as amountMonth,
+            (
+        SELECT
+            SUM(new_count)
+        FROM
+            kxs_user_new_trade
+        WHERE
+            del_flag != 1
+          AND total_type = 1
+          AND user_id = #{userId}
+          AND trade_month = #{month}
+            ) AS userAddMonth,
+            (
+        SELECT
+            SUM(kuat.act_num)
+        FROM
+            kxs_user_act_trade
+        WHERE
+            del_flag != 1
+          AND total_type = 1
+          AND user_id = #{userId}
+          AND trade_month = #{month}
+            ) AS merchantAddMonth
+        from
+            `${tableName}` kut
+            LEFT JOIN kxs_lkb_trade klt ON kut.user_id = klt.user_id
+            AND kut.trade_date = klt.trade_date
+            AND klt.total_type = 0
+            LEFT JOIN kxs_zlb_trade kzt ON kut.user_id = kzt.user_id
+            AND kut.trade_date = kzt.trade_date
+            AND kzt.total_type = 0
+            LEFT JOIN kxs_user_act_trade kuat ON kuat.user_id = kut.user_id
+            AND kut.trade_date = kuat.trade_date
+            AND kuat.total_type = 0
+            LEFT JOIN kxs_user_new_trade tunt ON kut.user_id = tunt.user_id
+            AND kut.trade_date = tunt.trade_date
+            AND tunt.total_type = 0
+        where kut.del_flag != 1
+          and kut.user_id = #{userId}
+          and kut.trade_date = #{date}
+          and kut.total_type = 0
+    </select>
+
+
     <insert id="insertTempShdTableData">
         INSERT INTO `${tableName}`
         <trim prefix="(" suffix=")" suffixOverrides=",">