From e90dc8cdf7d4ce7d08e1ab51fcde3c28fd2995a0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 20 Dec 2022 16:30:35 +0800
Subject: [PATCH] 20221220 1、星级市场
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 75 +++++++++++++++++--------------------
1 files changed, 35 insertions(+), 40 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..54860bf 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("参数错误");
}
@@ -361,46 +363,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(BigDecimal.ROUND_DOWN, 2),
+ 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 +578,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