Browse Source

训练营修复
待入账功能接口

mac 2 years ago
parent
commit
2ed2ce9e20

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

@@ -69,7 +69,7 @@
     </select>
     <select id="getBySysPage" resultType="com.kxs.system.api.vo.admin.camp.SysCampPageVO">
         select a.*, count(b.group_id) as group_count from kxs_camp a
-        left join kxs_camp_group b on a.id = b.camp_id
+        left join kxs_camp_group b on a.id = b.camp_id and del_flag = 0
         <where>
             and a.del_flag = 0
             <if test="param.getCreateCode != null and param.getCreateCode != ''">

+ 5 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/userAccount/MyAccountVO.java

@@ -61,6 +61,11 @@ public class MyAccountVO implements Serializable {
     @Schema(description = "盟主储备金")
     private BigDecimal leaderReserve;
 
+    /**
+     * 待入账标记 0否 1是
+     */
+    private Integer profitFlag;
+
 
 
 

+ 71 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/userAccount/UserProfitListVO.java

@@ -0,0 +1,71 @@
+package com.kxs.user.api.vo.kxsapp.userAccount;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 待入账列表
+ *
+ * @author 系统
+ * @date 2024-01-03 09:39:59
+ */
+@Data
+@Schema(description = "待入账列表")
+public class UserProfitListVO implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+    /**
+     * 分润金额
+     */
+    @Schema(description = "分润金额")
+    private BigDecimal profitAmt;
+
+
+    /**
+     * 状态 0待入账 1已入账
+     */
+    @Schema(description = "状态 0待入账 1已入账")
+    private Integer status;
+
+
+    /**
+     * 分润月
+     */
+    @Schema(description = "分润月")
+    private Integer profitMonth;
+
+    /**
+     * 品牌名称
+     */
+    @Schema(description = "品牌名称")
+    private String brandName;
+
+
+    /**
+     * 交易类型 0新增 1存量
+     * 来客吧 0直联    1银联
+     */
+    @Schema(description = "交易类型 0新增 1存量")
+    private Integer tradeType;
+
+
+    /**
+     * 分润来源 0 直营 1团队
+     */
+    @Schema(description = "分润来源 0 直营 1团队")
+    private Integer isTeam;
+
+
+
+
+
+	
+
+}

+ 45 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/constant/enums/UserProfitTypeEnum.java

@@ -0,0 +1,45 @@
+package com.kxs.user.biz.constant.enums;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+
+/**
+ * 实名状态类型枚举
+ *
+ * @author 没秃顶的码农
+ * @date 2024-01-02
+ */
+@Getter
+@RequiredArgsConstructor
+public enum UserProfitTypeEnum {
+
+
+    /**
+     * 入账标记
+     */
+    NO_PROFIT(0, "待入账"),
+    SUC_PROFIT(1, "已入账"),
+    /**
+     * 交易类型
+     */
+    TRADE_ADD(0, "新增"),
+    TRADE_BEF(1, "村里"),
+    /**
+     * 分润来源 0 直营 1团队
+     */
+    SELF(0, "直营"),
+    TEAM(1, "团队"),
+    ;
+
+
+    /**
+     * 类型
+     */
+    private final Integer type;
+
+    /**
+     * 描述
+     */
+    private final String description;
+}

+ 8 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/UserAccountController.java

@@ -11,6 +11,7 @@ import com.kxs.user.api.dto.kxsapp.userAccount.UserAmountVariationListDTO;
 import com.kxs.user.api.dto.kxsapp.userAccount.WithdrawDepositDTO;
 import com.kxs.user.api.model.KxsUserAdvance;
 import com.kxs.user.api.model.KxsUserAmountLog;
+import com.kxs.user.api.model.KxsUserProfit;
 import com.kxs.user.api.model.KxsUserWithdrawal;
 import com.kxs.user.api.vo.kxsapp.userAccount.UserAmountVariationListVO;
 import com.kxs.user.api.vo.kxsapp.userAccount.WithdrawListVO;
