提交 224e70d1 作者: 洪东保

减少日志量

父级 0c2dc139
...@@ -3,26 +3,24 @@ package com.cmeeting.ad.service.impl; ...@@ -3,26 +3,24 @@ package com.cmeeting.ad.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cmeeting.ad.entity.*; import com.cmeeting.ad.entity.*;
import com.cmeeting.ad.util.SecurityUtil;
import com.cmeeting.ad.vo.UserVo;
import com.cmeeting.dto.UserDTO;
import com.cmeeting.exception.RobotBaseException;
import com.cmeeting.mapper.primary.AuthMapper;
import com.cmeeting.mapper.primary.CommonMapper;
import com.cmeeting.ad.service.ILdapService; import com.cmeeting.ad.service.ILdapService;
import com.cmeeting.ad.service.ISysTenantService; import com.cmeeting.ad.service.ISysTenantService;
import com.cmeeting.ad.service.UserService; import com.cmeeting.ad.service.UserService;
import com.cmeeting.ad.util.JwtUtil; import com.cmeeting.ad.util.JwtUtil;
import com.cmeeting.ad.util.SecurityUtil;
import com.cmeeting.ad.vo.ApplicationUserVO;
import com.cmeeting.ad.vo.UserVo;
import com.cmeeting.constant.CategoryConstant; import com.cmeeting.constant.CategoryConstant;
import com.cmeeting.constant.UserAdminRouteConstant; import com.cmeeting.constant.UserAdminRouteConstant;
import com.cmeeting.exception.RobotBaseException;
import com.cmeeting.mapper.primary.AuthMapper;
import com.cmeeting.mapper.primary.CommonMapper;
import com.cmeeting.mapper.secondary.SysUserSysMapper; import com.cmeeting.mapper.secondary.SysUserSysMapper;
import com.cmeeting.pojo.CoreModulePermissions; import com.cmeeting.pojo.CoreModulePermissions;
import com.cmeeting.util.*; import com.cmeeting.util.*;
import com.cmeeting.ad.vo.ApplicationUserVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -34,10 +32,11 @@ import org.springframework.stereotype.Service; ...@@ -34,10 +32,11 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.*; import java.time.Duration;
import java.time.format.DateTimeFormatter; import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
......
...@@ -78,21 +78,6 @@ public class CmeetingJob { ...@@ -78,21 +78,6 @@ public class CmeetingJob {
@Resource @Resource
private EmailSender emailSender; private EmailSender emailSender;
// @PostConstruct
public void weComUserInit() {
weComUserSync();
}
// @PostConstruct
public void tencentUserInit() {
TencentUserSync();
}
// @PostConstruct
public void userBindInit() {
userBind();
}
/** /**
* 企微人员定时同步 * 企微人员定时同步
*/ */
...@@ -179,8 +164,6 @@ public class CmeetingJob { ...@@ -179,8 +164,6 @@ public class CmeetingJob {
if (CollectionUtils.isEmpty(accessUserIds)) { if (CollectionUtils.isEmpty(accessUserIds)) {
log.info("无生成纪要权限的人员"); log.info("无生成纪要权限的人员");
return; return;
} else {
log.info("生成纪要权限人员:->{}", accessUserIds.toString());
} }
List<TencentMeetingVO.RecordFile> meetingFiles = tencentMeetingService.getMeetingFiles(accessUserIds, weComUserMap); List<TencentMeetingVO.RecordFile> meetingFiles = tencentMeetingService.getMeetingFiles(accessUserIds, weComUserMap);
......
...@@ -255,7 +255,6 @@ public class FileProcessTask { ...@@ -255,7 +255,6 @@ public class FileProcessTask {
String downloadUrl = transcript.getDownloadAddress(); String downloadUrl = transcript.getDownloadAddress();
if ("txt".equalsIgnoreCase(fileType)) { if ("txt".equalsIgnoreCase(fileType)) {
log.info("AI Transcript - Type: {}, URL: {}", fileType, downloadUrl);
// 1. 下载文件 // 1. 下载文件
byte[] fileData = downloadFile(downloadUrl); byte[] fileData = downloadFile(downloadUrl);
...@@ -412,7 +411,6 @@ public class FileProcessTask { ...@@ -412,7 +411,6 @@ public class FileProcessTask {
// 将字节内容写入本地文件 // 将字节内容写入本地文件
try (FileOutputStream fos = new FileOutputStream(fullPath)) { try (FileOutputStream fos = new FileOutputStream(fullPath)) {
fos.write(fileData); fos.write(fileData);
log.info("DOCX transcript saved to: {}", fullPath);
} catch (IOException e) { } catch (IOException e) {
log.error("Error saving DOCX transcript to file: {}", e.getMessage(), e); log.error("Error saving DOCX transcript to file: {}", e.getMessage(), e);
} }
......
...@@ -207,7 +207,6 @@ public class MeetingInfoServiceImpl extends ServiceImpl<MeetingInfoMapper, Meeti ...@@ -207,7 +207,6 @@ public class MeetingInfoServiceImpl extends ServiceImpl<MeetingInfoMapper, Meeti
String downloadUrl = transcript.getDownloadAddress(); String downloadUrl = transcript.getDownloadAddress();
if ("txt".equalsIgnoreCase(fileType)) { if ("txt".equalsIgnoreCase(fileType)) {
log.info("AI Transcript - Type: {}, URL: {}", fileType, downloadUrl);
// 1. 下载文件 // 1. 下载文件
byte[] fileData = downloadFile(downloadUrl); byte[] fileData = downloadFile(downloadUrl);
......
...@@ -213,7 +213,6 @@ public class WeComServiceImpl extends ServiceImpl<WeComUserMapper, WeComUser> i ...@@ -213,7 +213,6 @@ public class WeComServiceImpl extends ServiceImpl<WeComUserMapper, WeComUser> i
public void userBind() { public void userBind() {
//查出没有建立关联的企微人员 //查出没有建立关联的企微人员
List<WeComUser> noBindUsers = noBindUsers(); List<WeComUser> noBindUsers = noBindUsers();
List<UserId> userIds = new ArrayList<>();
for (WeComUser user : noBindUsers) { for (WeComUser user : noBindUsers) {
String weComToken = getToken(); String weComToken = getToken();
MeetingInfo meetingInfo = createTempMeeting(user.getUserId(), weComToken); MeetingInfo meetingInfo = createTempMeeting(user.getUserId(), weComToken);
......
...@@ -100,23 +100,6 @@ public class AESUtils { ...@@ -100,23 +100,6 @@ public class AESUtils {
return mingwen; return mingwen;
} }
public static Boolean decryptSign(HttpServletRequest request, String AES_KEY){
String lid = request.getHeader("lid");
log.info("lid=============" + lid);
String sign = request.getHeader("sign");
log.info("sign=============" +sign);
String decrypt = decrypt(sign, AES_KEY);
log.info("decrypt=============" + decrypt);
if (StringUtils.isEmpty(lid) && StringUtils.isEmpty(sign) && StringUtils.isEmpty(decrypt)){
return true;
}
if(!lid.equals(decrypt)){
log.info("----判定成功");
return true;
}
return false;
}
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
int code = 1; int code = 1;
/*String[] arr = {""}; /*String[] arr = {""};
......
...@@ -85,217 +85,6 @@ public class HttpClientKnowledgePlatformUtil { ...@@ -85,217 +85,6 @@ public class HttpClientKnowledgePlatformUtil {
} }
/**
* 发送get请求
*
* @param url 路径
* @return
*/
public static String sendHttpGet(String url) {
log.info("请求地址:【{}】", url);
log.info("请求方式:GET");
// get请求返回结果
// 发送get请求
HttpGet request = new HttpGet(url);
request.setConfig(requestConfig);
CloseableHttpResponse response = null;
String result = "";
try {
response = getClient().execute(request);
// 请求发送成功,并得到响应
HttpEntity responseEntity = response.getEntity();
if (responseEntity != null) {
// 将响应内容转换为字符串
result = EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);
}
log.info("请求返回结果:【{}】", result);
} catch (IOException e) {
log.error("get请求提交失败:" + url, e);
} finally {
if (response != null){
try {
//此处调优重点,多线程模式下可提高性能。
EntityUtils.consume(response.getEntity());
response.close();
} catch (IOException e) {
System.out.println("关闭response失败:" + e);
}
}
request.releaseConnection();
}
return result;
}
/**
* 发送POST请求
*
* @param url
* @param parametersBody
* @return
*/
public static String sendPostJsonRequest(String url, String parametersBody) {
log.info("请求地址:【{}】", url);
log.info("请求方式:POST");
log.info("请求参数:【{}】", parametersBody);
HttpPost post = new HttpPost(url);
post.addHeader("Content-Type", "application/json;charset=UTF-8");
post.addHeader("Accept", "application/json");
post.setConfig(requestConfig);
StringEntity entity = new StringEntity(parametersBody, "UTF-8");
post.setEntity(entity);
//设置请求头
// if (StringUtils.isNotBlank(token)){
// post.setHeader("Authorization", token);
// }
String result = "";
CloseableHttpResponse response = null;
try {
response = getClient().execute(post);
HttpEntity responseEntity = response.getEntity();
if (responseEntity != null) {
// 将响应内容转换为字符串
result = EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);
}
log.info("请求返回结果:【{}】", result);
return result;
} catch (ClientProtocolException e) {
throw new RuntimeException("postRequest -- Client protocol exception!", e);
} catch (IOException e) {
throw new RuntimeException("postRequest -- IO error!", e);
} finally {
if (response != null){
try {
//此处调优重点,多线程模式下可提高性能。
EntityUtils.consume(response.getEntity());
response.close();
} catch (IOException e) {
log.error("关闭response失败:" + e);
}
}
post.releaseConnection();
}
}
/**
* 发送POST请求
*
* @param url
* @param parametersBody
* @return
*/
public static String sendPostJsonBySearch(String url, String parametersBody) {
log.info("请求地址:【{}】", url);
log.info("请求方式:POST");
log.info("请求参数:【{}】", parametersBody);
HttpPost post = new HttpPost(url);
post.addHeader("Content-Type", "application/json;charset=UTF-8");
post.addHeader("Accept", "application/json");
post.setConfig(requestConfig);
StringEntity entity = new StringEntity(parametersBody, "UTF-8");
post.setEntity(entity);
String result = "";
CloseableHttpResponse response = null;
try {
response = getClient().execute(post);
HttpEntity responseEntity = response.getEntity();
if (responseEntity != null) {
// 将响应内容转换为字符串
result = EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);
}
return result;
} catch (ClientProtocolException e) {
throw new RuntimeException("postRequest -- Client protocol exception!", e);
} catch (IOException e) {
throw new RuntimeException("postRequest -- IO error!", e);
} finally {
if (response != null){
try {
//此处调优重点,多线程模式下可提高性能。
EntityUtils.consume(response.getEntity());
response.close();
} catch (IOException e) {
log.error("关闭response失败:" + e);
}
}
post.releaseConnection();
}
}
/**
* 使用httpclint 发送文件,如果不传输文件,直接设置fileParams=null,
* 如果不设置请求头参数,直接设置headerParams=null,就可以进行普通参数的POST请求了
*
* @param url 请求路径
* @param file 文件参数
* @param otherParams 其他字符串参数
* @return
*/
public static String sendPostByFormData(String url, MultipartFile file, Map<String, String> otherParams) {
log.info("请求地址:{}", url);
log.info("请求方式:POST");
log.info("请求参数:{}", JSON.toJSONString(otherParams));
String result = "";
CloseableHttpResponse response = null;
HttpPost httpPost = new HttpPost(url);
try {
httpPost.setConfig(requestConfig);
//设置请求头
// if (headerParams != null && headerParams.size() > 0) {
// for (Map.Entry<String, String> e : headerParams.entrySet()) {
// String value = e.getValue();
// String key = e.getKey();
// if (StringUtils.isNotBlank(value)) {
// httpPost.setHeader(key, value);
// }
// }
// }
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setCharset(StandardCharsets.UTF_8);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
ContentType contentType = ContentType.create("multipart/form-data", StandardCharsets.UTF_8);
// 文件传输http请求头(multipart/form-data)
if (file != null) {
builder.addBinaryBody("file", file.getBytes(), ContentType.MULTIPART_FORM_DATA, file.getOriginalFilename());
}
// 字节传输http请求头
if (otherParams != null && otherParams.size() > 0) {
for (Map.Entry<String, String> e : otherParams.entrySet()) {
String value = e.getValue();
if (StringUtils.isNotBlank(value)) {
builder.addTextBody(e.getKey(), value, contentType);// 类似浏览器表单提交,对应input的name和value
}
}
}
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
response = getClient().execute(httpPost);
HttpEntity responseEntity = response.getEntity();
if (responseEntity != null) {
// 将响应内容转换为字符串
result = EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);
}
log.info("响应数据:{}", JSON.toJSONString(result));
} catch (Exception e) {
e.printStackTrace();
} finally {
if (response != null){
try {
//此处调优重点,多线程模式下可提高性能。
EntityUtils.consume(response.getEntity());
response.close();
} catch (IOException e) {
log.error("关闭response失败:" + e);
}
}
httpPost.releaseConnection();
}
return result;
}
/** /**
* 使用httpclint 发送文件,如果不传输文件,直接设置fileParams=null, * 使用httpclint 发送文件,如果不传输文件,直接设置fileParams=null,
* 如果不设置请求头参数,直接设置headerParams=null,就可以进行普通参数的POST请求了 * 如果不设置请求头参数,直接设置headerParams=null,就可以进行普通参数的POST请求了
...@@ -315,16 +104,6 @@ public class HttpClientKnowledgePlatformUtil { ...@@ -315,16 +104,6 @@ public class HttpClientKnowledgePlatformUtil {
HttpPost httpPost = new HttpPost(url); HttpPost httpPost = new HttpPost(url);
try { try {
httpPost.setConfig(requestConfig); httpPost.setConfig(requestConfig);
//设置请求头
// if (headerParams != null && headerParams.size() > 0) {
// for (Map.Entry<String, String> e : headerParams.entrySet()) {
// String value = e.getValue();
// String key = e.getKey();
// if (StringUtils.isNotBlank(value)) {
// httpPost.setHeader(key, value);
// }
// }
// }
MultipartEntityBuilder builder = MultipartEntityBuilder.create(); MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setCharset(StandardCharsets.UTF_8); builder.setCharset(StandardCharsets.UTF_8);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
...@@ -353,7 +132,6 @@ public class HttpClientKnowledgePlatformUtil { ...@@ -353,7 +132,6 @@ public class HttpClientKnowledgePlatformUtil {
// 将响应内容转换为字符串 // 将响应内容转换为字符串
result = EntityUtils.toString(responseEntity, StandardCharsets.UTF_8); result = EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);
} }
log.info("响应数据:{}", JSON.toJSONString(result));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
......
...@@ -49,42 +49,6 @@ public class HttpClientUtils { ...@@ -49,42 +49,6 @@ public class HttpClientUtils {
requestConfig = RequestConfig.custom().setSocketTimeout(180000).setConnectTimeout(180000).setConnectionRequestTimeout(180000).build(); requestConfig = RequestConfig.custom().setSocketTimeout(180000).setConnectTimeout(180000).setConnectionRequestTimeout(180000).build();
} }
/**
* 发送get请求
*
* @param url 路径
* @return
*/
public static JSONObject httpGet(String url) {
log.info("请求地址:【{}】", url);
// get请求返回结果
JSONObject jsonResult = null;
CloseableHttpClient client = HttpClients.createDefault();
// 发送get请求
HttpGet request = new HttpGet(url);
request.setConfig(requestConfig);
try {
CloseableHttpResponse response = client.execute(request);
// 请求发送成功,并得到响应
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// 读取服务器返回过来的json字符串数据
HttpEntity entity = response.getEntity();
String strResult = EntityUtils.toString(entity, "utf-8");
// 把json字符串转换成json对象
jsonResult = JSONObject.parseObject(strResult);
log.info("请求返回结果:【{}】", jsonResult.toJSONString());
} else {
log.error("get请求提交失败:" + url);
}
} catch (IOException e) {
log.error("get请求提交失败:" + url, e);
} finally {
request.releaseConnection();
}
return jsonResult;
}
public static JSONObject httpGet(String url, String token) { public static JSONObject httpGet(String url, String token) {
log.info("请求地址:【{}】", url); log.info("请求地址:【{}】", url);
// get请求返回结果 // get请求返回结果
...@@ -105,8 +69,6 @@ public class HttpClientUtils { ...@@ -105,8 +69,6 @@ public class HttpClientUtils {
String strResult = EntityUtils.toString(entity, "utf-8"); String strResult = EntityUtils.toString(entity, "utf-8");
// 把json字符串转换成json对象 // 把json字符串转换成json对象
jsonResult = JSONObject.parseObject(strResult); jsonResult = JSONObject.parseObject(strResult);
log.info("请求返回结果:【{}】", jsonResult.toJSONString());
} else { } else {
log.error("get请求提交失败:" + url); log.error("get请求提交失败:" + url);
} }
...@@ -118,274 +80,6 @@ public class HttpClientUtils { ...@@ -118,274 +80,6 @@ public class HttpClientUtils {
return jsonResult; return jsonResult;
} }
public static JSONObject httpGet(String url, String token, List<Header> headers, boolean isSafe) {
log.info("请求地址:【{}】", url);
// get请求返回结果
JSONObject jsonResult = null;
// 发送get请求
HttpGet request = new HttpGet(url);
if (token != null) {
request.setHeader("Authorization", "Bearer " + token);
}
// 设置头参数
if (CollectionUtils.isNotEmpty(headers)) {
for (Header item : headers) {
request.setHeader(item.getName(), item.getValue());
log.info("请求Header:{}={}", item.getName(), item.getValue());
}
}
request.setConfig(requestConfig);
try {
CloseableHttpClient client = null;
if(isSafe){
client = HttpClientBuilder.create().build();
}else{
// 创建一个信任所有证书的SSLContext
SSLContext sslContext = SSLContextBuilder.create()
.loadTrustMaterial(new TrustStrategy() {
@Override
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
return true; // 忽略所有证书验证
}
})
.build();
client = HttpClientBuilder.create().setSSLContext(sslContext)
.setSSLHostnameVerifier(new NoopHostnameVerifier())
.build();
}
CloseableHttpResponse response = client.execute(request);
// 请求发送成功,并得到响应
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// 读取服务器返回过来的json字符串数据
HttpEntity entity = response.getEntity();
String strResult = EntityUtils.toString(entity, "utf-8");
// 把json字符串转换成json对象
jsonResult = JSONObject.parseObject(strResult);
log.info("请求返回结果:【{}】", jsonResult.toJSONString());
} else {
log.error("get请求提交失败:{},code:{}" ,url,response.getStatusLine().getStatusCode());
}
} catch (IOException | NoSuchAlgorithmException | KeyStoreException e) {
log.error("get请求提交失败:" + url, e);
} catch (KeyManagementException e) {
throw new RuntimeException(e);
} finally {
request.releaseConnection();
}
return jsonResult;
}
/**
* get请求,参数放在map里
*
* @param url 请求地址
* @param map 参数map
* @return 响应
*/
public static JSONObject getMap(String url, Map<String, String> map) {
log.info(url + "getMap-start :" + System.currentTimeMillis());
log.info("请求地址:【{}】", url);
CloseableHttpClient httpClient = HttpClients.createDefault();
List<NameValuePair> pairs = new ArrayList<>();
for (Map.Entry<String, String> entry : map.entrySet()) {
pairs.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
CloseableHttpResponse response = null;
try {
URIBuilder builder = new URIBuilder(url);
builder.setParameters(pairs);
HttpGet get = new HttpGet(builder.build());
response = httpClient.execute(get);
log.info(url + "getMap-end :" + System.currentTimeMillis());
HttpEntity entity = response.getEntity();
String resultJson = EntityUtils.toString(entity);
log.info("请求返回的原始数据:【{}】", resultJson);
JSONObject result = JSONObject.parseObject(resultJson);
if (response != null && response.getStatusLine().getStatusCode() == 200) {
log.info("返回结果:【{}】", result.toJSONString());
} else {
log.info("返回结果异常:【{}】", result.toJSONString());
}
return result;
} catch (URISyntaxException e) {
log.error("请求失败", e);
} catch (ClientProtocolException e) {
log.error("请求失败", e);
} catch (IOException e) {
log.error("请求失败", e);
} finally {
try {
httpClient.close();
if (response != null) {
response.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
public static JSONObject postForForm(String url, Map<String, String> parms) {
log.info("请求地址:{}", url);
HttpPost httpPost = new HttpPost(url);
ArrayList<BasicNameValuePair> list = new ArrayList<>();
parms.forEach((key, value) -> list.add(new BasicNameValuePair(key, value)));
CloseableHttpClient httpClient = HttpClients.createDefault();
try {
if (Objects.nonNull(parms) && parms.size() > 0) {
httpPost.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));
}
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
JSONObject jsonObject = JSON.parseObject(EntityUtils.toString(entity, "UTF-8"));
log.info("请求结果:{}", jsonObject.toJSONString());
return jsonObject;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (Objects.nonNull(httpClient)) {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
/**
* get请求(用于key-value格式的参数,且带有header请求头)
*
* @param url
* @param map 请求的参数map<key,value>键值对
* @return
*/
public static String doGet(String url, Map<String, String> map) {
log.info("请求地址:【{}】", url);
// 获取连接客户端工具
CloseableHttpClient httpClient = HttpClients.createDefault();
String entityStr = null;
CloseableHttpResponse response = null;
try {
/*
* 由于GET请求的参数都是拼装在URL地址后方,所以我们要构建一个URL,带参数
*/
URIBuilder uriBuilder = new URIBuilder(url);
/** 第一种添加参数的形式 */
/*uriBuilder.addParameter("name", "root");
uriBuilder.addParameter("password", "123456");*/
for (Map.Entry<String, String> entry : map.entrySet()) {
uriBuilder.addParameter(entry.getKey(), entry.getValue());
}
/** 第二种添加参数的形式 */
/* List<NameValuePair> list = new LinkedList<>();
BasicNameValuePair param1 = new BasicNameValuePair("startTime", "2019-1-1 00:00:00");
BasicNameValuePair param2 = new BasicNameValuePair("endTime", "2019-1-9 00:00:00");
list.add(param1);
list.add(param2);
uriBuilder.setParameters(list);*/
// 根据带参数的URI对象构建GET请求对象
HttpGet httpGet = new HttpGet(uriBuilder.build());
/*
* 添加请求头信息
*/
// 浏览器表示
httpGet.addHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)");
// 传输的类型
httpGet.addHeader("Content-Type", "application/x-www-form-urlencoded");
//header的<key,value>
//httpGet.setHeader(headerKey, headerValue);
// 执行请求
response = httpClient.execute(httpGet);
// 获得响应的实体对象
HttpEntity entity = response.getEntity();
// 使用Apache提供的工具类进行转换成字符串
entityStr = EntityUtils.toString(entity, "UTF-8");
log.info("返回结果:【{}】", entityStr);
} catch (ClientProtocolException e) {
log.error("Http协议出现问题", e);
} catch (ParseException e) {
log.error("解析错误", e);
} catch (URISyntaxException e) {
log.error("URI解析异常", e);
} catch (IOException e) {
log.error("IO异常", e);
} finally {
// 释放连接
if (null != response) {
try {
response.close();
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return entityStr;
}
/**
* post请求传输json参数
*
* @param url url地址
* @return
*/
public static JSONObject httpPost(String url, cn.hutool.json.JSONObject jsonParam, String token) {
// post请求返回结果
CloseableHttpClient httpClient = HttpClients.createDefault();
JSONObject jsonResult = null;
HttpPost httpPost = new HttpPost(url);
// 设置请求和传输超时时间
httpPost.setConfig(requestConfig);
if (token != null) {
httpPost.setHeader("Authorization", "Bearer " + token);
}
try {
if (null != jsonParam) {
// 解决中文乱码问题
StringEntity entity = new StringEntity(jsonParam.toString(), "utf-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
httpPost.setEntity(entity);
}
CloseableHttpResponse result = httpClient.execute(httpPost);
// 请求发送成功,并得到响应
if (result.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String str = "";
try {
// 读取服务器返回过来的json字符串数据
str = EntityUtils.toString(result.getEntity(), "utf-8");
// 把json字符串转换成json对象
jsonResult = JSONObject.parseObject(str);
} catch (Exception e) {
log.error("post请求提交失败:" + url, e);
}
}
} catch (IOException e) {
log.error("post请求提交失败:" + url, e);
} finally {
httpPost.releaseConnection();
}
return jsonResult;
}
public static JSONObject httpPost(String url, JSONObject jsonParam, String token) { public static JSONObject httpPost(String url, JSONObject jsonParam, String token) {
// post请求返回结果 // post请求返回结果
...@@ -426,338 +120,4 @@ public class HttpClientUtils { ...@@ -426,338 +120,4 @@ public class HttpClientUtils {
return jsonResult; return jsonResult;
} }
/**
* post请求传输String参数 例如:name=Jack&sex=1&type=2
* Content-type:application/x-www-form-urlencoded
*
* @param url url地址
* @param strParam 参数
* @return
*/
public static JSONObject httpPost(String url, String strParam) {
// post请求返回结果
CloseableHttpClient httpClient = HttpClients.createDefault();
JSONObject jsonResult = null;
HttpPost httpPost = new HttpPost(url);
httpPost.setConfig(requestConfig);
try {
if (null != strParam) {
// 解决中文乱码问题
StringEntity entity = new StringEntity(strParam, "utf-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/x-www-form-urlencoded");
httpPost.setEntity(entity);
}
CloseableHttpResponse result = httpClient.execute(httpPost);
// 请求发送成功,并得到响应
if (result.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String str = "";
try {
// 读取服务器返回过来的json字符串数据
str = EntityUtils.toString(result.getEntity(), "utf-8");
// 把json字符串转换成json对象
jsonResult = JSONObject.parseObject(str);
} catch (Exception e) {
log.error("post请求提交失败:" + url, e);
}
}
} catch (IOException e) {
log.error("post请求提交失败:" + url, e);
} finally {
httpPost.releaseConnection();
}
return jsonResult;
}
/**
* 发送POST请求
*
* @param url
* @param header
* @param parametersBody
* @param timeout
* @return
*/
public static JSONObject postRequest(String url, List<Header> header, String parametersBody, Integer timeout) {
log.info("请求地址:{}", url);
log.info("请求方式:POST");
HttpPost post = new HttpPost(url);
post.addHeader("Content-Type", "application/json;charset=UTF-8");
post.addHeader("Accept", "application/json");
// 设置头参数
if (CollectionUtils.isNotEmpty(header)) {
for (Header item : header) {
post.setHeader(item.getName(), item.getValue());
log.info("请求Header:{}={}", item.getName(), item.getValue());
}
}
try {
StringEntity entity = new StringEntity(parametersBody);
post.setEntity(entity);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// 请求参数
if (timeout != null && timeout.intValue() > 0) {
RequestConfig config = RequestConfig.custom().setConnectTimeout(timeout).setConnectionRequestTimeout(timeout).setSocketTimeout(timeout).build();
post.setConfig(config);
}
try {
log.info("请求参数:{}", parametersBody);
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();
HttpEntity entity = response.getEntity();
String s = EntityUtils.toString(entity);
JSONObject result = (JSONObject) JSONObject.parseObject(s);
if (code >= 400) {
throw new RuntimeException(result.toJSONString());
}
log.info("请求返回结果:{}", result);
return result;
} catch (ClientProtocolException e) {
throw new RuntimeException("postRequest -- Client protocol exception!", e);
} catch (IOException e) {
throw new RuntimeException("postRequest -- IO error!", e);
} finally {
post.releaseConnection();
}
}
/**
* 发送POST请求
*
* @param url
* @param headerParams
* @param parametersBody
* @param timeout
* @return
*/
public static JSONObject postJsonRequest(String url, Map<String, String> headerParams, String parametersBody, Integer timeout) {
log.info("请求地址:{}", url);
log.info("请求方式:POST");
HttpPost post = new HttpPost(url);
post.addHeader("Content-Type", "text/plain");
// 设置头参数
//设置请求头
if (headerParams != null && headerParams.size() > 0) {
for (Map.Entry<String, String> e : headerParams.entrySet()) {
String value = e.getValue();
String key = e.getKey();
if (StrUtil.isNotBlank(value)) {
post.setHeader(key, value);
}
}
}
try {
StringEntity entity = new StringEntity(parametersBody);
entity.setContentType("text/plain");
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// 请求参数
if (timeout != null && timeout.intValue() > 0) {
RequestConfig config = RequestConfig.custom().setConnectTimeout(timeout).setConnectionRequestTimeout(timeout).setSocketTimeout(timeout).build();
post.setConfig(config);
}
try {
log.info("请求参数:{}", parametersBody);
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();
HttpEntity entity = response.getEntity();
String s = EntityUtils.toString(entity);
JSONObject result = (JSONObject) JSONObject.parseObject(s);
if (code >= 400) {
throw new RuntimeException(result.toJSONString());
}
log.info("请求返回结果:{}", result);
return result;
} catch (ClientProtocolException e) {
throw new RuntimeException("postRequest -- Client protocol exception!", e);
} catch (IOException e) {
throw new RuntimeException("postRequest -- IO error!", e);
} finally {
post.releaseConnection();
}
}
/**
* get请求,参数放在map里
*
* @param url 请求地址
* @param map 参数map
* @return 响应
*/
public static String getfileMap(String url, Map<String, String> map, String fileUrl, String fileName) {
CloseableHttpClient httpClient = HttpClients.createDefault();
List<NameValuePair> pairs = new ArrayList<>();
for (Map.Entry<String, String> entry : map.entrySet()) {
pairs.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
CloseableHttpResponse response = null;
String filestr = null;
InputStream inputStream = null;
try {
URIBuilder builder = new URIBuilder(url);
builder.setParameters(pairs);
HttpGet get = new HttpGet(builder.build());
response = httpClient.execute(get);
if (response != null && response.getStatusLine().getStatusCode() == 200) {
inputStream = response.getEntity().getContent();
Header[] headers1 = response.getHeaders("Content-disposition");/* for (int i = 0; i < headers1.length; i++) {
Header header = headers1[0];
String filenameheader = header.getValue();
String[] strings = filenameheader.split(";");
String strs = strings[1];
String str = strs.substring(11, strs.length() - 1);
String[] spstr = str.split("\\.");
String fileend = spstr[1];
log.info("fileend = " + fileend);
}*/
filestr = fileUrl + fileName + ".silk";
File file1 = new File(filestr);
if (!file1.exists()) {
file1.createNewFile();
}
OutputStream os = new FileOutputStream(file1);
int read = 0;
byte[] temp = new byte[1024 * 1024];
while ((read = inputStream.read(temp)) > 0) {
byte[] bytes = new byte[read];
System.arraycopy(temp, 0, bytes, 0, read);
os.write(bytes);
}
os.flush();
}
} catch (URISyntaxException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
httpClient.close();
if (response != null) {
response.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return filestr;
}
/**
* 发送POST请求(普通表单形式)
*
* @param url
* @param header
* @param parametersBody
* @param timeout
* @return
*/
public static String postForm(String url, List<Header> header, List<BasicNameValuePair> parametersBody, Integer timeout) {
HttpEntity entity = new UrlEncodedFormEntity(parametersBody, Charsets.UTF_8);
return postRequest(url, "application/x-www-form-urlencoded", header, entity, timeout, true);
}
/**
* 发送POST请求(JSON形式)
*
* @param url
* @param header 请求header
* @param json 请求body,json格式
* @param timeout 访问超时时间,单位毫秒
* @return
*/
public static String postJSON(String url, List<Header> header, String json, Integer timeout, boolean isSafe) {
StringEntity entity = new StringEntity(json, Charsets.UTF_8);
return postRequest(url, "application/json; charset=utf-8", header, entity, timeout, isSafe);
}
/**
* 发送POST请求
*
* @param url
* @param mediaType
* @param header
* @param parametersBody
* @param timeout
* @return
*/
private static String postRequest(String url, String mediaType, List<Header> header, HttpEntity parametersBody, Integer timeout, boolean isSafe) {
log.info("请求地址:{}", url);
log.info("请求方式:POST");
HttpPost post = new HttpPost(url);
post.addHeader("Content-Type", mediaType);
post.addHeader("Accept", "application/json");
// 设置头参数
if (CollectionUtils.isNotEmpty(header)) {
for (Header item : header) {
post.setHeader(item.getName(), item.getValue());
log.info("请求Header:{}={}", item.getName(), item.getValue());
}
}
// 请求参数
post.setEntity(parametersBody);
if (timeout != null && timeout.intValue() > 0) {
RequestConfig config = RequestConfig.custom().setConnectTimeout(timeout).setConnectionRequestTimeout(timeout).setSocketTimeout(timeout).build();
post.setConfig(config);
}
try {
log.info("请求参数:{}", EntityUtils.toString(parametersBody));
CloseableHttpClient client = null;
if(isSafe){
client = HttpClientBuilder.create().build();
}else{
// 创建一个信任所有证书的SSLContext
SSLContext sslContext = SSLContextBuilder.create()
.loadTrustMaterial(new TrustStrategy() {
@Override
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
return true; // 忽略所有证书验证
}
})
.build();
client = HttpClientBuilder.create().setSSLContext(sslContext)
.setSSLHostnameVerifier(new NoopHostnameVerifier())
.build();
}
HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();
String result = EntityUtils.toString(response.getEntity());
if (code >= 400) {
throw new RuntimeException(result);
}
log.info("请求返回结果:{}", result);
return result;
} catch (ClientProtocolException e) {
throw new RuntimeException("postRequest -- Client protocol exception!", e);
} catch (IOException e) {
throw new RuntimeException("postRequest -- IO error!", e);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
} catch (KeyStoreException e) {
throw new RuntimeException(e);
} catch (KeyManagementException e) {
throw new RuntimeException(e);
} finally {
post.releaseConnection();
}
}
} }
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
</timeBasedFileNamingAndTriggeringPolicy> </timeBasedFileNamingAndTriggeringPolicy>
<!-- 日志文件保留天数 --> <!-- 日志文件保留天数 -->
<maxHistory> <maxHistory>
15 7
</maxHistory> </maxHistory>
</rollingPolicy> </rollingPolicy>
<!-- 过滤出ERROR级别的日志 --> <!-- 过滤出ERROR级别的日志 -->
...@@ -132,14 +132,13 @@ ...@@ -132,14 +132,13 @@
</appender> </appender>
<!-- MyBatis SQL 日志 --> <!-- MyBatis SQL 日志 -->
<logger name="java.sql.Connection" level="TRACE"/> <logger name="java.sql.Connection" level="DEBUG"/>
<logger name="java.sql.Statement" level="TRACE"/> <logger name="java.sql.Statement" level="TRACE"/>
<logger name="java.sql.PreparedStatement" level="TRACE"/> <logger name="java.sql.PreparedStatement" level="TRACE"/>
<logger name="java.sql.ResultSet" level="TRACE"/>
<!-- DAO 包路径(替换为你的Mapper接口包名) --> <!-- &lt;!&ndash; DAO 包路径(替换为你的Mapper接口包名) &ndash;&gt;-->
<logger name="com.cmeeting.mapper.primary" level="TRACE"/> <!-- <logger name="com.cmeeting.mapper.primary" level="DEBUG"/>-->
<logger name="com.cmeeting.mapper.secondary" level="TRACE"/> <!-- <logger name="com.cmeeting.mapper.secondary" level="DEBUG"/>-->
<!-- 日志总开关 --> <!-- 日志总开关 -->
<root level="info"> <root level="info">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论