|
|
@@ -1,8 +1,11 @@
|
|
|
package com.travel.controller;
|
|
|
|
|
|
+import com.alipay.api.CertAlipayRequest;
|
|
|
import com.alipay.api.internal.util.AlipaySignature;
|
|
|
+import com.alipay.api.request.AlipayTradePagePayRequest;
|
|
|
import com.alipay.api.request.AlipayTradeWapPayRequest;
|
|
|
import com.travel.model.BuyOfferNum;
|
|
|
+import com.travel.model.Supplier;
|
|
|
import com.travel.model.SupplierRelease;
|
|
|
import com.travel.model.ZFBPay;
|
|
|
import com.travel.service.ZFBPayService;
|
|
|
@@ -44,8 +47,20 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
@RequestMapping("/toPay")
|
|
|
@ResponseBody
|
|
|
public String toPay(String price, String attach) throws Exception {
|
|
|
+ //获得初始化的alipayConfig参数 //证书模式
|
|
|
+ CertAlipayRequest alipayConfig = new CertAlipayRequest();
|
|
|
+ alipayConfig.setPrivateKey(MERCHANTPRIVATEKEY);//应用秘钥
|
|
|
+ alipayConfig.setServerUrl(GATEWAYURL);
|
|
|
+ alipayConfig.setAppId(APPID);
|
|
|
+ alipayConfig.setCharset(CHARSET);
|
|
|
+ alipayConfig.setSignType(SIGNTYPE);
|
|
|
+ alipayConfig.setEncryptor("");
|
|
|
+ alipayConfig.setFormat("json");
|
|
|
+ alipayConfig.setCertPath(this.getClass().getClassLoader().getResource("csr/appCertPublicKey_2021003146630260.crt").getPath());
|
|
|
+ alipayConfig.setAlipayPublicCertPath(this.getClass().getClassLoader().getResource("csr/alipayCertPublicKey_RSA2.crt").getPath());
|
|
|
+ alipayConfig.setRootCertPath(this.getClass().getClassLoader().getResource("csr/alipayRootCert.crt").getPath());
|
|
|
//获得初始化的AlipayClient
|
|
|
- AlipayClient alipayClient = new DefaultAlipayClient(GATEWAYURL, APPID, MERCHANTPRIVATEKEY, "json", CHARSET, ALIPAYPUBLICKEY, SIGNTYPE);
|
|
|
+ AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
|
|
|
//设置请求参数
|
|
|
String out_trade_no = getOrderNo();//订单号
|
|
|
String timeout = "30m";
|
|
|
@@ -54,9 +69,9 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
+ "\"subject\":\"途丫-"+ out_trade_no +"\","
|
|
|
+ "\"timeout_express\":\""+ timeout +"\","
|
|
|
+ "\"body\":\""+ attach +"\","
|
|
|
- + "\"qr_pay_mode\":\"4\","
|
|
|
+ + "\"qr_pay_mode\":\"2\","
|
|
|
+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}";
|
|
|
- AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();
|
|
|
+ AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
|
|
|
alipayRequest.setNotifyUrl(NOTIFYURL);
|
|
|
alipayRequest.setBizContent(content);
|
|
|
//请求
|
|
|
@@ -82,8 +97,20 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
Map<String, Object> map1 = zfbPayService.getByNumber();//获取报价单单价
|
|
|
Map<String, Object> map2 = (Map<String, Object>) map1.get("data");
|
|
|
String price = (Integer.parseInt(offerNum) * Double.parseDouble(String.valueOf(map2.get("power_unit")))) + ""; //购买次数 * 报价单单价
|
|
|
+ //获得初始化的alipayConfig参数
|
|
|
+ CertAlipayRequest alipayConfig = new CertAlipayRequest();
|
|
|
+ alipayConfig.setPrivateKey(MERCHANTPRIVATEKEY);//应用秘钥
|
|
|
+ alipayConfig.setServerUrl(GATEWAYURL);
|
|
|
+ alipayConfig.setAppId(APPID);
|
|
|
+ alipayConfig.setCharset(CHARSET);
|
|
|
+ alipayConfig.setSignType(SIGNTYPE);
|
|
|
+ alipayConfig.setEncryptor("");
|
|
|
+ alipayConfig.setFormat("json");
|
|
|
+ alipayConfig.setCertPath(this.getClass().getClassLoader().getResource("csr/appCertPublicKey_2021003146630260.crt").getPath());
|
|
|
+ alipayConfig.setAlipayPublicCertPath(this.getClass().getClassLoader().getResource("csr/alipayCertPublicKey_RSA2.crt").getPath());
|
|
|
+ alipayConfig.setRootCertPath(this.getClass().getClassLoader().getResource("csr/alipayRootCert.crt").getPath());
|
|
|
//获得初始化的AlipayClient
|
|
|
- AlipayClient alipayClient = new DefaultAlipayClient(GATEWAYURL, APPID, MERCHANTPRIVATEKEY, "json", CHARSET, ALIPAYPUBLICKEY, SIGNTYPE);
|
|
|
+ AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
|
|
|
//设置请求参数
|
|
|
String out_trade_no = getOrderNo();//订单号
|
|
|
String uuid = snowflakeUtil.nextId() + "";//不重复编号
|
|
|
@@ -92,11 +119,12 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
+ "\"total_amount\":\""+ price +"\","
|
|
|
+ "\"subject\":\"途丫-"+ out_trade_no +"\","
|
|
|
+ "\"timeout_express\":\""+ timeout +"\","
|
|
|
- + "\"qr_pay_mode\":\"4\","
|
|
|
+ + "\"qr_pay_mode\":\"2\","
|
|
|
+ "\"body\":\""+ "gysOfferNum" + "," + uuid + "," + userMap.get("code") + "," + offerNum +"\","
|
|
|
+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}";
|
|
|
- AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();
|
|
|
+ AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
|
|
|
alipayRequest.setNotifyUrl(NOTIFYURL);
|
|
|
+ alipayRequest.setReturnUrl(RETURNURL);
|
|
|
alipayRequest.setBizContent(content);
|
|
|
//请求
|
|
|
String result = "";
|
|
|
@@ -122,8 +150,20 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
public String zfbpaySupplierBalance(String price, HttpServletRequest request) throws Exception {
|
|
|
//获取token
|
|
|
Map<String, Object> userMap = ParsingToken.tokenParsing(request);
|
|
|
+ //获得初始化的alipayConfig参数
|
|
|
+ CertAlipayRequest alipayConfig = new CertAlipayRequest();
|
|
|
+ alipayConfig.setPrivateKey(MERCHANTPRIVATEKEY);//应用秘钥
|
|
|
+ alipayConfig.setServerUrl(GATEWAYURL);
|
|
|
+ alipayConfig.setAppId(APPID);
|
|
|
+ alipayConfig.setCharset(CHARSET);
|
|
|
+ alipayConfig.setSignType(SIGNTYPE);
|
|
|
+ alipayConfig.setEncryptor("");
|
|
|
+ alipayConfig.setFormat("json");
|
|
|
+ alipayConfig.setCertPath(this.getClass().getClassLoader().getResource("csr/appCertPublicKey_2021003146630260.crt").getPath());
|
|
|
+ alipayConfig.setAlipayPublicCertPath(this.getClass().getClassLoader().getResource("csr/alipayCertPublicKey_RSA2.crt").getPath());
|
|
|
+ alipayConfig.setRootCertPath(this.getClass().getClassLoader().getResource("csr/alipayRootCert.crt").getPath());
|
|
|
//获得初始化的AlipayClient
|
|
|
- AlipayClient alipayClient = new DefaultAlipayClient(GATEWAYURL, APPID, MERCHANTPRIVATEKEY, "json", CHARSET, ALIPAYPUBLICKEY, SIGNTYPE);
|
|
|
+ AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
|
|
|
//设置请求参数
|
|
|
String out_trade_no = getOrderNo();//订单号
|
|
|
String uuid = snowflakeUtil.nextId() + "";//不重复编号
|
|
|
@@ -132,10 +172,12 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
+ "\"total_amount\":\""+ price +"\","
|
|
|
+ "\"subject\":\"途丫-"+ out_trade_no +"\","
|
|
|
+ "\"timeout_express\":\""+ timeout +"\","
|
|
|
+ + "\"qr_pay_mode\":\"2\","
|
|
|
+ "\"body\":\""+ "gysTopUp" + "," + uuid + "," + userMap.get("code") +"\","
|
|
|
+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}";
|
|
|
- AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();
|
|
|
+ AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
|
|
|
alipayRequest.setNotifyUrl(NOTIFYURL);
|
|
|
+ alipayRequest.setReturnUrl(RETURNURL);
|
|
|
alipayRequest.setBizContent(content);
|
|
|
//请求
|
|
|
String result = "";
|
|
|
@@ -209,7 +251,6 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
.setPayType("支付宝支付");
|
|
|
zfbPayService.updateBuySupplier(buySupplier); //充值
|
|
|
} else if((params.get("body")).indexOf("gysOfferNum") != -1){ //报价单次数购买
|
|
|
- System.out.println("ces");
|
|
|
BuyOfferNum buyOfferNum = new BuyOfferNum()
|
|
|
.setCode((params.get("body")).split(",")[2])
|
|
|
.setUuid((params.get("body")).split(",")[1])
|
|
|
@@ -230,8 +271,14 @@ public class ZfbPayController extends ZfbPayUtils {
|
|
|
.setCode(supplierRelease1.getCode())
|
|
|
.setDemandUuid(supplierRelease1.getDemandUuid());
|
|
|
if(supplierRelease1.getCode().equals(list.get(0).getCode())){
|
|
|
+ //修改状态为已付费
|
|
|
supplierRelease2.setOrderType("2");
|
|
|
zfbPayService.updatePrivateType(supplierRelease2);
|
|
|
+ //用户购买报价单后将50%的资金转入供应商余额
|
|
|
+ Supplier supplier = new Supplier()
|
|
|
+ .setCode(list.get(0).getCode())
|
|
|
+ .setBalanceOf(String.valueOf(Double.parseDouble(wxPay.getTotalFee()) * 0.5));
|
|
|
+ zfbPayService.addSupplierBalanceOf(supplier);
|
|
|
} else {
|
|
|
supplierRelease2.setOrderType("9");
|
|
|
zfbPayService.updatePrivateType(supplierRelease2);//修改状态
|