From 1fc5510367dcf321ac85e50e31c9dcdaaf5cd09e Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 21 Dec 2022 11:56:27 +0800 Subject: [PATCH] 20221221 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 80 +++++++++++++++++++--------------------- 1 files changed, 38 insertions(+), 42 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 113348b..040638a 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 @@ -69,6 +69,7 @@ private final MallShoppingCartMapper mallShoppingCartMapper; private final IApiMallMemberService memberService; private final IMallMoneyFlowService mallMoneyFlowService; + private final MallMoneyFlowMapper mallMoneyFlowMapper; private final RedisUtils redisUtils; private final AgentProducer agentProducer; @@ -131,7 +132,8 @@ // orderInfo.setLongitude(address.getLongitude()); orderInfo.setRemark(addOrderDto.getRemark()); orderInfo.setOrderType(addOrderDto.getOrderType()); - + //补贴金额 + orderInfo.setSubsidyAmount(goods.getSubsidyAmount()); if (CollUtil.isEmpty(addOrderDto.getItems())) { throw new FebsException("参数错误"); } @@ -285,10 +287,11 @@ if (OrderStatusEnum.WAIT_PAY.getValue() != orderInfo.getStatus()) { throw new FebsException("订单状态不能支付"); } - + String type = payOrderDto.getType(); + type = type == "3" ? type : "3"; String payResultStr = ""; String rcResult = ""; - switch (payOrderDto.getType()) { + switch (type) { case "1": UnipayDto unipayDtoWx = new UnipayDto(); // unipayDto.setAmount(new BigDecimal("0.01")); @@ -361,46 +364,22 @@ orderInfo.setPayTime(new Date()); orderInfo.setPayResult("1"); -// 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); -// // 普通商品也及时结算,不再10天结算 -// } else { -// score = sku.getPresentPrice(); -// } -// -// 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()); -// } -// } -// } +// mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + /** + * 生成下单的流水记录 + */ + Long payFlowId = mallMoneyFlowService.addMoneyFlow( + member.getId(), + orderInfo.getOrderNo(), + orderInfo.getAmount().negate().setScale(2, BigDecimal.ROUND_DOWN), + MallMoneyFlowTypeEnum.PAY.getCode(), + MallMoneyFlow.STATUS_SUCCESS, + MallMoneyFlow.IS_RETURN_N, + member.getId(), + FlowTypeEnum.BALANCE.getValue(), + MallMoneyFlowTypeEnum.PAY.getName() + ); - // 购买套餐后,升级为普通会员 -// 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()); break; case "4": if (orderInfo.getOrderType() != 2) { @@ -600,6 +579,23 @@ orderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); orderInfo.setReceivingTime(new Date()); this.baseMapper.updateById(orderInfo); + /** + * 通过支付流水记录,返回下单金额 + */ + MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn( + member.getId(), + orderInfo.getOrderNo(), + MallMoneyFlowTypeEnum.PAY.getCode(), + MallMoneyFlow.STATUS_SUCCESS, + MallMoneyFlow.IS_RETURN_N); + if(ObjectUtil.isNotEmpty(payFlow)){ + memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId()); + payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y); + mallMoneyFlowMapper.updateById(payFlow); + } + //产生补贴流水记录 + agentProducer.sendDirectRewardMsg(orderInfo.getId()); + } @Override -- Gitblit v1.9.1