|
@@ -15,7 +15,7 @@ import com.szwl.model.bo.R;
|
|
import com.szwl.model.bo.ResponseModel;
|
|
import com.szwl.model.bo.ResponseModel;
|
|
import com.szwl.model.dto.*;
|
|
import com.szwl.model.dto.*;
|
|
import com.szwl.model.entity.TAirwallexPayment;
|
|
import com.szwl.model.entity.TAirwallexPayment;
|
|
-import com.szwl.model.entity.TOrderAbroad;
|
|
|
|
|
|
+import com.szwl.model.entity.TCoinOrder;
|
|
import com.szwl.model.utils.AccessTokenThreadUtil;
|
|
import com.szwl.model.utils.AccessTokenThreadUtil;
|
|
import com.szwl.service.*;
|
|
import com.szwl.service.*;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
@@ -44,14 +44,14 @@ public class AirwallexPayController {
|
|
|
|
|
|
AirwallexService airwallexService;
|
|
AirwallexService airwallexService;
|
|
|
|
|
|
- TOrderAbroadService tOrderAbroadService;
|
|
|
|
|
|
+ TCoinOrderService tCoinOrderService;
|
|
|
|
|
|
TAirwallexPaymentService tAirwallexPaymentService;
|
|
TAirwallexPaymentService tAirwallexPaymentService;
|
|
|
|
|
|
- public AirwallexPayController(TAdminService tAdminService, AirwallexService airwallexService, TOrderAbroadService tOrderAbroadService, TAirwallexPaymentService tAirwallexPaymentService) {
|
|
|
|
|
|
+ public AirwallexPayController(TAdminService tAdminService, AirwallexService airwallexService, TCoinOrderService tCoinOrderService, TAirwallexPaymentService tAirwallexPaymentService) {
|
|
this.tAdminService = tAdminService;
|
|
this.tAdminService = tAdminService;
|
|
this.airwallexService = airwallexService;
|
|
this.airwallexService = airwallexService;
|
|
- this.tOrderAbroadService = tOrderAbroadService;
|
|
|
|
|
|
+ this.tCoinOrderService = tCoinOrderService;
|
|
this.tAirwallexPaymentService = tAirwallexPaymentService;
|
|
this.tAirwallexPaymentService = tAirwallexPaymentService;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -105,6 +105,11 @@ public class AirwallexPayController {
|
|
AccessTokenCommon.ACCESS_TOKEN = AccessTokenThreadUtil.getAccessToken();
|
|
AccessTokenCommon.ACCESS_TOKEN = AccessTokenThreadUtil.getAccessToken();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 创建付款意向 - 消费者发起
|
|
|
|
+ * @param paymentIntentRequestBody
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
@ApiOperation(value = "Create a PaymentIntent")
|
|
@ApiOperation(value = "Create a PaymentIntent")
|
|
@PostMapping("/createAPaymentIntent")
|
|
@PostMapping("/createAPaymentIntent")
|
|
public R createAPaymentIntent(@RequestBody PaymentIntentRequestBody paymentIntentRequestBody) {
|
|
public R createAPaymentIntent(@RequestBody PaymentIntentRequestBody paymentIntentRequestBody) {
|
|
@@ -132,17 +137,18 @@ public class AirwallexPayController {
|
|
String clientId = paymentIntentRequestBody.getClientId();
|
|
String clientId = paymentIntentRequestBody.getClientId();
|
|
Long equipmentId = paymentIntentRequestBody.getEquipmentId();
|
|
Long equipmentId = paymentIntentRequestBody.getEquipmentId();
|
|
// 创建订单
|
|
// 创建订单
|
|
- TOrderAbroad tOrderAbroad = new TOrderAbroad();
|
|
|
|
- tOrderAbroad.setAmount(amount);
|
|
|
|
- tOrderAbroad.setCurrency(currency);
|
|
|
|
- tOrderAbroad.setMerchantOrderId(merchantOrderId);
|
|
|
|
- tOrderAbroad.setRequestId(requestId);
|
|
|
|
- tOrderAbroad.setProductId(productId);
|
|
|
|
- tOrderAbroad.setProductName(productName);
|
|
|
|
- tOrderAbroad.setClientId(clientId);
|
|
|
|
- tOrderAbroad.setEquipmentId(equipmentId);
|
|
|
|
|
|
+ TCoinOrder tCoinOrder = new TCoinOrder();
|
|
|
|
+ tCoinOrder.setAmount(amount);
|
|
|
|
+ tCoinOrder.setCurrency(currency);
|
|
|
|
+ tCoinOrder.setMerchantOrderId(merchantOrderId);
|
|
|
|
+ tCoinOrder.setRequestId(requestId);
|
|
|
|
+ tCoinOrder.setProductId(productId);
|
|
|
|
+ tCoinOrder.setProductName(productName);
|
|
|
|
+ tCoinOrder.setClientId(clientId);
|
|
|
|
+ tCoinOrder.setEquipmentId(equipmentId);
|
|
// 设置订单支付状态,0未支付,1已支付,3已退款。
|
|
// 设置订单支付状态,0未支付,1已支付,3已退款。
|
|
- tOrderAbroad.setPayStatus(0);
|
|
|
|
|
|
+ tCoinOrder.setStatus("0");
|
|
|
|
+ tCoinOrder.setIsAir("1");
|
|
|
|
|
|
// 返回payment intent id和client secret
|
|
// 返回payment intent id和client secret
|
|
Map<String, Object> responseMap = airwallexService.caPaymentIntent(amount, currency, requestId, merchantOrderId);
|
|
Map<String, Object> responseMap = airwallexService.caPaymentIntent(amount, currency, requestId, merchantOrderId);
|
|
@@ -151,9 +157,10 @@ public class AirwallexPayController {
|
|
String clientSecret = (String) responseMap.get("client_secret");
|
|
String clientSecret = (String) responseMap.get("client_secret");
|
|
|
|
|
|
// 把 paymentIntentId 保存到数据库
|
|
// 把 paymentIntentId 保存到数据库
|
|
- tOrderAbroad.setPaymentIntentId(paymentIntentId);
|
|
|
|
|
|
+ tCoinOrder.setPaymentIntentId(paymentIntentId);
|
|
// 将订单存入数据库
|
|
// 将订单存入数据库
|
|
- tOrderAbroadService.save(tOrderAbroad);
|
|
|
|
|
|
+
|
|
|
|
+ tCoinOrderService.save(tCoinOrder);
|
|
// boolean save = tOrderAbroadService.save(tOrderAbroad);
|
|
// boolean save = tOrderAbroadService.save(tOrderAbroad);
|
|
// System.out.println("将订单存入数据库:" + save);
|
|
// System.out.println("将订单存入数据库:" + save);
|
|
|
|
|
|
@@ -244,16 +251,16 @@ public class AirwallexPayController {
|
|
// tOrderAbroadQueryWrapper.eq("request_id", requestId);
|
|
// tOrderAbroadQueryWrapper.eq("request_id", requestId);
|
|
// TOrderAbroad orderAbroad = tOrderAbroadService.getOne(tOrderAbroadQueryWrapper);
|
|
// TOrderAbroad orderAbroad = tOrderAbroadService.getOne(tOrderAbroadQueryWrapper);
|
|
|
|
|
|
- LambdaQueryWrapper<TOrderAbroad> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
|
- lambdaQueryWrapper.eq(TOrderAbroad::getPaymentIntentId, paymentIntentId);
|
|
|
|
- TOrderAbroad orderAbroad = tOrderAbroadService.getOne(lambdaQueryWrapper);
|
|
|
|
|
|
+ LambdaQueryWrapper<TCoinOrder> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ lambdaQueryWrapper.eq(TCoinOrder::getPaymentIntentId, paymentIntentId);
|
|
|
|
+ TCoinOrder coinOrder = tCoinOrderService.getOne(lambdaQueryWrapper);
|
|
|
|
|
|
- if (orderAbroad == null) {
|
|
|
|
|
|
+ if (coinOrder == null) {
|
|
return R.fail("订单为空/error");
|
|
return R.fail("订单为空/error");
|
|
}
|
|
}
|
|
|
|
|
|
// 支付状态:退款中
|
|
// 支付状态:退款中
|
|
- orderAbroad.setPayStatus(2);
|
|
|
|
|
|
+ coinOrder.setStatus("2");
|
|
// 修改订单表
|
|
// 修改订单表
|
|
// SimpleDateFormat sdf = new SimpleDateFormat();
|
|
// SimpleDateFormat sdf = new SimpleDateFormat();
|
|
// sdf.applyPattern("yyyy-MM-dd HH:mm:ss");
|
|
// sdf.applyPattern("yyyy-MM-dd HH:mm:ss");
|
|
@@ -263,8 +270,8 @@ public class AirwallexPayController {
|
|
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
// String format = localDateTime.format(dtf);
|
|
// String format = localDateTime.format(dtf);
|
|
// 退款发起时间
|
|
// 退款发起时间
|
|
- orderAbroad.setRefundDate(new Date());
|
|
|
|
- tOrderAbroadService.updateById(orderAbroad);
|
|
|
|
|
|
+ coinOrder.setRefundDate(new Date());
|
|
|
|
+ tCoinOrderService.updateById(coinOrder);
|
|
|
|
|
|
|
|
|
|
// 发起退款
|
|
// 发起退款
|
|
@@ -295,8 +302,8 @@ public class AirwallexPayController {
|
|
// if (!status.equals("FAILED")) {
|
|
// if (!status.equals("FAILED")) {
|
|
if (status.equals("RECEIVED") || status.equals("ACCEPTED") || status.equals("SUCCEEDED")) {
|
|
if (status.equals("RECEIVED") || status.equals("ACCEPTED") || status.equals("SUCCEEDED")) {
|
|
String refundId = jsonObject.getString("id");
|
|
String refundId = jsonObject.getString("id");
|
|
- orderAbroad.setRefundId(refundId);
|
|
|
|
- tOrderAbroadService.updateById(orderAbroad);
|
|
|
|
|
|
+ coinOrder.setRefundId(refundId);
|
|
|
|
+ tCoinOrderService.updateById(coinOrder);
|
|
return R.ok("退款处理中,请稍候查询");
|
|
return R.ok("退款处理中,请稍候查询");
|
|
}
|
|
}
|
|
return R.fail("退款失败");
|
|
return R.fail("退款失败");
|