Sfoglia il codice sorgente

创建支付订单

chunping 2 anni fa
parent
commit
1032686929

+ 5 - 7
mp-admin/src/main/java/com/qs/mp/web/controller/api/callback/AlipayCallBackController.java

@@ -92,24 +92,22 @@ public class AlipayCallBackController {
     } catch (AlipayApiException e) {
       e.printStackTrace();
     }
-    String bizId = request.getParameter("out_trade_no");
+    String orderId = request.getParameter("out_trade_no");
     String tradeNo = request.getParameter("trade_no");
     String tradeStatus = request.getParameter("trade_status"); // TRADE_SUCCESS
     Integer totalAmount = new BigDecimal(request.getParameter("total_amount")).multiply(new BigDecimal(100)).intValue();
     String completeDate = request.getParameter("gmt_payment");
-    logger.info("data: bizId:"+bizId +" tradeNo:"+tradeNo +" totalAmount:"+totalAmount+ "tradeStatus:"+tradeStatus);
+    logger.info("data: orderId:"+orderId +" tradeNo:"+tradeNo +" totalAmount:"+totalAmount+ "tradeStatus:"+tradeStatus);
 
     //回调金额与订单金额一致性校验
-    PayOrder order = payOrderService.getOne(new LambdaQueryWrapper<PayOrder>()
-        .eq(PayOrder::getBizId, bizId)
-        .eq(PayOrder::getOrderNo, tradeNo));
+    PayOrder order = payOrderService.getById(orderId);
     if (null == order) {
-      logger.error("支付订单不存在,bizId:" + bizId + ",tradeNo:" + tradeNo);
+      logger.error("支付订单不存在,orderId:" + orderId + ",tradeNo:" + tradeNo);
       responseWrite(response,"fail");
       return;
     }
     if (order.getOrderStatus() == PayOrderStatusEnum.SUCCESS.getValue()) {
-      logger.info("支付订单已成功,消息忽略,bizId:" + bizId + ",tradeNo:" + tradeNo);
+      logger.info("支付订单已成功,消息忽略,orderId:" + orderId + ",tradeNo:" + tradeNo);
       responseWrite(response,"true");
     }
 

+ 3 - 2
mp-service/src/main/java/com/qs/mp/pay/service/impl/WalletServiceImpl.java

@@ -128,7 +128,8 @@ public class WalletServiceImpl implements IWalletService {
       alipayClient = new DefaultAlipayClient(aliServerUrl, aliAppId, aliPrivateKey, "json", "UTF-8", aliPublicKey, "RSA2");
     }
     Map<String, Object> params = new HashMap<String, Object>();
-    params.put("out_trade_no", bizId);
+    String orderId = String.valueOf(bizIdGenerator.newId());
+    params.put("out_trade_no", orderId);
     params.put("buyer_id", openId);
     params.put("subject", orderRemark);
     params.put("total_amount", new BigDecimal(money).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
@@ -158,7 +159,7 @@ public class WalletServiceImpl implements IWalletService {
     String trade_no = alipayResponse.getTradeNo();
     //保存订单记录
     PayOrder payOrder = new PayOrder();
-    payOrder.setOrderId(String.valueOf(bizIdGenerator.newId()));
+    payOrder.setOrderId(orderId);
     payOrder.setBizType(bizType);
     payOrder.setBizId(bizId);
     payOrder.setOrderNo(trade_no);