From 42f399525b68f57f0f8491f455c0488c27c293d5 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 08 Sep 2022 18:50:19 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 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 31e930d..fea73d4 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,25 +2,34 @@
 
 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;
+import cc.mrbird.febs.mall.dto.ApiApplayLeaderDto;
 import cc.mrbird.febs.mall.entity.MallGoodsCategory;
+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.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;
 import cc.mrbird.febs.mall.vo.AdminSelectListLeaderVo;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -29,10 +38,28 @@
 @RequiredArgsConstructor
 @Transactional
 public class AdminMallTeamLeaderServiceImpl extends ServiceImpl<MallTeamLeaderMapper, MallTeamLeader> implements IAdminMallTeamLeaderService {
+
+    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;
     }
 
@@ -93,4 +120,38 @@
         return new FebsResponse().success().message("已取消");
     }
 
+    @Override
+    public IPage<MallLeaderStock> leaderGoodsUpdate(QueryRequest request, MallLeaderStock mallLeaderStock) {
+
+        Integer goodsNumber = mallGoodsMapper.selectCount(new QueryWrapper<>());
+        Page<MallLeaderStock> page = new Page<>(request.getPageNum(), goodsNumber);
+        IPage<MallLeaderStock> mallTeamLeaders = this.baseMapper.selectleaderGoodsStockListInPage(page, mallLeaderStock);
+        return mallTeamLeaders;
+    }
+
+    @Override
+    public FebsResponse addLeader(AdminLeaderAddDto adminLeaderAddDto) {
+
+        Long memberId = adminLeaderAddDto.getMemberId();
+        MallMember mallMember = mallMemberMapper.selectById(memberId);
+        if(ObjectUtil.isEmpty(mallMember)){
+            return new FebsResponse().fail().message("刷新页面重试");
+        }
+        List<MallTeamLeader> mallTeamLeaders = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_ING);
+        if(CollUtil.isNotEmpty(mallTeamLeaders)){
+            return new FebsResponse().fail().message("正在申请中");
+        }
+        List<MallTeamLeader> mallTeamLeaderCancel = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_CANCEL);
+        if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){
+            return new FebsResponse().fail().message("当前用户无法申请");
+        }
+        MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.adminDtoToEntity(adminLeaderAddDto);
+        mallTeamLeader.setUniqueCode(mallMember.getInviteId());
+        mallTeamLeader.setMemberId(memberId);
+        mallTeamLeader.setPhone(mallMember.getPhone());
+        mallTeamLeader.setName(mallMember.getName());
+        mallTeamLeader.setState(MallTeamLeader.STATE_YES);
+        this.baseMapper.insert(mallTeamLeader);
+        return new FebsResponse().success();
+    }
 }

--
Gitblit v1.9.1