From 5282681f84634f83639f240bf5d5ee2a9eb649c0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 13 Sep 2022 15:48:31 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java |   79 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 68 insertions(+), 11 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
index f697c4c..954aabd 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
@@ -2,6 +2,8 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
 import cc.mrbird.febs.mall.conversion.MallTeamLeaderConversion;
 import cc.mrbird.febs.mall.dto.AdminLeaderAddDto;
 import cc.mrbird.febs.mall.dto.AdminLeaderUpdateDto;
@@ -10,10 +12,7 @@
 import cc.mrbird.febs.mall.entity.MallLeaderStock;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallTeamLeader;
-import cc.mrbird.febs.mall.mapper.MallGoodsMapper;
-import cc.mrbird.febs.mall.mapper.MallLeaderStockMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberMapper;
-import cc.mrbird.febs.mall.mapper.MallTeamLeaderMapper;
+import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IAdminMallTeamLeaderService;
 import cc.mrbird.febs.mall.vo.AdminMallActSetVo;
 import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
@@ -30,6 +29,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -42,11 +42,24 @@
     private final MallLeaderStockMapper mallLeaderStockMapper;
     private final MallGoodsMapper mallGoodsMapper;
     private final MallMemberMapper mallMemberMapper;
+    private final MallMoneyFlowMapper mallMoneyFlowMapper;
 
     @Override
     public IPage<AdminMallTeamLeaderVo> getLeaderListInPage(MallTeamLeader mallTeamLeader, QueryRequest request) {
         Page<AdminMallTeamLeaderVo> page = new Page<>(request.getPageNum(), request.getPageSize());
         IPage<AdminMallTeamLeaderVo> adminMallActSetVos = this.baseMapper.selectLeaderListInPage(page, mallTeamLeader);
+
+        List<AdminMallTeamLeaderVo> records = adminMallActSetVos.getRecords();
+        if(CollUtil.isNotEmpty(adminMallActSetVos.getRecords())){
+            for(AdminMallTeamLeaderVo adminMallTeamLeaderVo : records){
+                BigDecimal totalProfit = mallMoneyFlowMapper.selectAmountByFlowtypeAndType(adminMallTeamLeaderVo.getMemberId(),
+                        FlowTypeEnum.BALANCE.getValue(), MoneyFlowTypeEnum.LEADERACHIEVE.getValue(),
+                        null,null,null).setScale(2,BigDecimal.ROUND_DOWN);
+                adminMallTeamLeaderVo.setTotalProfit(totalProfit);
+            }
+        }
+
+
         return adminMallActSetVos;
     }
 
@@ -58,20 +71,30 @@
     }
 
     @Override
-    public FebsResponse leaderUpdate(AdminLeaderUpdateDto adminLeaderUpdateDto) {
-        Long id = adminLeaderUpdateDto.getId();
-        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
-        Integer state = mallTeamLeader.getState();
-        if(MallTeamLeader.STATE_ING != state){
-            return new FebsResponse().fail().message("只有【待审核】状态才能提交!");
+    public FebsResponse leaderUpdate(MallTeamLeader mallTeamLeader) {
+        Long id = mallTeamLeader.getId();
+        MallTeamLeader mallTeamLeaders = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallTeamLeaders)){
+            return new FebsResponse().fail().message("团长信息不存在,刷新重试");
         }
-        int isOk = adminLeaderUpdateDto.getIsOk();
+//        Integer state = mallTeamLeader.getState();
+//        if(MallTeamLeader.STATE_ING != state){
+//            return new FebsResponse().fail().message("只有【待审核】状态才能提交!");
+//        }
+
+        Double bonusPercent = Double.parseDouble(mallTeamLeader.getBonusPercent());
+        if(1 <= bonusPercent || 0 > bonusPercent){
+            return new FebsResponse().fail().message("请输入合适的百分比小数");
+        }
+        int isOk = mallTeamLeader.getIsOk();
         if(MallTeamLeader.STATE_YES == isOk){
             mallTeamLeader.setState(MallTeamLeader.STATE_YES);
+            mallTeamLeader.setProfitSwitch(2);
             this.baseMapper.updateById(mallTeamLeader);
         }
         if(MallTeamLeader.STATE_NO == isOk){
             mallTeamLeader.setState(MallTeamLeader.STATE_NO);
+            mallTeamLeader.setProfitSwitch(2);
             this.baseMapper.updateById(mallTeamLeader);
         }
         return new FebsResponse().success().message("审核成功");
@@ -132,6 +155,10 @@
         if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){
             return new FebsResponse().fail().message("当前用户无法申请");
         }
+        Double bonusPercent = Double.parseDouble(adminLeaderAddDto.getBonusPercent());
+        if(1 <= bonusPercent || 0 > bonusPercent){
+            return new FebsResponse().fail().message("请输入合适的百分比小数");
+        }
         MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.adminDtoToEntity(adminLeaderAddDto);
         mallTeamLeader.setUniqueCode(mallMember.getInviteId());
         mallTeamLeader.setMemberId(memberId);
@@ -141,4 +168,34 @@
         this.baseMapper.insert(mallTeamLeader);
         return new FebsResponse().success();
     }
+
+    @Override
+    public FebsResponse startProfit(Long id) {
+        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallTeamLeader)){
+            return new FebsResponse().fail().message("团长信息不存在,刷新重试");
+        }
+        Integer state = mallTeamLeader.getState();
+        if(1!=state){
+            return new FebsResponse().fail().message("目前还不是团长,无法操作");
+        }
+        mallTeamLeader.setProfitSwitch(1);
+        this.baseMapper.updateById(mallTeamLeader);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse closeProfit(Long id) {
+        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallTeamLeader)){
+            return new FebsResponse().fail().message("团长信息不存在,刷新重试");
+        }
+        Integer state = mallTeamLeader.getState();
+        if(1!=state){
+            return new FebsResponse().fail().message("目前还不是团长,无法操作");
+        }
+        mallTeamLeader.setProfitSwitch(2);
+        this.baseMapper.updateById(mallTeamLeader);
+        return new FebsResponse().success();
+    }
 }

--
Gitblit v1.9.1