From fd0ef49b627f69b1abfa1dd73ccf066a24ad914d Mon Sep 17 00:00:00 2001 From: gaowdong Date: Tue, 6 May 2025 15:19:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E7=BB=9F=E8=AE=A1=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/account/business/AccWalletInfoBusiness.java | 2 +- .../com/bonus/canteen/core/account/domain/AccTrade.java | 2 +- .../bonus/canteen/core/account/domain/vo/AccTradeVo.java | 2 +- .../bonus/canteen/core/account/mapper/AccTradeMapper.java | 2 +- .../canteen/core/account/service/IAccTradeService.java | 2 +- .../core/account/service/impl/AccTradeServiceImpl.java | 2 +- .../canteen/core/pay/controller/NotifyCotroller.java | 8 ++++---- .../bonus/canteen/core/pay/controller/PayController.java | 3 ++- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/business/AccWalletInfoBusiness.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/business/AccWalletInfoBusiness.java index a5066d8..5437fc7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/business/AccWalletInfoBusiness.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/business/AccWalletInfoBusiness.java @@ -226,7 +226,7 @@ public class AccWalletInfoBusiness { accTrade.setDeptId(sysUser.getDeptId()); } if(Objects.nonNull(operation.getOrderNo())) { - accTrade.setOrderNo(operation.getOrderNo().toString()); + accTrade.setOrderNo(operation.getOrderNo()); } accTrade.setMachineSn(operation.getDeviceSn()); this.accTradeService.insertAccTrade(accTrade); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java index 3a8851c..d9b9365 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java @@ -105,7 +105,7 @@ public class AccTrade extends BaseEntity { /** 商户订单号 */ @Excel(name = "商户订单号") @ApiModelProperty(value = "商户订单号") - private String orderNo; + private Long orderNo; /** 关联原记录交易id */ @Excel(name = "关联原记录交易id") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/vo/AccTradeVo.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/vo/AccTradeVo.java index 6c8d40d..4acd0f9 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/vo/AccTradeVo.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/vo/AccTradeVo.java @@ -9,7 +9,7 @@ import java.util.Date; public class AccTradeVo { private Long userId; private Long deptId; - private String orderNo;//商户订单号, 商户网站订单系统中唯一订单号,必填 + private Long orderNo;//商户订单号, 商户网站订单系统中唯一订单号,必填 private String orderName;//订单名称, 必填 private BigDecimal paymentAmount;//付款金额, 必填 private String productDesc;//商品描述 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java index 9b67a74..a056d31 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java @@ -23,7 +23,7 @@ public interface AccTradeMapper { */ public AccTrade selectAccTradeByTradeId(Long tradeId); - public List selectAccTradeByOrderNo(String orderNo); + public List selectAccTradeByOrderNo(Long orderNo); /** * 查询账户交易记录列表 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java index 3cc5c39..f8b653c 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java @@ -24,7 +24,7 @@ public interface IAccTradeService { */ public AccTrade selectAccTradeByTradeId(Long tradeId); - public List selectAccTradeByOrderNo(String orderNo); + public List selectAccTradeByOrderNo(Long orderNo); /** * 查询账户交易记录列表 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java index 97b058f..5baa338 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java @@ -45,7 +45,7 @@ public class AccTradeServiceImpl implements IAccTradeService { } @Override - public List selectAccTradeByOrderNo(String orderNo) { + public List selectAccTradeByOrderNo(Long orderNo) { return accTradeMapper.selectAccTradeByOrderNo(orderNo); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java index 8a8e9a9..8d84b85 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java @@ -76,14 +76,14 @@ public class NotifyCotroller { String third_trade_no = request.getParameter("trade_no"); //交易状态 String trade_status = request.getParameter("trade_status"); - AccTrade accTradeInDB = accTradeService.selectAccTradeByOrderNo(order_no).get(0); + AccTrade accTradeInDB = accTradeService.selectAccTradeByOrderNo(Long.valueOf(order_no)).get(0); if (AliPayTradeStatusEnum.TRADE_STATUS_FINISHED.getKey().equals(trade_status)) { //判断该笔订单是否已经做过处理 //如果没做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详情,判断金额是否等于 total_amount,并执行商户的业务程序 //如果做过处理,不执行商户的业务程序 //注意: 退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态 TRADE_FINISHED AccTradeVo updateTrade = new AccTradeVo(); - updateTrade.setOrderNo(order_no); + updateTrade.setOrderNo(Long.valueOf(order_no)); updateTrade.setThirdTradeNo(third_trade_no); updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey()); updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue()); @@ -105,7 +105,7 @@ public class NotifyCotroller { //如果做过处理,不执行商户的业务程序 //注意: 付款完成后,支付宝系统发送该交易状态 TRADE_SUCCESS AccTradeVo updateTrade = new AccTradeVo(); - updateTrade.setOrderNo(order_no); + updateTrade.setOrderNo(Long.valueOf(order_no)); updateTrade.setThirdTradeNo(third_trade_no); updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey()); updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue()); @@ -123,7 +123,7 @@ public class NotifyCotroller { this.accTradeService.updateAccTradeVoByOrderNo(updateTrade); } else { AccTradeVo updateTrade = new AccTradeVo(); - updateTrade.setOrderNo(order_no); + updateTrade.setOrderNo(Long.valueOf(order_no)); updateTrade.setThirdTradeNo(third_trade_no); updateTrade.setPayState(PayStateEnum.PAY_FAIL.getKey()); updateTrade.setTradeState(AccTradeStateEnum.CLOSE.getKey().longValue()); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayController.java index 683ddae..7e2454e 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayController.java @@ -22,6 +22,7 @@ import com.bonus.canteen.core.pay.constants.PayTypeEnum; import com.bonus.canteen.core.pay.util.AlipayConfig; import com.bonus.canteen.core.account.domain.vo.AccTradeVo; import com.bonus.common.houqin.constant.GlobalConstants; +import com.bonus.common.houqin.utils.id.Id; import com.bonus.common.security.utils.SecurityUtils; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; @@ -63,7 +64,7 @@ public class PayController { accTradeVo.setTradeType(AccTradeTypeEnum.CONSUME.getKey().longValue()); Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); - accTradeVo.setOrderNo(sdf.format(date) + "_" + GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId()); + accTradeVo.setOrderNo(Id.next()); accTradeVo.setOrderName(accTradeVo.getOrderNo() + "_" + GlobalConstants.PERSONAL_RECHARGE); accTradeVo.setTradeTime(new Date()); accTradeVo.setAmount(accTradeVo.getPaymentAmount().multiply(new BigDecimal(100)).longValue());