From 75e5b1458b320b048f84093d481adaf82cec2cdb Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 05 Sep 2022 16:02:28 +0800 Subject: [PATCH] 20220902 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 103 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 64 insertions(+), 39 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 20b1a19..fafe3d7 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -74,6 +74,7 @@ private final MallTeamLeaderMapper mallTeamLeaderMapper; private final MallMemberMapper mallMemberMapper; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + private final MallLeaderAchieveMapper mallLeaderAchieveMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -186,9 +187,9 @@ BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount(); if(BigDecimal.ZERO.compareTo(delivaryAmount) < 0 && 1 == addOrderDto.getIsHome()){ total = total.add(delivaryAmount); + orderInfo.setCarriage(delivaryAmount); } orderInfo.setAmount(total); - orderInfo.setCarriage(carriage); MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId()); orderInfo.setName(address.getName()); @@ -294,7 +295,7 @@ wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData); payResultStr = brandWCPayRequestData.getPrepay_id(); orderInfo.setPayMethod("微信支付"); - agentProducer.sendOrderReturn(orderInfo.getId()); +// agentProducer.sendOrderReturn(orderInfo.getId()); break; case "2": if (StrUtil.isNotBlank(orderInfo.getPayOrderNo())) { @@ -315,44 +316,45 @@ orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderInfo.setPayTime(new Date()); orderInfo.setPayResult("1"); + orderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue()); - boolean hasTc = false; - // 静态倍数 - List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId()); - if (CollUtil.isNotEmpty(orderItems)) { - for (MallOrderItem orderItem : orderItems) { - MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId()); - BigDecimal score = BigDecimal.ZERO; - MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId()); - if (mallGoods.getIsNormal() == 2) { - hasTc = true; - score = sku.getPresentPrice().multiply(mallGoods.getStaticMulti()).multiply(new BigDecimal(orderItem.getCnt())); -// BigDecimal staticMulti = mallGoods.getStaticMulti() == null ? BigDecimal.ZERO : mallGoods.getStaticMulti(); -// score = sku.getPresentPrice().multiply(staticMulti); - } - - if (score.compareTo(BigDecimal.ZERO) > 0) { - memberWalletService.add(score, member.getId(), "score"); - mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue()); - - // 添加业绩 - mallAchieveService.add(orderItem.getId()); - } - } - } +// boolean hasTc = false; +// // 静态倍数 +// List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId()); +// if (CollUtil.isNotEmpty(orderItems)) { +// for (MallOrderItem orderItem : orderItems) { +// MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId()); +// BigDecimal score = BigDecimal.ZERO; +// MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId()); +// if (mallGoods.getIsNormal() == 2) { +// hasTc = true; +// score = sku.getPresentPrice().multiply(mallGoods.getStaticMulti()).multiply(new BigDecimal(orderItem.getCnt())); +//// BigDecimal staticMulti = mallGoods.getStaticMulti() == null ? BigDecimal.ZERO : mallGoods.getStaticMulti(); +//// score = sku.getPresentPrice().multiply(staticMulti); +// } +// +// if (score.compareTo(BigDecimal.ZERO) > 0) { +// memberWalletService.add(score, member.getId(), "score"); +// mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue()); +// +// // 添加业绩 +// mallAchieveService.add(orderItem.getId()); +// } +// } +// } // 购买套餐后,升级为普通会员 - if (hasTc) { - MallMember mallMember = memberMapper.selectById(member.getId()); - if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) { - mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); - memberMapper.updateById(mallMember); - } - } +// if (hasTc) { +// MallMember mallMember = memberMapper.selectById(member.getId()); +// if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) { +// mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); +// memberMapper.updateById(mallMember); +// } +// } mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); - agentProducer.sendAutoLevelUpMsg(member.getId()); - agentProducer.sendOrderReturn(orderInfo.getId()); +// agentProducer.sendAutoLevelUpMsg(member.getId()); +// agentProducer.sendOrderReturn(orderInfo.getId()); break; case "4": if (orderInfo.getOrderType() != 2) { @@ -484,6 +486,16 @@ orderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); orderInfo.setReceivingTime(new Date()); this.baseMapper.updateById(orderInfo); + + //生成一条团长提成记录 + MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve(); + mallLeaderAchieve.setMemberId(orderInfo.getMemberId()); + mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo()); + BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage()); + mallLeaderAchieve.setAmount(subtract); + mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode()); + mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE); + mallLeaderAchieveMapper.insert(mallLeaderAchieve); } @Override @@ -703,6 +715,21 @@ BigDecimal bb = new BigDecimal(100); int refundMoney = refundAmount.multiply(bb).intValue(); + Long refundId = mallRefundEntity.getId(); + MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId); + MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo); + //余额支付退款 + if(OrderPayMethodEnum.BALANCE.getName().equals(mallOrderInfo.getPayMethod())){ + mallRefundOld.setState(1); + mallRefundMapper.updateById(mallRefundOld); + mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue()); + this.baseMapper.updateById(mallOrderInfoOld); + mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + memberWalletService.add(refundAmount, member.getId(), "balance"); + mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId()); + return new FebsResponse().success().message("退款成功"); + } + Boolean flag = false; Boolean debug = xcxProperties.getDebug(); if (debug) { @@ -718,14 +745,12 @@ * 更新退款表 * 更新订单表 */ - Long refundId = mallRefundEntity.getId(); - MallRefundEntity mallRefundOld = mallRefundMapper.selectById(refundId); - MallOrderInfo mallOrderInfoOld = this.baseMapper.selectByOrderNo(orderNo); if(flag){ mallRefundOld.setState(1); mallRefundMapper.updateById(mallRefundOld); mallOrderInfoOld.setStatus(OrderStatusEnum.REFUNDED.getValue()); this.baseMapper.updateById(mallOrderInfoOld); + mallOrderItemMapper.updateStateByOrderId(3,mallOrderInfoOld.getId()); mallMoneyFlowService.addMoneyFlow(mallOrderInfoOld.getMemberId(), mallOrderInfoOld.getAmount(), MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); }else{ mallRefundOld.setState(2); @@ -767,7 +792,7 @@ mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic()); mallRefundEntity.setMemberId(member.getId()); mallRefundEntity.setState(3); - mallRefundEntity.setType(1); + mallRefundEntity.setType(applyRefundOrderDto.getType()); mallRefundEntity.setOrderId(orderId); mallRefundEntity.setAmount(mallOrderItem.getAmount()); mallRefundMapper.insert(mallRefundEntity); -- Gitblit v1.9.1