123
This commit is contained in:
@@ -4,6 +4,7 @@ package com.ruoyi.web.controller.cai.admin.init;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.dtflys.forest.annotation.JSONBody;
|
||||
import com.ruoyi.cai.pay.PayOrderInfoDTO;
|
||||
import com.ruoyi.cai.pay.PayReturnResp;
|
||||
import com.ruoyi.cai.service.CitysService;
|
||||
import com.ruoyi.cai.service.PayTrdConfigService;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
@@ -37,8 +38,8 @@ public class CityController {
|
||||
|
||||
|
||||
@PostMapping("/createOrder")
|
||||
public R<String> createOrder(@RequestBody PayOrderInfoDTO dto){
|
||||
String orderAli = payTrdConfigService.createOrderAli(dto);
|
||||
public R<Object> createOrder(@RequestBody PayOrderInfoDTO dto){
|
||||
PayReturnResp orderAli = payTrdConfigService.createOrderAli(dto);
|
||||
return R.ok(orderAli);
|
||||
}
|
||||
|
||||
|
||||
@@ -76,22 +76,44 @@ public class PayController {
|
||||
return R.ok(orderPayStatusResp);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/trdAli")
|
||||
@Operation(summary = "第三方支付宝支付")
|
||||
@Log(title = "第三方支付宝支付", businessType = BusinessType.OTHER, isSaveDb = true)
|
||||
@PostMapping(value = "/merge/ali")
|
||||
@Operation(summary = "支付宝聚合支付")
|
||||
@Log(title = "支付宝聚合支付", businessType = BusinessType.OTHER, isSaveDb = true)
|
||||
public R<PayReturnResp> trdWxPay(@RequestBody PayControllerDTO dto){
|
||||
PayOrderInfoDTO payOrderInfo = payManager.getOrderInfo(dto.getOrderNo());
|
||||
if(payOrderInfo == null){
|
||||
return R.fail(600,"支付失败,未找到订单");
|
||||
}
|
||||
try {
|
||||
String ali = payTrdConfigService.createOrderAli(payOrderInfo);
|
||||
PayReturnResp payTrdReturnResp = new PayReturnResp();
|
||||
payTrdReturnResp.setData(ali);
|
||||
return R.ok(payTrdReturnResp);
|
||||
}catch (Exception e){
|
||||
log.error("第三方微信支付失败!",e);
|
||||
return R.fail(600,"支付失败!微信支付通道失败!");
|
||||
Long userId = LoginHelper.getUserId();
|
||||
boolean userTrdPay = trdPayManager.useTrdPay(userId);
|
||||
if(userTrdPay){
|
||||
try {
|
||||
PayReturnResp orderAli = payTrdConfigService.createOrderAli(payOrderInfo);
|
||||
return R.ok(orderAli);
|
||||
}catch (Exception e){
|
||||
log.error("第三方支付宝支付失败!",e);
|
||||
return R.fail(600,"第三方支付宝支付失败!");
|
||||
}
|
||||
}else{
|
||||
try {
|
||||
boolean b = payConfigManager.initAliPay();
|
||||
if(!b){
|
||||
log.error("支付失败,未找到可用的支付宝配置");
|
||||
return R.fail(600,"支付失败!未开通支付宝支付!");
|
||||
}
|
||||
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
|
||||
model.setBody(payOrderInfo.getBody());
|
||||
model.setSubject(payOrderInfo.getSubject());
|
||||
model.setOutTradeNo(payOrderInfo.getOrderNo());
|
||||
model.setTimeoutExpress("30m");
|
||||
model.setTotalAmount(payOrderInfo.getPrice().toString());
|
||||
String notifyUrl = AliPayApiConfigKit.getAliPayApiConfig().getDomain();
|
||||
String orderInfo = AliPayApi.appPayToResponse(model, notifyUrl+NOTIFY_ALI_URL).getBody();
|
||||
return R.ok(PayReturnResp.createApp(orderInfo));
|
||||
} catch (AlipayApiException e) {
|
||||
log.error("支付宝支付失败",e);
|
||||
return R.fail("支付宝支付失败,请联系客服");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,7 +274,7 @@ public class PayController {
|
||||
public String trdNotifyUrlV1(HttpServletRequest request) {
|
||||
try {
|
||||
Map<String, String> params = AliPayApi.toMap(request);
|
||||
log.info("第三方支付回调:{}",JSON.toJSONString(params));
|
||||
log.info("第三方支付回调V1:{}",JSON.toJSONString(params));
|
||||
String mchOrderNo = params.get("mchOrderNo");
|
||||
String payOrderId = params.get("payOrderId");
|
||||
String productId = params.get("productId");
|
||||
@@ -272,7 +294,7 @@ public class PayController {
|
||||
public String trdNotifyUrlV2(HttpServletRequest request) {
|
||||
try {
|
||||
Map<String, String> params = AliPayApi.toMap(request);
|
||||
log.info("第三方支付回调:{}",JSON.toJSONString(params));
|
||||
log.info("第三方支付回调V2:{}",JSON.toJSONString(params));
|
||||
String mchOrderNo = params.get("mchOrderNo");
|
||||
String payOrderId = params.get("payOrderId");
|
||||
String productId = params.get("productId");
|
||||
|
||||
@@ -55,12 +55,16 @@ public class SettingAppController {
|
||||
@Operation(summary = "充值配置")
|
||||
@Log(title = "充值配置", businessType = BusinessType.OTHER,isPrintResponseData = false, isSaveDb = false)
|
||||
public R<SettingGoodsVo> goods(){
|
||||
SettingGoodsVo vo = new SettingGoodsVo();
|
||||
vo.setHasAlipayPay(systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.OPEN_ALI_PAY));
|
||||
vo.setHasWechatPay(systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.OPEN_WX_PAY));
|
||||
vo.setAlipayFirst(systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.ALI_PAY_FIRST));
|
||||
boolean useTrdPay = trdPayManager.useTrdPay(LoginHelper.getUserId());
|
||||
vo.setUseTrdPay(useTrdPay?1:0);
|
||||
SettingGoodsVo vo = new SettingGoodsVo();
|
||||
if(useTrdPay){ // 使用第三方支付
|
||||
vo.setHasAlipayPay(systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.OPEN_ALI_PAY));
|
||||
vo.setHasWechatPay(0);
|
||||
}else{
|
||||
vo.setHasAlipayPay(systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.OPEN_ALI_PAY));
|
||||
vo.setHasWechatPay(systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.OPEN_WX_PAY));
|
||||
}
|
||||
vo.setAlipayFirst(systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.ALI_PAY_FIRST));
|
||||
List<Goods> list = goodsService.list(Wrappers.lambdaQuery(Goods.class)
|
||||
.eq(Goods::getStatus,0)
|
||||
.orderByAsc(Goods::getPrice));
|
||||
|
||||
Reference in New Issue
Block a user