From ea01357b626ef4dc8326ff39da6f31e17bf2c0f9 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 30 八月 2023 15:29:09 +0800
Subject: [PATCH] 新增小程序判断是否是商家
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientUtil.java | 69 ++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 1 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientUtil.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientUtil.java
index 4898691..68c3341 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientUtil.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientUtil.java
@@ -4,27 +4,35 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
+import java.security.KeyStore;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import com.alibaba.fastjson.JSONObject;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
+import org.apache.http.ssl.SSLContexts;
import org.apache.http.util.EntityUtils;
import org.springframework.util.ObjectUtils;
import com.panzhihua.common.constants.HttpConstant;
import lombok.extern.slf4j.Slf4j;
+
+import javax.net.ssl.SSLContext;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -224,7 +232,7 @@
try {
defaultHttpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
- httpPost.setHeader("Content-Type", "application/json;charset=ut-8");
+ httpPost.setHeader("Content-Type", "application/json;charset=utf-8");
if (StringUtils.isNotBlank(param)) {
log.info("参数值:{}", param);
HttpEntity httpEntity = new StringEntity(param, "utf-8");
@@ -332,4 +340,63 @@
return in;
}
+ /**
+ * 退款请求微信
+ * @param url 请求地址
+ * @param data 请求数据
+ * @param mchId 商户id
+ * @param isTest 是否是测试
+ * @return 退款结果
+ * @throws Exception 抛出异常
+ */
+ public static String doRefund(String url, String data,String mchId,Boolean isTest) throws Exception{
+ KeyStore keyStore = KeyStore.getInstance("PKCS12");
+ //P12文件目录 证书路径,这里需要你自己修改,linux下还是windows下的根路径
+ String filepath = "/mnt/data/refund/huacheng/";
+
+ System.out.println("filepath->"+filepath);
+ FileInputStream instream = new FileInputStream(filepath+"apiclient_cert.p12");
+ try {
+ keyStore.load(instream, mchId.toCharArray());//这里写密码..默认是你的MCHID
+ } finally {
+ instream.close();
+ }
+
+ // Trust own CA and all self-signed certs
+ SSLContext sslcontext = SSLContexts.custom()
+ .loadKeyMaterial(keyStore, mchId.toCharArray())//这里也是写密码的
+ .build();
+ // Allow TLSv1 protocol only
+ SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
+ sslcontext,
+ SSLConnectionSocketFactory.getDefaultHostnameVerifier());
+ CloseableHttpClient httpclient = HttpClients.custom()
+ .setSSLSocketFactory(sslsf)
+ .build();
+ try {
+ HttpPost httpost = new HttpPost(url); // 设置响应头信息
+ httpost.addHeader("Connection", "keep-alive");
+ httpost.addHeader("Accept", "*/*");
+ httpost.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+ httpost.addHeader("Host", "api.mch.weixin.qq.com");
+ httpost.addHeader("X-Requested-With", "XMLHttpRequest");
+ httpost.addHeader("Cache-Control", "max-age=0");
+ httpost.addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ");
+ httpost.setEntity(new StringEntity(data, "UTF-8"));
+ CloseableHttpResponse response = httpclient.execute(httpost);
+ try {
+ HttpEntity entity = response.getEntity();
+
+ String jsonStr = EntityUtils.toString(response.getEntity(), "UTF-8");
+ log.info("请求微信退款接口返回结果:" + JSONObject.toJSONString(jsonStr));
+ EntityUtils.consume(entity);
+ return jsonStr;
+ } finally {
+ response.close();
+ }
+ } finally {
+ httpclient.close();
+ }
+
+ }
}
--
Gitblit v1.7.1