@@ -40,6 +41,7 @@ public class UserAccountController {
     private final KxsUserAmountService kxsUserAmountService;
     private final KxsUserBankService kxsUserBankService;
     private final KxsUserAmountLogService kxsUserAmountLogService;
+    private final KxsUserProfitService kxsUserProfitService;
 
 
 
@@ -142,6 +144,12 @@ public class UserAccountController {
         return R.ok(kxsUserAmountLogService.getByPage(page, param));
     }
 
+    @GetMapping("/profitList")
+    public R profitList() {
+
+        return R.ok(kxsUserProfitService.profitList());
+    }
+
     /**
      * 来源创客
      *

+ 17 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsUserProfitService.java

@@ -2,6 +2,9 @@ package com.kxs.user.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.user.api.model.KxsUserProfit;
+import com.kxs.user.api.vo.kxsapp.userAccount.UserProfitListVO;
+
+import java.util.List;
 
 /**
  * 用户分润表pos(KxsUserProfit)表服务接口
@@ -11,5 +14,19 @@ import com.kxs.user.api.model.KxsUserProfit;
  */
 public interface KxsUserProfitService extends IService<KxsUserProfit> {
 
+    /**
+     * 待入账标记 0否 1是
+     *
+     * @return {@link Integer}
+     */
+    Integer profitFlag();
+
+    /**
+     * 待入账列表
+     *
+     * @return {@link List}<{@link UserProfitListVO}>
+     */
+    List<UserProfitListVO> profitList();
+
 }
 

+ 10 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsUserAmountServiceImpl.java

@@ -8,6 +8,7 @@ import com.kxs.common.core.constant.enums.UserAdvanceStatusEnum;
 import com.kxs.common.core.exception.GlobalCustomerException;
 import com.kxs.common.core.util.R;
 import com.kxs.common.core.util.SysUtils;
+import com.kxs.common.core.util.TotalDateUtil;
 import com.kxs.common.mybatis.handler.MonthTableNameHandler;
 import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.system.api.util.ParamResolver;
@@ -21,8 +22,10 @@ import com.kxs.user.biz.constant.enums.YuePayStatusEnum;
 import com.kxs.user.biz.mapper.KxsPartnerMapper;
 import com.kxs.user.biz.mapper.KxsUserAdvanceMapper;
 import com.kxs.user.biz.mapper.KxsUserAmountMapper;
+import com.kxs.user.biz.mapper.KxsUserProfitMapper;
 import com.kxs.user.biz.service.KxsUserAmountLogService;
 import com.kxs.user.biz.service.KxsUserAmountService;
+import com.kxs.user.biz.service.KxsUserProfitService;
 import com.kxs.user.biz.service.KxsUserYuepayService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
@@ -30,6 +33,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Objects;
 import java.util.Optional;
@@ -50,7 +54,7 @@ public class KxsUserAmountServiceImpl extends ServiceImpl<KxsUserAmountMapper, K
 
     private final KxsUserAdvanceMapper kxsUserAdvanceMapper;
 
-    private final KxsPartnerMapper kxsPartnerMapper;
+    private final KxsUserProfitService kxsUserProfitService;
 
     @Override
     public MyAccountVO myAccount() {
@@ -71,6 +75,11 @@ public class KxsUserAmountServiceImpl extends ServiceImpl<KxsUserAmountMapper, K
             myAccountVO.setUseAmount(NumberUtil.sub(userAmount.getAmount(), advance.getAmount()));
         }
 
+
+        //待入账标记
+        Integer profitFlag = kxsUserProfitService.profitFlag();
+        myAccountVO.setProfitFlag(profitFlag);
+
         return myAccountVO;
     }
 

+ 78 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsUserProfitServiceImpl.java

@@ -1,11 +1,27 @@
 package com.kxs.user.biz.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.util.TotalDateUtil;
+import com.kxs.common.security.util.SecurityUtils;
+import com.kxs.user.api.model.KxsUserProfitLkb;
+import com.kxs.user.api.model.KxsUserProfitZlb;
+import com.kxs.user.api.vo.kxsapp.userAccount.UserProfitListVO;
+import com.kxs.user.biz.constant.enums.UserProfitTypeEnum;
+import com.kxs.user.biz.mapper.KxsUserProfitLkbMapper;
 import com.kxs.user.biz.mapper.KxsUserProfitMapper;
 import com.kxs.user.api.model.KxsUserProfit;
+import com.kxs.user.biz.mapper.KxsUserProfitZlbMapper;
 import com.kxs.user.biz.service.KxsUserProfitService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * 用户分润表pos(KxsUserProfit)表服务实现类
  *
