From 44208f351fe102080a9939afeb455851359df13a Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 13 Sep 2022 10:44:12 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java | 121 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 113 insertions(+), 8 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..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,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; } @@ -44,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("审核成功"); @@ -93,4 +130,72 @@ 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("当前用户无法申请"); + } + 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); + mallTeamLeader.setPhone(mallMember.getPhone()); + mallTeamLeader.setName(mallMember.getName()); + mallTeamLeader.setState(MallTeamLeader.STATE_YES); + 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