From ae9bfd2d66f68a553786ac78b12f4390e65e4e09 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 24 十一月 2023 18:30:18 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java | 86 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 75 insertions(+), 11 deletions(-) diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java index ccf2f0f..41d4341 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java +++ b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java @@ -7,8 +7,12 @@ import com.alipay.api.CertAlipayRequest; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.domain.AlipayTradeAppPayModel; +import com.alipay.api.domain.ExtendParams; +import com.alipay.api.domain.RoyaltyDetailInfos; +import com.alipay.api.domain.RoyaltyInfo; import com.alipay.api.request.*; import com.alipay.api.response.*; +import lombok.Synchronized; import org.apache.commons.collections.map.HashedMap; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.dom4j.Document; @@ -19,6 +23,7 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; @@ -56,7 +61,7 @@ private String key = "";//微信商户号 - private String callbackPath = "";//支付回调网关地址 + private String callbackPath = "http://8.137.22.229:56666/other";//支付回调网关地址 private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径 @@ -68,9 +73,11 @@ + /** * 支付宝支付 */ + public ResultUtil alipay(String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl){ // //构造client // CertAlipayRequest certAlipayRequest = new CertAlipayRequest (); @@ -139,12 +146,58 @@ model.setPassbackParams(passbackParams);//自定义参数 request.setBizModel(model); request.setNotifyUrl(callbackPath + notifyUrl); + + + + + //分账 +// Integer coursePackagePayments = coursePackageClient.queryByCode(outTradeNo); +// Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo); +// Integer siteBookings = siteClient.queryByCode(outTradeNo); +// List<Integer> stores = new ArrayList<>(); +// stores.add(coursePackagePayments); +// stores.add(paymentCompetitions); +// stores.add(siteBookings); + +// OperatorUser operatorUser = siteClient.queryOperator(stores); +// +// String alipayProportion = operatorUser.getAlipayProportion(); +// String alipayNum = operatorUser.getAlipayNum(); + +// extendParams.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID"); + +// ExtendParams extendParams = new ExtendParams(); +// model.setExtendParams(extendParams); +// RoyaltyInfo royaltyInfo = new RoyaltyInfo(); +// royaltyInfo.setRoyaltyType("transfer"); + + +// RoyaltyDetailInfos royaltyDetailInfo1 = new RoyaltyDetailInfos(); +// royaltyDetailInfo1.setTransOutType("userId"); +// royaltyDetailInfo1.setTransOut(aliAppid); +// royaltyDetailInfo1.setTransInType("loginName"); +// royaltyDetailInfo1.setTransIn("18398968484"); +// +// royaltyDetailInfo1.setDesc("分账描述1"); +// royaltyDetailInfo1.setAmountPercentage("10"); +// List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>(); +// +// +// +// +// royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos); +// model.setRoyaltyInfo(royaltyInfo); +// System.err.println("========royaltyInfo=========="+royaltyInfo); + + + try { //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); Map<String, String> map = new HashMap<>(); map.put("orderString", response.getBody()); - System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。 + System.err.println("========map=========="+map);//就是orderString 可以直接给客户端请求,无需再做处理。 + map.put("siteBooking",passbackParams); return ResultUtil.success(map); } catch (AlipayApiException e) { e.printStackTrace(); @@ -254,18 +307,20 @@ * @return * @throws Exception */ - public ResultUtil queryALIOrder(String out_trade_no) throws Exception{ - AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8", alipay_public_key,"RSA2"); + public AlipayTradeQueryResponse queryALIOrder(String out_trade_no) throws Exception{ + AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2"); AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.setBizContent("{" + - "\"out_trade_no\":" + out_trade_no + - " }"); + " \"out_trade_no\":\"" + out_trade_no + "\"" + + "}"); AlipayTradeQueryResponse response = alipayClient.execute(request); + if(response.isSuccess()){ String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) - return ResultUtil.success(tradeStatus); + return response; } else { - return ResultUtil.error(response.getMsg()); +// return ResultUtil.error(response.getMsg()); + return response; } } @@ -372,6 +427,7 @@ String s1 = this.weixinSignature(map3); map3.put("sign", s1); System.err.println(map3); + map3.put("siteBookingId",attach); return ResultUtil.success(map3); } return null; @@ -1107,10 +1163,18 @@ } - public static void main(String[] ages){ +// public static void main(String[] ages){ // PayMoneyUtil payMoneyUtil = new PayMoneyUtil(); -// payMoneyUtil.weixinpay("测试", "123", "12.5", ""); - } +// ResultUtil ce = payMoneyUtil.alipay("测试", "测试", "", "121456457", "10", "http://123.com"); +// System.err.println(ce); +// ResultUtil resultUtil = null; +// try { +// resultUtil = payMoneyUtil.queryALIOrder("121456457"); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// System.err.println(resultUtil); +// } /** -- Gitblit v1.7.1