@@ -13,7 +29,69 @@ import org.springframework.stereotype.Service;
  * @since 2024-07-22 11:44:59
  */
 @Service("kxsUserProfitService")
+@RequiredArgsConstructor
 public class KxsUserProfitServiceImpl extends ServiceImpl<KxsUserProfitMapper, KxsUserProfit> implements KxsUserProfitService {
 
+    private final KxsUserProfitZlbMapper kxsUserProfitZlbMapper;
+
+    private final KxsUserProfitLkbMapper kxsUserProfitLkbMapper;
+
+    @Override
+    public Integer profitFlag() {
+
+        Integer nowMonth = TotalDateUtil.getMonthNumber(LocalDate.now().minusMonths(1));
+        long count = count(Wrappers.<KxsUserProfit>lambdaQuery().eq(KxsUserProfit::getProfitMonth, nowMonth)
+                .eq(KxsUserProfit::getUserId, SecurityUtils.getUser().getId())
+                .eq(KxsUserProfit::getStatus, UserProfitTypeEnum.NO_PROFIT.getType()));
+
+        return count > 0 ? 1 : 0;
+    }
+
+    @Override
+    public List<UserProfitListVO> profitList() {
+
+        Long userId = SecurityUtils.getUser().getId();
+        Integer nowMonth = TotalDateUtil.getMonthNumber(LocalDate.now().minusMonths(1));
+
+        ArrayList<UserProfitListVO> list = new ArrayList<>();
+        //pos
+        List<KxsUserProfit> userProfitList = list(Wrappers.<KxsUserProfit>lambdaQuery().eq(KxsUserProfit::getProfitMonth, nowMonth)
+                .eq(KxsUserProfit::getUserId, userId)
+                .eq(KxsUserProfit::getStatus, UserProfitTypeEnum.NO_PROFIT.getType()));
+
+        //助力宝
+        List<KxsUserProfitZlb> kxsUserProfitZlbList = kxsUserProfitZlbMapper.selectList(Wrappers.<KxsUserProfitZlb>lambdaQuery().eq(KxsUserProfitZlb::getProfitMonth, nowMonth)
+                .eq(KxsUserProfitZlb::getUserId, userId)
+                .eq(KxsUserProfitZlb::getStatus, UserProfitTypeEnum.NO_PROFIT.getType()));
+        //来客吧
+        List<KxsUserProfitLkb> kxsUserProfitLkbList = kxsUserProfitLkbMapper.selectList(Wrappers.<KxsUserProfitLkb>lambdaQuery().eq(KxsUserProfitLkb::getProfitMonth, nowMonth)
+                .eq(KxsUserProfitLkb::getUserId, userId)
+                .eq(KxsUserProfitLkb::getStatus, UserProfitTypeEnum.NO_PROFIT.getType()));
+
+        for (KxsUserProfit userProfit : userProfitList) {
+            UserProfitListVO userProfitVO = new UserProfitListVO();
+            BeanUtil.copyProperties(userProfit, userProfitVO);
+            list.add(userProfitVO);
+        }
+        for (KxsUserProfitZlb userProfitZlb : kxsUserProfitZlbList) {
+            UserProfitListVO userProfitVO = new UserProfitListVO();
+            userProfitVO.setProfitAmt(userProfitZlb.getProfitAmt());
+            userProfitVO.setProfitMonth(userProfitZlb.getProfitMonth());
+            userProfitVO.setStatus(userProfitZlb.getStatus());
+            userProfitVO.setBrandName("助力宝");
+            userProfitVO.setTradeType(0);
+            userProfitVO.setTradeType(userProfitZlb.getIsTeam());
+        }
+        for (KxsUserProfitLkb kxsUserProfitLkb : kxsUserProfitLkbList) {
+            UserProfitListVO userProfitVO = new UserProfitListVO();
+            userProfitVO.setProfitAmt(kxsUserProfitLkb.getProfitAmt());
+            userProfitVO.setProfitMonth(kxsUserProfitLkb.getProfitMonth());
+            userProfitVO.setStatus(kxsUserProfitLkb.getStatus());
+            userProfitVO.setBrandName("来客吧");
+            userProfitVO.setTradeType(kxsUserProfitLkb.getTradeType());
+
+        }
+        return null;
+    }
 }