From 19428a49b4c07b14097615d48a7a72dbf941c4e7 Mon Sep 17 00:00:00 2001
From: zhujie <leon.zhu@cloudroam.com.cn>
Date: 星期五, 18 四月 2025 15:20:02 +0800
Subject: [PATCH] Merge branch 'master' of http://47.96.225.205:8888/r/smart_message
---
src/main/java/com/mzl/flower/web/v2/pay/AlipayController.java | 56 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 43 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..478ac3b 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
@@ -7,16 +7,25 @@
import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
+import com.alipay.api.response.AlipayTradeQueryResponse;
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.pay.PayQueryDTO;
+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.pay.AlipayService;
+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 +47,39 @@
@Autowired
AlipayClient alipayClient;
+ @Autowired
+ private ProductOrdersService productOrdersService;
+
+ @Autowired
+ private AlipayService alipayService;
+
/**
* 获取订单支付请求参数
* @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());
@@ -81,6 +96,18 @@
}
}
+ /**
+ * 支付宝回调url
+ * @param request
+ * @return
+ * @throws Exception
+ */
+ @PostMapping(value = "/order/status")
+ @ApiOperation(value = "订单状态")
+ public AlipayTradeQueryResponse queryOrderByOutOrderNo(@Validated @RequestBody PayQueryDTO payQueryDTO, HttpServletRequest request) throws Exception{
+ AlipayTradeQueryResponse response=alipayService.queryOrderByOutOrderNo(payQueryDTO.getOuterOrderNo());
+ return response;
+ }
/**
* 支付宝回调url
* @param request
@@ -111,6 +138,9 @@
// 查看验签结果
System.out.println(rsa2);
if(rsa2){
+ // 更新支付状态
+ productOrdersService.updateProductOrderStatus(params);
+
return "success";
}
--
Gitblit v1.9.3