|
|
@@ -10,6 +10,7 @@ import com.alipay.api.domain.AlipayTradeWapPayModel;
|
|
|
import com.alipay.api.request.AlipayTradePagePayRequest;
|
|
|
import com.alipay.api.request.AlipayTradeWapPayRequest;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.EnvCommonService;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.util.Codec;
|
|
|
@@ -22,12 +23,10 @@ import com.cyksj.mapper.GoodsDonMapper;
|
|
|
import com.cyksj.mapper.OrderDonMapper;
|
|
|
import com.cyksj.mapper.RegisterOrderDonMapper;
|
|
|
import com.cyksj.mapper.channel.ShopConfigMapper;
|
|
|
+import com.cyksj.mapper.order.OrderDonPostMapper;
|
|
|
import com.cyksj.model.dto.AliPayParams;
|
|
|
import com.cyksj.model.dto.OrderPayBuilderDto;
|
|
|
-import com.cyksj.model.entity.GoodsDon;
|
|
|
-import com.cyksj.model.entity.OrderDon;
|
|
|
-import com.cyksj.model.entity.RegisterOrderDon;
|
|
|
-import com.cyksj.model.entity.ShopConfig;
|
|
|
+import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.request.OrderAttach;
|
|
|
import com.cyksj.service.pay.AliPayCommonService;
|
|
|
import com.cyksj.service.sys.SysConfigService;
|
|
|
@@ -62,6 +61,8 @@ public class AliPayCommonServiceImpl implements AliPayCommonService {
|
|
|
|
|
|
private final SysConfigService sysConfigService;
|
|
|
|
|
|
+ private final OrderDonPostMapper orderDonPostMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public AliPayParams unifiedPayRegister(Long orderId, String productCode, String payMode, String returnUrl) throws Exception {
|
|
|
RegisterOrderDon orderDon = registerOrderDonMapper.selectById(orderId);
|
|
|
@@ -122,10 +123,22 @@ public class AliPayCommonServiceImpl implements AliPayCommonService {
|
|
|
//回调地址
|
|
|
String host = envCommonService.getHost();
|
|
|
String notifyUrl = String.format("%s%s", host, BaseZfbConfig.notifyUrl);
|
|
|
- //手机h5 pc网站跳转
|
|
|
- if (ZfbProductCode.MOBILE_WEB.getProductCode().equals(productCode) && BaseZfbConfig.qrPayMode_redirect.equals(payMode)) {
|
|
|
- //页面 拼接订单号,前端从url获取订单id.
|
|
|
- returnUrl = String.format("%s%s", envCommonService.getDomain(), BaseZfbConfig.SUCCESS_URL) + orderDon.getId();
|
|
|
+ //手机h5 跳转
|
|
|
+ OrderDonPost orderDonPost = orderDonPostMapper.selectOne(Wrappers.lambdaQuery(OrderDonPost.class)
|
|
|
+ .eq(OrderDonPost::getOrderId, orderId).last("limit 1"));
|
|
|
+ //百度回传 跳转
|
|
|
+ Boolean is_bdPost = false;
|
|
|
+ if (orderDonPost != null && OrderDonPost.Type.BaiDu == orderDonPost.getType()) {
|
|
|
+ is_bdPost = true;
|
|
|
+ }
|
|
|
+ if (ZfbProductCode.MOBILE_WEB.getProductCode().equals(productCode)) {
|
|
|
+ if (is_bdPost) {
|
|
|
+ //页面 拼接订单号,前端从url获取订单id.
|
|
|
+ returnUrl = String.format("%s%s", envCommonService.getDomain(), BaseZfbConfig.SUCCESS_URL) + orderDon.getId();
|
|
|
+ } else {
|
|
|
+ //默认跳转页
|
|
|
+ returnUrl = String.format("%s%s", envCommonService.getDomain(), BaseZfbConfig.DEFAULT_URL);
|
|
|
+ }
|
|
|
}
|
|
|
AliPayParams aliPayParams = builderPayParams(orderDon.getId(),
|
|
|
orderDon.getOrderNo(),
|