From 5ec06c513fd1060c9a91c9205bb2f0b96ca2ee2a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 27 May 2022 17:11:38 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 36 ++++++++++++++++++++++++------------
1 files changed, 24 insertions(+), 12 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 bc4c6a5..a21cfb8 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
@@ -114,6 +114,8 @@
orderItem.setStyleName(mallGoods.getGoodsName());
orderItem.setSkuName(mallGoods.getGoodsName());
orderItem.setSkuImage(mallGoods.getThumb());
+
+ total = total.add(amount);
} else {
MallGoodsSku sku = mallGoodsSkuMapper.selectSkuInfoById(item.getSkuId());
if (sku == null) {
@@ -140,6 +142,8 @@
orderItem.setStyleName(sku.getStyleName());
orderItem.setSkuName(sku.getSkuName());
orderItem.setSkuImage(sku.getSkuImage());
+ orderItem.setIsNormal(mallGoods.getIsNormal());
+ orderItem.setCostPrice(sku.getCostPrice());
total = total.add(amount);
@@ -199,6 +203,7 @@
// orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo());
// orderInfo.setPayImage(payOrderDto.getPayImage());
orderInfo.setPayMethod("微信支付");
+ agentProducer.sendOrderReturn(orderInfo.getId());
break;
case "2":
if (StrUtil.isNotBlank(orderInfo.getPayOrderNo())) {
@@ -209,6 +214,7 @@
orderInfo.setPayOrderNo(payResultStr);
orderInfo.setPayMethod("支付宝支付");
+ agentProducer.sendOrderReturn(orderInfo.getId());
break;
case "3":
payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance");
@@ -219,29 +225,36 @@
orderInfo.setPayTime(new Date());
orderInfo.setPayResult("1");
-// MallMember mallMember = memberMapper.selectById(member.getId());
-// if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
-// mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
-// memberMapper.updateById(mallMember);
-// }
-
+ 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());
- MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
- BigDecimal score = sku.getOriginalPrice().multiply(mallGoods.getStaticMulti());
+ if (mallGoods.getIsNormal() == 2) {
+ hasTc = true;
+ MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
+ BigDecimal score = sku.getOriginalPrice().multiply(mallGoods.getStaticMulti());
- memberWalletService.add(score, member.getId(), "score");
- mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
+ memberWalletService.add(score, member.getId(), "score");
+ mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
+ }
+ }
+ }
+
+ // 购买套餐后,升级为普通会员
+ 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.sendReturnMoneyMsg(orderInfo.getId());
+ agentProducer.sendOrderReturn(orderInfo.getId());
break;
case "4":
if (orderInfo.getOrderType() != 2) {
@@ -254,7 +267,6 @@
orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
orderInfo.setPayTime(new Date());
orderInfo.setPayResult("1");
-
mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.PRIZE_SCORE.getValue());
break;
--
Gitblit v1.9.1