From 16c60b7e3b834b05599882ab1ffe99ec78664762 Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期二, 01 四月 2025 15:22:26 +0800
Subject: [PATCH] 1.支付订单

---
 src/main/java/com/mzl/flower/web/v2/pay/AlipayController.java |   38 +++++++++++++++++++++++++-------------
 1 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/mzl/flower/web/v2/pay/AlipayController.java b/src/main/java/com/mzl/flower/web/v2/pay/AlipayController.java
index d4b73a0..7dbab6b 100644
--- a/src/main/java/com/mzl/flower/web/v2/pay/AlipayController.java
+++ b/src/main/java/com/mzl/flower/web/v2/pay/AlipayController.java
@@ -10,13 +10,19 @@
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.config.pay.AlipayProperties;
+import com.mzl.flower.dto.request.productOrders.ProductOrdersCreateDTO;
+import com.mzl.flower.entity.productOrders.ProductOrdersDO;
+import com.mzl.flower.enums.PayTypeEnum;
+import com.mzl.flower.service.productOrders.ProductOrdersService;
 import com.mzl.flower.utils.alipay.OrderInfoUtil2_0;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
@@ -38,33 +44,36 @@
     @Autowired
     AlipayClient alipayClient;
 
+    @Autowired
+    private ProductOrdersService productOrdersService;
+
     /**
      * 获取订单支付请求参数
      * @param
      * @return
      * @throws Exception
      */
-    @GetMapping(value = "/pay-order-info")
+    @PostMapping(value = "/pay-order-info")
     @ApiOperation(value = "获取订单支付请求参数")
-    public ResponseEntity getPayOrderInfo() throws Exception {
+    public ResponseEntity getPayOrderInfo(@Validated @RequestBody ProductOrdersCreateDTO productOrdersCreateDTO) throws Exception {
 
-        String orderId=" ";
-        String totalAmount="0.01";
-        String subject="测试支付";
-        String body="我是测试支付";
-//        创建订单
-//        createAlipayOrder(orderId,totalAmount,subject);
+        // 创建订单
+        // 当前的支付类型是微信支付
+        ProductOrdersDO productOrdersDTO=new ProductOrdersDO();
+        BeanUtils.copyProperties(productOrdersCreateDTO,productOrdersDTO);
+        productOrdersDTO.setPaymentMethod(PayTypeEnum.ALIPAY.getName());
+
+        ProductOrdersDO productOrdersDO=productOrdersService.createProductOrders(productOrdersDTO);
 
         //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
         AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
         //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
         AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
-        model.setBody("我是测试数据");
-        model.setSubject("App支付测试Java");
-        model.setOutTradeNo(OrderInfoUtil2_0.getOutTradeNo());
-//        model.setOutTradeNo(orderId);
+        model.setBody(productOrdersDO.getOrderType()+"_"+productOrdersDO.getCurrentPrice());
+        model.setSubject(productOrdersDO.getOrderName());
+        model.setOutTradeNo(productOrdersDO.getOrderNo());
+        model.setTotalAmount(productOrdersDO.getCurrentPrice()+"");
         model.setTimeoutExpress("30m");
-        model.setTotalAmount("0.01");
         model.setProductCode("QUICK_MSECURITY_PAY");
         request.setBizModel(model);
         request.setNotifyUrl(alipayProperties.getNotifyUrl());
@@ -111,6 +120,9 @@
         // 查看验签结果
         System.out.println(rsa2);
         if(rsa2){
+            // 更新支付状态
+            productOrdersService.updateProductOrderStatus(params);
+
             return "success";
         }
 

--
Gitblit v1.9.3