From ac6ad6533a8f4c7c1e007b81cedb433f43287bc4 Mon Sep 17 00:00:00 2001 From: axindata <1851789500@qq.com> Date: Fri, 21 Feb 2025 10:14:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=99=E9=A2=9D=E6=94=AF=E4=BB=98=E5=92=8C?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E6=94=AF=E4=BB=98=E6=B7=BB=E5=8A=A0=E8=BF=9B?= =?UTF-8?q?=E6=B5=81=E6=B0=B4=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OmsPortalOrderServiceImpl.java | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java index 1c4f664..47e83d2 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java @@ -153,6 +153,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { @Autowired private MemberPointsSplitProfitService memberPointsSplitProfitService; + @Autowired + private UmsMemberAccountTransactionMapper umsMemberAccountTransactionMapper; + @Value("${kuaidi100.url}") private String KUAIDI100_URL; @@ -1343,8 +1346,10 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { if (flag == 0) { // 如果实际支付金额为0,表示使用积分支付 // 获取积分兑换价格 - BigDecimal totalPointsAmount = order.getIntegrationAmount(); // 使用订单中的积分字段 - BigDecimal memberPoints = BigDecimal.valueOf(member.getIntegration()); // 获取当前用户积分 + // 使用订单中的积分字段 + BigDecimal totalPointsAmount = order.getIntegrationAmount(); + // 获取当前用户积分 + BigDecimal memberPoints = BigDecimal.valueOf(member.getIntegration()); // 判断用户积分是否足够 if (memberPoints.compareTo(totalPointsAmount) < 0) { @@ -1352,8 +1357,10 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { } // 扣除用户积分,并记录积分变动 - member.setIntegration(memberPoints.subtract(totalPointsAmount).intValue()); // 扣除积分 - member.setFreeze(member.getFreeze().add(totalPointsAmount)); // 冻结积分 + // 扣除积分 + member.setIntegration(memberPoints.subtract(totalPointsAmount).intValue()); + // 冻结积分 + member.setFreeze(member.getFreeze().add(totalPointsAmount)); memberMapper.updateByPrimaryKey(member); // 支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->积分支付支付 @@ -1367,11 +1374,13 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { //写入会员交易记录表 DmsMemberTradeRecord tradeRecord = new DmsMemberTradeRecord(); tradeRecord.setMemberId(member.getId()); - tradeRecord.setItemType(ItemType.IntegralShopping); //积分购物 + //积分购物 + tradeRecord.setItemType(ItemType.IntegralShopping); tradeRecord.setNote("积分抵扣"); tradeRecord.setTitle("积分抵扣"); tradeRecord.setValue(totalPointsAmount); - tradeRecord.setType(1); //收支类型:0->收入;1->支出 + //收支类型:0->收入;1->支出 + tradeRecord.setType(1); tradeRecord.setCreateTime(new Date()); memberTradeRecordMapper.insert(tradeRecord); @@ -1379,7 +1388,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { long time = System.currentTimeMillis() + RedisLock.TIMEOUT; if (redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) { member = memberMapper.selectByPrimaryKey(member.getId()); - member.setFreeze(member.getFreeze().add(order.getIntegrationAmount())); //修改冻结金额,增加冻结资金 + //修改冻结金额,增加冻结资金 + member.setFreeze(member.getFreeze().add(order.getIntegrationAmount())); memberMapper.updateByPrimaryKey(member); redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time)); break; @@ -1390,6 +1400,16 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { return CommonResult.validateFailed("无效订单"); } + //插入流水表 + UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction(); + accountTransaction.setMemberId(member.getId()); + accountTransaction.setOrderId(orderId); + accountTransaction.setTransferPaymentTime(order.getPaymentTime()); + accountTransaction.setRevenuePoints(totalPointsAmount.intValue()); + PmsProduct pmsProduct = orderMapper.selectAll(order.getOrderSn()); + accountTransaction.setRemarks( "商品名称" + pmsProduct.getName()); + umsMemberAccountTransactionMapper.updateByPrimaryKey(accountTransaction); + Date date = new Date(); //支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->余额支付 @@ -1501,6 +1521,15 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { // 更新用户余额 memberMapper.updateByPrimaryKey(member); + //插入流水表 + UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction(); + accountTransaction.setMemberId(member.getId()); + accountTransaction.setOrderId(orderId); + accountTransaction.setTransferPaymentTime(orderResult.getPaymentTime()); + accountTransaction.setRevenueAmount(payAmount.negate()); + PmsProduct pmsProduct = orderMapper.selectAll(orderResult.getOrderSn()); + accountTransaction.setRemarks( "商品名称" + pmsProduct.getName()); + umsMemberAccountTransactionMapper.updateByPrimaryKey(accountTransaction); // 更新订单状态为已支付 OmsOrder order = orderMapper.selectByPrimaryKey(orderId); -- 2.36.6