From b6de2edb15161a94c8fc74797db626b6236bec88 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 24 八月 2024 15:44:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 1f61971..016a888 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1,7 +1,5 @@
 package com.ruoyi.order.service.impl;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -23,7 +21,6 @@
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.service.TokenService;
-import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
 import com.ruoyi.order.api.query.ChargingOrderQuery;
@@ -33,11 +30,9 @@
 import com.ruoyi.order.mapper.TChargingOrderMapper;
 import com.ruoyi.order.service.TChargingOrderAccountingStrategyService;
 import com.ruoyi.order.service.TChargingOrderService;
-import com.ruoyi.other.api.domain.TCoupon;
-import com.ruoyi.other.api.domain.TVip;
+import com.ruoyi.payment.api.feignClient.AliPaymentClient;
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
-import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody;
-import com.ruoyi.payment.api.vo.PaymentOrder;
+import com.ruoyi.payment.api.vo.*;
 import io.seata.spring.annotation.GlobalTransactional;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -52,7 +47,6 @@
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -84,6 +78,9 @@
 	
 	@Resource
 	private WxPaymentClient wxPaymentClient;
+	
+	@Resource
+	private AliPaymentClient aliPaymentClient;
 	
 	@Resource
 	private ChargingPileClient chargingPileClient;
@@ -232,7 +229,14 @@
 				}
 			}
 			if(2 == rechargePaymentType){
-			
+				AliQueryOrder data = aliPaymentClient.query(tChargingOrder.getCode()).getData();
+				if(null != data){
+					//支付失败,删除无效的订单
+					String tradeStatus = data.getTradeStatus();
+					if(tradeStatus.equals("TRADE_CLOSED")){
+						this.removeById(tChargingOrder.getId());
+					}
+				}
 			}
 		}
 		
@@ -262,7 +266,19 @@
 				}
 			}
 			if(2 == one.getRechargePaymentType()){
-			
+				AliQueryOrder data = aliPaymentClient.query(one.getCode()).getData();
+				if(null != data){
+					String trade_state = data.getTradeStatus();
+					//支付失败,删除无效的订单
+					if(trade_state.equals("TRADE_CLOSED")){
+						this.removeById(one.getId());
+					}
+					if(trade_state.equals("WAIT_BUYER_PAY")){
+						//结束第三方支付,删除订单
+						aliPaymentClient.close(one.getCode());
+						this.removeById(one.getId());
+					}
+				}
 			}
 		}
 		
@@ -314,7 +330,17 @@
 			return AjaxResult.success(data);
 		}
 		if(2 == addChargingOrder.getPaymentType()){
-		
+			AliPaymentReq req = new AliPaymentReq();
+			req.setOutTradeNo(chargingOrder.getCode());
+			req.setTotalAmount(chargingOrder.getPaymentAmount().toString());
+			req.setSubject("充电充值");
+			req.setBuyerOpenId(appUser.getAliOpenid());
+			req.setBody("充电充值");
+			AliPaymentResp data = aliPaymentClient.payment(req).getData();
+			if(null != data){
+				data.setNotifyUrl(data.getNotifyUrl() + "/t-charging-order/chargingOrderALICallback");
+				return AjaxResult.success(data);
+			}
 		}
 		throw new RuntimeException("无效的支付方式");
 	}

--
Gitblit v1.7.1