|
@@ -1,18 +1,18 @@
|
|
package com.zanxiang.sdk.service.pay;
|
|
package com.zanxiang.sdk.service.pay;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
import com.zanxiang.common.constant.Constants;
|
|
import com.zanxiang.common.constant.Constants;
|
|
import com.zanxiang.common.domain.ResultMap;
|
|
import com.zanxiang.common.domain.ResultMap;
|
|
|
|
+import com.zanxiang.common.enums.DeleteEnum;
|
|
import com.zanxiang.common.enums.HttpStatusEnum;
|
|
import com.zanxiang.common.enums.HttpStatusEnum;
|
|
import com.zanxiang.common.exception.BaseException;
|
|
import com.zanxiang.common.exception.BaseException;
|
|
import com.zanxiang.common.utils.URIUtil;
|
|
import com.zanxiang.common.utils.URIUtil;
|
|
import com.zanxiang.module.util.JsonUtil;
|
|
import com.zanxiang.module.util.JsonUtil;
|
|
-import com.zanxiang.mybatis.entity.Order;
|
|
|
|
|
|
+import com.zanxiang.mybatis.entity.OrderPayParam;
|
|
import com.zanxiang.sdk.constant.WxPayConstants;
|
|
import com.zanxiang.sdk.constant.WxPayConstants;
|
|
import com.zanxiang.sdk.domain.bo.ProductPayAttachParamBO;
|
|
import com.zanxiang.sdk.domain.bo.ProductPayAttachParamBO;
|
|
import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
|
|
import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
|
|
import com.zanxiang.sdk.domain.bo.WxPayConfigBO;
|
|
import com.zanxiang.sdk.domain.bo.WxPayConfigBO;
|
|
-import com.zanxiang.sdk.service.OrderService;
|
|
|
|
|
|
+import com.zanxiang.sdk.service.OrderPayParamService;
|
|
import com.zanxiang.sdk.util.HttpUtil;
|
|
import com.zanxiang.sdk.util.HttpUtil;
|
|
import com.zanxiang.sdk.util.WxPayUtil;
|
|
import com.zanxiang.sdk.util.WxPayUtil;
|
|
import com.zanxiang.sdk.util.XmlUtil;
|
|
import com.zanxiang.sdk.util.XmlUtil;
|
|
@@ -29,7 +29,9 @@ import javax.servlet.http.HttpServletResponse;
|
|
import java.io.BufferedOutputStream;
|
|
import java.io.BufferedOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
+import java.time.LocalDateTime;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
@@ -78,7 +80,7 @@ public class WxPayService extends PayBaseService {
|
|
private RestTemplate restTemplate;
|
|
private RestTemplate restTemplate;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private OrderService orderService;
|
|
|
|
|
|
+ private OrderPayParamService orderPayParamService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public ResultMap create(ProductPayParamBO product) {
|
|
public ResultMap create(ProductPayParamBO product) {
|
|
@@ -94,6 +96,7 @@ public class WxPayService extends PayBaseService {
|
|
//H5
|
|
//H5
|
|
return this.h5Pay(product);
|
|
return this.h5Pay(product);
|
|
case 4:
|
|
case 4:
|
|
|
|
+ case 6:
|
|
//小程序
|
|
//小程序
|
|
return this.miniAppPay(product);
|
|
return this.miniAppPay(product);
|
|
default:
|
|
default:
|
|
@@ -181,9 +184,6 @@ public class WxPayService extends PayBaseService {
|
|
log.error("微信h5支付urlCode转deepLink异常, urlCode:{}", urlCode);
|
|
log.error("微信h5支付urlCode转deepLink异常, urlCode:{}", urlCode);
|
|
throw new BaseException("微信h5支付urlCode转deepLink异常");
|
|
throw new BaseException("微信h5支付urlCode转deepLink异常");
|
|
}
|
|
}
|
|
- orderService.update(new LambdaUpdateWrapper<Order>()
|
|
|
|
- .set(Order::getPayParam, deepLink)
|
|
|
|
- .eq(Order::getOrderId, product.getOutTradeNo()));
|
|
|
|
//返回结果
|
|
//返回结果
|
|
return ResultMap.ok(product.getPayDevice(), deepLink, product.getOutTradeNo());
|
|
return ResultMap.ok(product.getPayDevice(), deepLink, product.getOutTradeNo());
|
|
}
|
|
}
|
|
@@ -228,6 +228,19 @@ public class WxPayService extends PayBaseService {
|
|
miniMap.put("timeStamp", createTime);
|
|
miniMap.put("timeStamp", createTime);
|
|
miniMap.put("nonceStr", nonceStr);
|
|
miniMap.put("nonceStr", nonceStr);
|
|
miniMap.put("package", successMap);
|
|
miniMap.put("package", successMap);
|
|
|
|
+
|
|
|
|
+ //保存订单支付参数
|
|
|
|
+ orderPayParamService.save(OrderPayParam.builder()
|
|
|
|
+ .orderId(product.getOutTradeNo())
|
|
|
|
+ .amount(new BigDecimal(product.getTotalFee()))
|
|
|
|
+ .appId(config.getAppId())
|
|
|
|
+ .payParam(JsonUtil.toString(miniMap))
|
|
|
|
+ .isDelete(DeleteEnum.NO.getCode())
|
|
|
|
+ .createTime(LocalDateTime.now())
|
|
|
|
+ .updateTime(LocalDateTime.now())
|
|
|
|
+ .build());
|
|
|
|
+
|
|
|
|
+ //返回
|
|
return ResultMap.ok(miniMap);
|
|
return ResultMap.ok(miniMap);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
log.error("微信小程序支付通信异常, 订单号:{}, e : {}", product.getOutTradeNo(), e.getMessage());
|
|
log.error("微信小程序支付通信异常, 订单号:{}, e : {}", product.getOutTradeNo(), e.getMessage());
|