| | |
| | | |
| | | 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.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; |
| | |
| | | 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; |
| | | |
| | |
| | | |
| | | 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; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @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("审核成功"); |
| | |
| | | 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(); |
| | | } |
| | | } |