From c2a0a337498445683f81e33597bf694e0dc9fb68 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 15 Sep 2022 17:55:02 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 86 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 80 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java index f422b2f..52a049b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java @@ -6,6 +6,7 @@ import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.ShareCodeUtil; import cc.mrbird.febs.common.utils.SpringContextHolder; +import cc.mrbird.febs.mall.conversion.MallLeaderAchieveConversion; import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion; import cc.mrbird.febs.mall.conversion.MallTeamLeaderConversion; import cc.mrbird.febs.mall.dto.*; @@ -15,10 +16,7 @@ import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IApiMallTeamLeaderService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; -import cc.mrbird.febs.mall.vo.ApiLeaderInfoVo; -import cc.mrbird.febs.mall.vo.ApiLeaderListVo; -import cc.mrbird.febs.mall.vo.ApiMallleaderStateVo; -import cc.mrbird.febs.mall.vo.OrderListVo; +import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.pay.model.OrderStateDto; import cc.mrbird.febs.pay.service.IXcxPayService; import cc.mrbird.febs.pay.util.WechatConfigure; @@ -62,6 +60,10 @@ private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class); private final IMallMoneyFlowService mallMoneyFlowService; private final IApiMallMemberWalletService memberWalletService; + private final MallLeaderAchieveMapper mallLeaderAchieveMapper; + private final MallMoneyFlowMapper mallMoneyFlowMapper; + private final MallGoodsMapper mallGoodsMapper; + private final MallGoodsSkuMapper mallGoodsSkuMapper; @Override @Transactional @@ -80,6 +82,9 @@ mallTeamLeader.setMemberId(memberId); mallTeamLeader.setState(MallTeamLeader.STATE_ING); mallTeamLeader.setUniqueCode(member.getInviteId()); + //申请团长默认关闭返利,返利比例为0 + mallTeamLeader.setProfitSwitch(2); + mallTeamLeader.setBonusPercent("0"); this.baseMapper.insert(mallTeamLeader); return new FebsResponse().success().message("申请成功"); } @@ -166,11 +171,12 @@ orderStateDto.setOrderNo(mallOrderInfo.getOrderNo()); String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId()); orderStateDto.setGoodsName(StrUtil.sub(productNames,0,10)+"..."); - orderStateDto.setOrderState("已送达"); + orderStateDto.setOrderState("待自提"); orderStateDto.setTakeCode(mallOrderInfo.getTakeCode()); String takeUniqueCode = mallOrderInfo.getTakeUniqueCode(); MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode); orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,10)+"..."); + orderStateDto.setDetailAddress(StrUtil.sub(mallTeamLeader.getDetailAddress(),0,10)+"..."); orderStateDto.setOpenId(mallMemberMapper.selectById(mallOrderInfo.getMemberId()).getOpenId()); DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode()); orderStateDto.setTemplateId(dataDictionaryCustom.getValue()); @@ -259,7 +265,9 @@ MallMember loginUser = LoginUserUtil.getLoginUser(); Long memberId = loginUser.getId(); MallMember mallMember = mallMemberMapper.selectById(memberId); - + if(ObjectUtil.isEmpty(mallMember)){ + return new FebsResponse().success(); + } log.info(mallMember.getInviteId()); MallTeamLeader mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(mallMember.getInviteId()); if(ObjectUtil.isEmpty(mallTeamLeader)){ @@ -322,6 +330,16 @@ //更新订单详情 mallOrderItem.setState(3); mallOrderItemMapper.updateById(mallOrderItem); + //更新库存信息 + MallGoods mallGoods = mallGoodsMapper.selectById(mallOrderItem.getGoodsId()); + mallGoods.setStock(mallGoods.getStock() + mallOrderItem.getCnt()); + mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt()); + mallGoodsMapper.updateById(mallGoods); + + MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); + mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt()); + mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt()); + mallGoodsSkuMapper.updateById(mallGoodsSku); //更新退款订单 mallRefundEntity.setState(1); mallRefundEntity.setUpdatedTime(DateUtil.date()); @@ -353,6 +371,17 @@ //更新订单详情 mallOrderItem.setState(3); mallOrderItemMapper.updateById(mallOrderItem); + //更新库存信息 + MallGoods mallGoods = mallGoodsMapper.selectById(mallOrderItem.getGoodsId()); + mallGoods.setStock(mallGoods.getStock() + mallOrderItem.getCnt()); + mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt()); + mallGoodsMapper.updateById(mallGoods); + + MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); + mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt()); + mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt()); + mallGoodsSkuMapper.updateById(mallGoodsSku); + //更新退款订单 mallRefundEntity.setState(1); mallRefundEntity.setUpdatedTime(DateUtil.date()); @@ -366,6 +395,11 @@ mallOrderInfoMapper.updateById(mallOrderRefund); } }else{ + + //更新订单详情 + mallOrderItem.setState(1); + mallOrderItemMapper.updateById(mallOrderItem); + mallRefundEntity.setState(2); mallRefundMapper.updateById(mallRefundEntity); return new FebsResponse().fail().message("退款失败,请联系客服人员"); @@ -386,4 +420,44 @@ return new FebsResponse().success().data(mallRefundEntities.get(0)); } + @Override + public FebsResponse leaderProfit() { + MallMember loginUser = LoginUserUtil.getLoginUser(); + ApiLeaderProfitVo apiLeaderProfitVo = new ApiLeaderProfitVo(); + + BigDecimal totalProfit = mallMoneyFlowMapper.selectAmountByFlowtypeAndType(loginUser.getId(),FlowTypeEnum.BALANCE.getValue(),MoneyFlowTypeEnum.LEADERACHIEVE.getValue(),null,null,null); + apiLeaderProfitVo.setTotalProfit(totalProfit); + BigDecimal todayProfit = mallMoneyFlowMapper.selectAmountByFlowtypeAndType(loginUser.getId(),FlowTypeEnum.BALANCE.getValue(), + MoneyFlowTypeEnum.LEADERACHIEVE.getValue(), + null,DateUtil.date(), + null); + apiLeaderProfitVo.setTodayProfit(todayProfit); + + BigDecimal monthProfit = mallMoneyFlowMapper.selectAmountByFlowtypeAndType(loginUser.getId(),FlowTypeEnum.BALANCE.getValue(), + MoneyFlowTypeEnum.LEADERACHIEVE.getValue(), + null,null, + DateUtil.date()); + apiLeaderProfitVo.setMonthProfit(monthProfit); + String inviteId = loginUser.getInviteId(); + MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(inviteId); + Integer profitSwitch = mallTeamLeader.getProfitSwitch() == null ? 2:mallTeamLeader.getProfitSwitch(); + if(2 == profitSwitch){ + apiLeaderProfitVo.setWaitProfit(BigDecimal.ZERO); + }else{ + BigDecimal waitProfit = mallLeaderAchieveMapper.selectProfitByStateAndDateTimeAndUniqueCode(1,null,loginUser.getInviteId()).setScale(2,BigDecimal.ROUND_DOWN); + apiLeaderProfitVo.setWaitProfit(waitProfit); + } + + return new FebsResponse().success().data(apiLeaderProfitVo); + } + + @Override + public List<ApiOrderProfitVo> findLeaderProfitListInPage(ApiOrderProfitDto apiOrderProfitDto) { + MallMember member = LoginUserUtil.getLoginUser(); + IPage<MallLeaderAchieve> page = new Page<>(apiOrderProfitDto.getPageNum(), apiOrderProfitDto.getPageSize()); + apiOrderProfitDto.setInvitedId(member.getInviteId()); + IPage<MallLeaderAchieve> mallLeaderAchieves = mallLeaderAchieveMapper.selectApiLeaderProfitListInPage(page, apiOrderProfitDto); + return MallLeaderAchieveConversion.INSTANCE.entitysToVos(mallLeaderAchieves.getRecords()); + } + } -- Gitblit v1.9.1