123
This commit is contained in:
@@ -14,11 +14,13 @@ import com.ijpay.core.kit.HttpKit;
|
||||
import com.ijpay.core.kit.WxPayKit;
|
||||
import com.ijpay.wxpay.WxPayApi;
|
||||
import com.ijpay.wxpay.model.UnifiedOrderModel;
|
||||
import com.ruoyi.cai.domain.OrderLogs;
|
||||
import com.ruoyi.cai.domain.PayConfig;
|
||||
import com.ruoyi.cai.dto.app.vo.pay.OrderPayStatusResp;
|
||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||
import com.ruoyi.cai.pay.*;
|
||||
import com.ruoyi.cai.service.OrderLogsService;
|
||||
import com.ruoyi.cai.service.PayTrdConfigService;
|
||||
import com.ruoyi.cai.trdpay.TrdPayManager;
|
||||
import com.ruoyi.cai.trdpay.TrdPayProperties;
|
||||
@@ -27,6 +29,7 @@ import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.ServletUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -57,6 +60,8 @@ public class PayController {
|
||||
private static final String NOTIFY_ALI_URL = "/api/pay/ali/notify";
|
||||
@Autowired
|
||||
private SystemConfigManager systemConfigManager;
|
||||
@Autowired
|
||||
private OrderLogsService orderLogsService;
|
||||
|
||||
|
||||
// @GetMapping(value = "/checkPay")
|
||||
@@ -92,12 +97,15 @@ public class PayController {
|
||||
try {
|
||||
boolean openAliPay = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.OPEN_ALI_PAY);
|
||||
if(!openAliPay){
|
||||
orderLogsService.createBaseFail(dto.getOrderNo(),"四方支付宝支付","第四方支付宝未开启");
|
||||
return R.fail(600,"支付宝支付失败!未开启支付宝通道!");
|
||||
}
|
||||
log.info("支付宝聚合支付 使用第三方支付 dto={}",JSON.toJSONString(dto));
|
||||
PayReturnResp orderAli = payTrdConfigService.createOrderAli(payOrderInfo);
|
||||
orderLogsService.createBaseSuccess(dto.getOrderNo(),"四方支付宝支付");
|
||||
return R.ok(orderAli);
|
||||
}catch (Exception e){
|
||||
orderLogsService.createBaseFail(dto.getOrderNo(),"四方支付宝支付",StringUtils.cat(e.getMessage(),2000));
|
||||
log.error("支付宝聚合支付 使用第三方支付失败! dto={}",JSON.toJSONString(dto), e);
|
||||
return R.fail(600,"支付宝支付失败!");
|
||||
}
|
||||
@@ -105,12 +113,14 @@ public class PayController {
|
||||
try {
|
||||
boolean openSourceAliPay = systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.OPEN_SOURCE_ALI_PAY);
|
||||
if(!openSourceAliPay){
|
||||
orderLogsService.createBaseFail(dto.getOrderNo(),"支付宝支付","支付宝支付失败!未开启原生支付宝通道!");
|
||||
return R.fail(600,"支付宝支付失败!未开启原生支付宝通道!");
|
||||
}
|
||||
log.info("支付宝聚合支付 使用原生支付 dto={}",JSON.toJSONString(dto));
|
||||
boolean b = payConfigManager.initAliPay();
|
||||
if(!b){
|
||||
log.error("支付失败,未找到可用的支付宝配置");
|
||||
orderLogsService.createBaseFail(dto.getOrderNo(),"支付宝支付","支付失败,未找到可用的支付宝配置");
|
||||
return R.fail(600,"支付失败!未开通支付宝支付!");
|
||||
}
|
||||
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
|
||||
@@ -121,9 +131,11 @@ public class PayController {
|
||||
model.setTotalAmount(payOrderInfo.getPrice().toString());
|
||||
String notifyUrl = AliPayApiConfigKit.getAliPayApiConfig().getDomain();
|
||||
String orderInfo = AliPayApi.appPayToResponse(model, notifyUrl+NOTIFY_ALI_URL).getBody();
|
||||
orderLogsService.createBaseSuccess(dto.getOrderNo(),"支付宝支付");
|
||||
return R.ok(PayReturnResp.createApp(orderInfo));
|
||||
} catch (AlipayApiException e) {
|
||||
log.error("支付宝聚合支付 使用原生支付失败! dto={}",JSON.toJSONString(dto),e);
|
||||
orderLogsService.createBaseFail(dto.getOrderNo(),"支付宝支付",StringUtils.cat(e.getMessage(),2000));
|
||||
return R.fail("支付宝支付失败,请联系客服");
|
||||
}
|
||||
}
|
||||
@@ -172,11 +184,13 @@ public class PayController {
|
||||
String returnMsg = result.get("return_msg");
|
||||
if (!WxPayKit.codeIsOk(returnCode)) {
|
||||
log.error("微信支付失败 returnMsg={}",returnMsg);
|
||||
orderLogsService.createBaseFail(dto.getOrderNo(),"微信支付",StringUtils.cat(returnMsg,2000));
|
||||
return R.fail("微信支付失败,请联系客服");
|
||||
}
|
||||
String resultCode = result.get("result_code");
|
||||
if (!WxPayKit.codeIsOk(resultCode)) {
|
||||
log.error("微信支付失败 returnMsg={}",returnMsg);
|
||||
orderLogsService.createBaseFail(dto.getOrderNo(),"微信支付",StringUtils.cat(returnMsg,2000));
|
||||
return R.fail("微信支付失败,请联系客服");
|
||||
}
|
||||
// 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
|
||||
@@ -187,6 +201,7 @@ public class PayController {
|
||||
log.info("返回apk的参数:" + jsonStr);
|
||||
PayReturnResp resp = new PayReturnResp();
|
||||
resp.setData(jsonStr);
|
||||
orderLogsService.createBaseSuccess(dto.getOrderNo(),"微信支付");
|
||||
return R.ok(resp);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user