From 1e4223aa1061287e751d74b1e536f4eb4869f76c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Sat, 12 Oct 2024 15:34:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E7=AE=A1=E7=90=86-=E5=BA=97?= =?UTF-8?q?=E9=93=BA=E9=85=8D=E7=BD=AE=EF=BC=9A=E6=89=93=E5=8D=B0=E6=9C=BA?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/NotifyController.java | 4 +++- .../system/cashierservice/service/OrderService.java | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java index 3e7f9fc..2358086 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java @@ -44,6 +44,7 @@ public class NotifyController { String payOrderId = bizData.getString("payOrderId"); String payType = bizData.getString("payType"); String payTime = bizData.getString("payTime"); + long amount = bizData.getLongValue("amount"); long paidTime = DateUtil.parseDateTime(payTime).getTime(); if (!"TRADE_SUCCESS".equals(state)) { log.error("支付失败:{},{}", state, note); @@ -51,10 +52,11 @@ public class NotifyController { } TbOrderInfo entity = orderService.selectByPayOrderNo(payOrderId); if (entity == null) { + log.error("订单不存在:{}", payOrderId); return Result.fail("订单不存在"); } entity.setPaidTime(paidTime); - orderService.payCallbackCloseOrder(entity, payType); + orderService.payCallbackCloseOrder(entity, payType, amount); return Result.success(CodeEnum.SUCCESS); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 0311078..2c6a4b5 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -3,6 +3,7 @@ package com.chaozhanggui.system.cashierservice.service; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.thread.ThreadUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; @@ -462,7 +463,7 @@ public class OrderService { if (product.getStockNumber() == null) { product.setStockNumber(0); } - if ( product.getStockNumber() - num <= product.getWarnLine()) { + if (product.getStockNumber() - num <= product.getWarnLine()) { List shopOpenIds = shopOpenIdMapper.selectStateByShopIdAndType(product.getShopId(), ShopWxMsgTypeEnum.STOCK_MSG.getType()); shopOpenIds.forEach(item -> { wxAccountUtil.sendStockWarnMsg("商品库存不足", product.getName(), @@ -1859,11 +1860,13 @@ public class OrderService { } @Transactional(rollbackFor = Exception.class) - public void payCallbackCloseOrder(TbOrderInfo entity, String payType) { + public void payCallbackCloseOrder(TbOrderInfo entity, String payType, long actualPayAmount) { mPOrderInfoMapper.update(null, new LambdaUpdateWrapper() .eq(TbOrderInfo::getId, entity.getId()) .eq(TbOrderInfo::getStatus, "paying") .set(TbOrderInfo::getStatus, "closed") + .set(TbOrderInfo::getPayType, payType) + .set(TbOrderInfo::getPayAmount, NumberUtil.div(actualPayAmount, 100)) .set(TbOrderInfo::getPaidTime, entity.getPaidTime()) .set(TbOrderInfo::getUpdatedAt, System.currentTimeMillis()) );