| DriverJYXTravel/.idea/.gitignore | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| DriverJYXTravel/.idea/compiler.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| DriverJYXTravel/.idea/encodings.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| DriverJYXTravel/.idea/jarRepositories.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| DriverJYXTravel/.idea/misc.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DouGongPayUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-admin/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UserJYXTravel/guns-core/src/main/java/com/stylefeng/guns/core/util/ToolUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
DriverJYXTravel/.idea/.gitignore
New file @@ -0,0 +1,8 @@ # Default ignored files /shelf/ /workspace.xml # Editor-based HTTP Client requests /httpRequests/ # Datasource local storage ignored files /dataSources/ /dataSources.local.xml DriverJYXTravel/.idea/compiler.xml
New file @@ -0,0 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="CompilerConfiguration"> <annotationProcessing> <profile name="Maven default annotation processors profile" enabled="true"> <sourceOutputDir name="target/generated-sources/annotations" /> <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> <outputRelativeToContentRoot value="true" /> <module name="guns-core" /> <module name="guns-rest" /> <module name="guns-generator" /> </profile> </annotationProcessing> </component> <component name="JavacSettings"> <option name="ADDITIONAL_OPTIONS_OVERRIDE"> <module name="guns-admin" options="-parameters" /> <module name="guns-core" options="-parameters" /> <module name="guns-generator" options="-parameters" /> <module name="guns-rest" options="-parameters" /> </option> </component> </project> DriverJYXTravel/.idea/encodings.xml
New file @@ -0,0 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="Encoding"> <file url="file://$PROJECT_DIR$/guns-core/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/guns-generator/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/guns-rest/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> </component> </project> DriverJYXTravel/.idea/jarRepositories.xml
New file @@ -0,0 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="RemoteRepositoriesConfiguration"> <remote-repository> <option name="id" value="central" /> <option name="name" value="Central Repository" /> <option name="url" value="https://repo.maven.apache.org/maven2" /> </remote-repository> <remote-repository> <option name="id" value="central" /> <option name="name" value="Maven Central repository" /> <option name="url" value="https://repo1.maven.org/maven2" /> </remote-repository> <remote-repository> <option name="id" value="jboss.community" /> <option name="name" value="JBoss Community repository" /> <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> </remote-repository> </component> </project> DriverJYXTravel/.idea/misc.xml
New file @@ -0,0 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="MavenProjectsManager"> <option name="originalFiles"> <list> <option value="$PROJECT_DIR$/pom.xml" /> </list> </option> </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK" /> </project> UserJYXTravel/guns-admin/pom.xml
@@ -16,6 +16,8 @@ <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> @@ -209,10 +211,11 @@ <scope>system</scope> <systemPath>${pom.basedir}/lib/upyzt-sdk-1.3.6.jar</systemPath> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.3</version> <version>4.6.7</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> @@ -232,12 +235,16 @@ <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> </dependency>--> <!--斗拱sdk--> <dependency> <groupId>com.huifu.bspay.sdk</groupId> <artifactId>dg-java-sdk</artifactId> <version>3.0.31</version> </dependency> </dependencies> UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.huifu.bspay.sdk.opps.core.utils.RsaUtils; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.CharteredCar.server.IOrderCharteredCarService; import com.stylefeng.guns.modular.account.model.TEnterpriseWithdrawal; @@ -46,8 +47,13 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.InputStreamReader; import java.io.PrintWriter; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.security.KeyFactory; import java.security.PublicKey; import java.security.spec.X509EncodedKeySpec; import java.text.SimpleDateFormat; import java.util.*; @@ -1481,7 +1487,58 @@ /** * 斗拱回调 取消订单 * @param request */ @ResponseBody @PostMapping("/base/DGCancelOrderTaxi") public void DGCancelOrderTaxi(HttpServletRequest request, HttpServletResponse response){ try { String sign =request.getParameter("sign"); String resp_data = request.getParameter("resp_data"); System.out.println(sign); System.out.println(resp_data); resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")"); boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign); if(verify){ JSONObject jsonObject = JSONObject.parseObject(resp_data); String order_id = jsonObject.get("out_trans_id").toString(); String out_trade_no = jsonObject.get("req_seq_id").toString(); String trans_stat = jsonObject.get("trans_stat").toString(); if("S".equals(trans_stat)){ String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); switch (type){ case 1: orderPrivateCarService.payCancelOrderPrivateCar(id, order_id, 1); break; case 2: orderTaxiService.payCancelOrderTaxi(id, order_id, 1); break; case 3: orderCrossCityService.payCancelOrderCrossCity(id, order_id, 1); break; } PrintWriter out = response.getWriter(); out.print("success"); out.flush(); out.close(); } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } }catch (Exception e){ e.printStackTrace(); } } @@ -1567,6 +1624,90 @@ } } /** * 斗拱回调 支付 * @param request */ @ResponseBody @PostMapping("/base/DGCallBack") public void DGCallBack(HttpServletRequest request, HttpServletResponse response){ try { String sign =request.getParameter("sign"); String resp_data = request.getParameter("resp_data"); System.out.println(sign); System.out.println(resp_data); resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")"); boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign); if(verify){ JSONObject jsonObject = JSONObject.parseObject(resp_data); String o = jsonObject.get("req_seq_id").toString(); String order_id = jsonObject.get("out_trans_id").toString(); String out_trade_no = jsonObject.get("req_seq_id").toString(); String trans_stat = jsonObject.get("trans_stat").toString(); if("S".equals(trans_stat)){ String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); switch (type){ case 1: orderPrivateCarService.payOrderPrivateCarCallback(id, order_id, 1); break; case 2: orderTaxiService.payOrderTaxiCallback(id, order_id, 1,0); break; case 3: orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1,null); break; case 4: orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1); break; case 5: orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1); break; } PrintWriter out = response.getWriter(); out.print("success"); out.flush(); out.close(); } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } }catch (Exception e){ e.printStackTrace(); } } public final String getBody(HttpServletRequest request) { InputStreamReader in = null; try { in = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8); StringBuffer bf = new StringBuffer(); int len; char[] chs = new char[1024]; while ((len = in.read(chs)) != -1) { bf.append(new String(chs, 0, len)); } return bf.toString(); } catch (Exception e) { e.printStackTrace(); } finally { if (null != in) { try { in.close(); } catch (Exception e) { } } } return null; } /** * 完成订单微信支付回调 @@ -1676,6 +1817,46 @@ /** * 斗拱回调 支付小件物流差价支付回调 * @param request */ @ResponseBody @PostMapping("/base/DGPayOrderLogisticsSpread") public void DGPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){ try { String sign =request.getParameter("sign"); String resp_data = request.getParameter("resp_data"); resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")"); boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign); System.out.println("斗拱回调 支付小件物流差价支付回调:"); if(verify){ JSONObject jsonObject = JSONObject.parseObject(resp_data); String order_id = jsonObject.get("out_trans_id").toString(); String out_trade_no = jsonObject.get("req_seq_id").toString(); String trans_stat = jsonObject.get("trans_stat").toString(); if("S".equals(trans_stat) && ToolUtil.isNotEmpty(out_trade_no)){ String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1); PrintWriter out = response.getWriter(); out.print("success"); out.flush(); out.close(); } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } }catch (Exception e){ e.printStackTrace(); } } /** * 小件物流差价微信支付回调 * @param request */ @@ -1737,6 +1918,8 @@ e.printStackTrace(); } } /** * 取消订单微信退款成功回调 @@ -1811,6 +1994,45 @@ } /** * 斗拱回调 购买出行卡支付回调 * @param request */ @ResponseBody @PostMapping("/base/DGPayTaxiCardPaymentSpread") public void DGPayTaxiCardPaymentSpread(HttpServletRequest request, HttpServletResponse response){ try { String sign =request.getParameter("sign"); String resp_data = request.getParameter("resp_data"); resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")"); boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign); System.out.println("斗拱回调 购买出行卡支付回调:"); if(verify){ JSONObject jsonObject = JSONObject.parseObject(resp_data); String order_id = jsonObject.get("out_trans_id").toString(); String out_trade_no = jsonObject.get("req_seq_id").toString(); String trans_stat = jsonObject.get("trans_stat").toString(); if("S".equals(trans_stat) && ToolUtil.isNotEmpty(out_trade_no)){ out_trade_no = out_trade_no.split("_")[0]; taxiCardService.payTaxiCardPaymentSpread(Integer.valueOf(out_trade_no), order_id); PrintWriter out = response.getWriter(); out.print("success"); out.flush(); out.close(); } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } }catch (Exception e){ e.printStackTrace(); } } /** * 购买出行卡微信支付回调 * @param request @@ -1828,7 +2050,7 @@ String out_trade_no = map.get("out_trade_no"); String result = map.get("result"); System.out.println(out_trade_no+"_"+order_id); if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ if(ToolUtil.isNotEmpty(out_trade_no)){ PrintWriter out = response.getWriter(); out.write(result); out.flush(); @@ -1913,6 +2135,59 @@ } /** * 斗拱 感谢费支付回调 * @param request * @param response */ @ResponseBody @PostMapping("/base/DGPayThankYouFee") public void DGPayThankYouFee(HttpServletRequest request, HttpServletResponse response){ try { String sign =request.getParameter("sign"); String resp_data = request.getParameter("resp_data"); resp_data = resp_data.replaceAll("& #40;", "(").replaceAll("& #41;",")"); boolean verify = RsaUtils.verify(resp_data, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB", sign); if(verify){ JSONObject jsonObject = JSONObject.parseObject(resp_data); String order_id = jsonObject.get("out_trans_id").toString(); String out_trade_no = jsonObject.get("req_seq_id").toString(); String trans_stat = jsonObject.get("trans_stat").toString(); if("S".equals(trans_stat) && ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id)){ String[] s = out_trade_no.split("_"); switch (Integer.valueOf(s[1])){ case 1: orderPrivateCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); case 2: orderTaxiService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); case 3: orderCrossCityService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); case 4: orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); case 5: orderLogisticsService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); case 6: orderCharteredCarService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); case 7: orderCallService.payThankYouFeeCallback(Integer.valueOf(s[0]), order_id, 1); } PrintWriter out = response.getWriter(); out.print("success"); out.flush(); out.close(); } // cloudPay(map.get("total_fee"),map.get("transaction_id"),1); } }catch (Exception e){ e.printStackTrace(); } } /** * 感谢费支付回调 * @param request UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/DouGongPayUtil.java
@@ -5,21 +5,30 @@ import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipaySystemOauthTokenRequest; import com.alipay.api.response.AlipaySystemOauthTokenResponse; import com.fasterxml.jackson.databind.ObjectMapper; import com.huifu.bspay.sdk.opps.core.BasePay; import com.huifu.bspay.sdk.opps.core.config.MerConfig; import com.huifu.bspay.sdk.opps.core.utils.DateTools; import com.huifu.bspay.sdk.opps.core.utils.SequenceTools; import com.stylefeng.guns.core.util.HttpUtils; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.huifu.biz.DouGongBasicDataBiz; import com.stylefeng.guns.modular.huifu.properties.HuiFuProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import java.security.KeyFactory; import java.security.PrivateKey; import java.security.Signature; import java.security.spec.PKCS8EncodedKeySpec; import java.text.SimpleDateFormat; import java.util.Base64; import java.util.Date; import java.util.TreeMap; import static com.aliyun.oss.model.RoutingRule.Protocol.Http; @@ -31,62 +40,27 @@ @Autowired private HuiFuProperties huiFuProperties; public static void main(String[] args) throws Exception { // MerConfig merConfig = new MerConfig(); // merConfig.setProcutId("KAZX"); // merConfig.setSysId("6666000182995771"); // merConfig.setRsaPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4="); // merConfig.setRsaPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB"); // BasePay.initWithMerConfig(merConfig); // request.setReqDate(DateTools.getCurrentDateYYYYMMDD());// 请求日期 // request.setReqSeqId(SequenceTools.getReqSeqId32()); // 请求流水号 // request.setHuifuId("6666000109111111"); // 商户号 // request.setGoodsDesc("上海合力批发站(货款)");// 商品描述 // request.setTransAmt("20.00"); // 交易金额 // request.setRemark("JSPAY:ID:102");//交易备注 //// 设置超时时间 // request.setTimeExpire("20250916202931"); //// 设置异步通知地址 // request.setNotifyUrl("https:/www.demoSite.com/api/public/hf/smstorecallback"); //// 延迟交易能力 延迟入账标识 // request.setDelayAcctFlag("N"); //// 实时分账能力 设置分账信息,需要分账权限 //// request.setAcctSplitBunch("{\"acct_infos\":[{\"div_amt\":\"4.00\",\"huifu_id\":\"666600016871111\"}," + //// "{\"div_amt\":\"16.00\",\"huifu_id\":\"6666000169391112\"}]}"); // ////以下为微信小程序需要的参数 // ObjectMapper objectMapper = JacksonUtils.getInstance(); // String wxDataString=""; //// {"sub_appid":"wxa350b4c0fd003192","sub_openid":"o4n3E6q8MOEQefCsGKVOAh40spNw"} // WxData wxData = new WxData(); // wxData.setSubOpenid("o8jhotzittQSeFF-N0Yj4Hz91Rqc"); // wxData.setSubAppid("wx4f4f5a5f5a5f5aFF"); ////微信相关参数可参考官方文档 https://pay.weixin.qq.com/doc/v2/merchant/4011935214 ////复杂{"body":"香土鸡餐馆:线下支付","detail":{"cost_price":"1.0","goods_detail":[{"goods_id":"1967776038541551111","goods_name":"香土鸡餐馆:线下支付","price":"1.0","quantity":1}],"receipt_id":"1970743410445500000"},"scene_info":{"store_info":{"id":"1967776038541550000","name":"香土鸡餐馆:线下支付"}},"sub_appid":"wx969f2ef2df1111","sub_openid":"oqVX87O2I2U3rT-BBBBBBBB-YsU"} // wxDataString = objectMapper.writeValueAsString(wxData); // request.setTradeType("T_MINIAPP"); // 交易类型 - 微信小程序 // Map<String, Object> response = Factory.Payment.Common() // .optional("method_expand",wxDataString).create(request); // System.out.println("T_JSAPI返回数据:" + JacksonUtils.convert2JsonString(response)); @Value("${callbackPath}") private static String callbackPath;//支付回调网关地址 public static void main(String[] args) throws Exception { HttpRequest post = HttpUtil.createPost("https://api.huifu.com/v4/trade/payment/create"); String a ="{\n" + " \"req_seq_id\": \"20250828150630498989712913\",\n" + " \"req_date\": \"20251117\",\n" + String req_seq_id = System.currentTimeMillis() + ToolUtil.getRandomNumber(10); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); String req_date = simpleDateFormat.format(new Date()); String a = "{\n" + " \"req_seq_id\": \"" + req_seq_id + "\",\n" + " \"req_date\": \"" + req_date + "\",\n" + " \"huifu_id\": \"6666000182995771\",\n" + " \"trade_type\": \"A_JSAPI\",\n" + " \"combinedpay_data\": \"\",\n" + " \"trade_type\": \"A_NATIVE\",\n" + " \"trans_amt\": \"0.01\",\n" + " \"goods_desc\": \"支付宝Native\",\n" + " \"remark\": \"交易备注\",\n" + " \"time_expire\": \"\",\n" + " \"delay_acct_flag\": \"N\",\n" + " \"fee_flag\": \"\",\n" + " \"acct_split_bunch\": \"\",\n" + " \"terminal_device_data\": \"{\\\"device_ip\\\":\\\"172.28.52.52\\\",\\\"devs_id\\\":\\\"SPINTP104120617260257\\\"}\",\n" + " \"notify_url\": \"\",\n" + " \"method_expand\": \"{\\\"buyer_logon_id\\\":\\\"17828262728\\\"}\"\n" + " \"goods_desc\": \"test\",\n" + " \"remark\": \"嘉易行\",\n" + " \"notify_url\": \""+"http://221.182.45.100:8006/base/DGCallBack"+"\",\n" + " }"; // 去掉换行、空格等格式字符 a = a.replaceAll("\\s", ""); @@ -94,28 +68,20 @@ a = JSON.toJSONString(JSONObject.parseObject(a, TreeMap.class)); String sign = sign(a, "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4="); System.out.println(a); String p ="{\n" + String p = "{\n" + " \"sys_id\": \"6666000182995771\",\n" + " \"product_id\": \"KAZX\",\n" + " \"sign\": \""+sign+"\",\n" + " \"sign\": \"" + sign + "\",\n" + " \"data\": {\n" + " \"req_seq_id\": \"20250828150630498989712913\",\n" + " \"req_date\": \"20251117\",\n" + " \"req_seq_id\": \"" + req_seq_id + "\",\n" + " \"req_date\": \"" + req_date + "\",\n" + " \"huifu_id\": \"6666000182995771\",\n" + " \"trade_type\": \"A_JSAPI\",\n" + " \"combinedpay_data\": \"\",\n" + " \"trade_type\": \"A_NATIVE\",\n" + " \"trans_amt\": \"0.01\",\n" + " \"goods_desc\": \"支付宝Native\",\n" + " \"remark\": \"交易备注\",\n" + " \"time_expire\": \"\",\n" + " \"delay_acct_flag\": \"N\",\n" + " \"fee_flag\": \"\",\n" + " \"acct_split_bunch\": \"\",\n" + " \"terminal_device_data\": \"{\\\"device_ip\\\":\\\"172.28.52.52\\\",\\\"devs_id\\\":\\\"SPINTP104120617260257\\\"}\",\n" + " \"notify_url\": \"\",\n" + " \"method_expand\": \"{\\\"buyer_logon_id\\\":\\\"17828262728\\\"}\"\n" + " \"goods_desc\": \"test\",\n" + " \"remark\": \"嘉易行\",\n" + " \"notify_url\": \""+"http://221.182.45.100:8006/base/DGCallBack"+"\",\n" + " }\n" + "}\n"; System.out.println(p); @@ -125,6 +91,156 @@ System.out.println(execute.body()); } /** * 订单支付微信 * @param money * @param openId * @param goodsDesc * @param type * @param orderId * @return */ public static String wxPayOrder(String money, String openId, String goodsDesc, int type, String orderId, int callType) { HttpRequest post = HttpUtil.createPost("https://api.huifu.com/v4/trade/payment/create"); String req_seq_id = orderId + "_" + type + "_" + System.currentTimeMillis() + ToolUtil.getRandomNumber(10); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); String req_date = simpleDateFormat.format(new Date()); String notifyUrl = ""; switch (callType) { case 1: // 订单支付 notifyUrl = callbackPath + "/base/DGCallBack"; break; case 2: // 支付小件物流差价支付回调 notifyUrl = callbackPath +"/base/DGPayOrderLogisticsSpread"; break; case 3: // 购买出行卡支付回调 notifyUrl = callbackPath+"/base/DGPayTaxiCardPaymentSpread"; break; case 4: // 感谢费支付回调 notifyUrl = callbackPath + "/base/DGPayThankYouFee"; break; } String a = "{\n" + " \"req_seq_id\": \"" + req_seq_id + "\",\n" + " \"req_date\": \"" + req_date + "\",\n" + " \"huifu_id\": \"6666000182995771\",\n" + " \"trade_type\": \"T_MINIAPP\",\n" + " \"trans_amt\": \"" + money + "\",\n" + " \"goods_desc\": \"" + goodsDesc + "\",\n" + " \"remark\": \"嘉易行\",\n" + " \"notify_url\": \""+notifyUrl+"\",\n" + " \"method_expand\": \"{\\\"sub_openid\\\":\\\"" + openId + "\\\"}\"\n" + " }"; // 去掉换行、空格等格式字符 a = a.replaceAll("\\s", ""); a = JSON.toJSONString(JSONObject.parseObject(a, TreeMap.class)); String sign = sign(a, "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4="); System.out.println(a); String p = "{\n" + " \"sys_id\": \"6666000182995771\",\n" + " \"product_id\": \"KAZX\",\n" + " \"sign\": \"" + sign + "\",\n" + " \"data\": {\n" + " \"req_seq_id\": \"" + req_seq_id + "\",\n" + " \"req_date\": \"" + req_date + "\",\n" + " \"huifu_id\": \"6666000182995771\",\n" + " \"trade_type\": \"T_MINIAPP\",\n" + " \"trans_amt\": \"" + money + "\",\n" + " \"goods_desc\": \"" + goodsDesc + "\",\n" + " \"remark\": \"嘉易行\",\n" + " \"notify_url\": \""+notifyUrl+"\",\n" + " \"method_expand\": \"{\\\"sub_openid\\\":\\\"" + openId + "\\\"}\"\n" + " }\n" + "}\n"; System.out.println(p); post.body(p); HttpResponse execute = post.execute(); System.out.println(execute.body()); return execute.body(); } /** * 订单支付 支付宝 * @param money * @param buyerId * @param goodsDesc * @param type * @param orderId * @return */ public static String aliPayOrder(String money, String buyerId, String goodsDesc, int type, String orderId, int callType) { HttpRequest post = HttpUtil.createPost("https://api.huifu.com/v4/trade/payment/create"); String req_seq_id = orderId + "_" + type + "_" + System.currentTimeMillis() + ToolUtil.getRandomNumber(10); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); String req_date = simpleDateFormat.format(new Date()); String notifyUrl = ""; switch (callType) { case 1: // 订单支付 notifyUrl = callbackPath + "/base/DGCallBack"; break; case 2: // 支付小件物流差价支付回调 notifyUrl = callbackPath +"/base/DGPayOrderLogisticsSpread"; break; case 3: // 购买出行卡支付回调 notifyUrl = callbackPath+"/base/DGPayTaxiCardPaymentSpread"; break; case 4: // 感谢费支付回调 notifyUrl = callbackPath + "/base/DGPayThankYouFee"; break; } String a = "{\n" + " \"req_seq_id\": \"" + req_seq_id + "\",\n" + " \"req_date\": \"" + req_date + "\",\n" + " \"huifu_id\": \"6666000182995771\",\n" + " \"trade_type\": \"A_NATIVE\",\n" + " \"trans_amt\": \"" + money + "\",\n" + " \"goods_desc\": \"" + goodsDesc + "\",\n" + " \"remark\": \"嘉易行\",\n" + " \"notify_url\": \""+notifyUrl+"\",\n" + " \"method_expand\": \"{\\\"buyer_id\\\":\\\"" + buyerId + "\\\"}\"\n" + " }"; // 去掉换行、空格等格式字符 a = a.replaceAll("\\s", ""); a = JSON.toJSONString(JSONObject.parseObject(a, TreeMap.class)); String sign = sign(a, "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4="); System.out.println(a); String p = "{\n" + " \"sys_id\": \"6666000182995771\",\n" + " \"product_id\": \"KAZX\",\n" + " \"sign\": \"" + sign + "\",\n" + " \"data\": {\n" + " \"req_seq_id\": \"" + req_seq_id + "\",\n" + " \"req_date\": \"" + req_date + "\",\n" + " \"huifu_id\": \"6666000182995771\",\n" + " \"trade_type\": \"A_NATIVE\",\n" + " \"trans_amt\": \"" + money + "\",\n" + " \"goods_desc\": \"" + goodsDesc + "\",\n" + " \"remark\": \"嘉易行\",\n" + " \"notify_url\": \""+notifyUrl+"\",\n" + " \"method_expand\": \"{\\\"buyer_id\\\":\\\"" + buyerId + "\\\"}\"\n" + " }\n" + "}\n"; System.out.println(p); post.body(p); HttpResponse execute = post.execute(); System.out.println(execute.body()); return execute.body(); } public static String sign(String data, String privateKeyBase64) { @@ -145,4 +261,5 @@ } } } UserJYXTravel/guns-admin/src/main/resources/application.yml
@@ -108,7 +108,7 @@ #spring: datasource: url: jdbc:mysql://127.0.0.1:3307/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai url: jdbc:mysql://192.168.110.188:3307/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root_remote password: 123456 db-name: jyxtravel #用来搜集数据库的所有表 @@ -199,3 +199,4 @@ rsa_private_key: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4= rsa_public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWrruP9JBxrUd8uEX5Z8y7pg/UIr5RNHSgDnHqNI1hbi2MfTzB5vZ275wSFFaLDD9BesgDWqsUepPS/opROlDCg9y6WYH8mkN23NmHL9F8kT48OMmH722am+Hp0XVMMwXqA0oNt4f7oW6kDemjZW8/RT4vIE7cyxoxSsVRvjqSpx9wDgFLPWh3o0pHQaoxLyeUsGBATHFrxEDlosBvsuXjMcgjPKXALrcemzKOhBmBkLgyxNVmh61ZK+FNXd+/X4PeZlnWf54NRQAUKe1308E6IIaszo+CjneKuhj1m/X4f7AIvxAqlhuCV5E/DfKRmGopxaWqdtE960Y/H4SmBh2wIDAQAB upper_huifu_id: 6666000182995771 huifu_public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkelt8p0CS+39gvLxWDHEJHIq6ZIn/WYS6td++IyJVfO579E/biJug6FvC8jRJfcNmHOaqAb+9Lbf6FaXpgOiGWOjV8xNlEjYv7L9qlE7WqXCEWMXuGnAn2PCvsfqe1tnusFFiKZfaoGQPlJxZh0NB0+mMM6toyS/diXSLNeO1HdWlYt2l/C2CLY9M92SsGUJGiWsGUlkJNvhHT3zdOfS9qhZD7Z0+ySLYQHVEyWGQNdyuLc8Opl6fw24MFZi4a5ZsJf3HEr9kNAAXxJO4yMRdZ2Zgpkstx6xMPcVsq4NQQvg4FwXchdDhLaTX7/lFtPNLMlFQTTdIqx1bgz/NQWgIwIDAQAB UserJYXTravel/guns-core/src/main/java/com/stylefeng/guns/core/util/ToolUtil.java
@@ -60,6 +60,16 @@ } return sb.toString(); } public static String getRandomNumber(int length) { String base = "0123456789"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(base.length()); sb.append(base.charAt(number)); } return sb.toString(); } /** * 判断一个对象是否是时间类型