You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					87 lines
				
				3.3 KiB
			
		
		
			
		
	
	
					87 lines
				
				3.3 KiB
			| 
											3 years ago
										 | package com.ynxbd.common.helper.xbd;
 | ||
|  | 
 | ||
|  | import com.alibaba.fastjson.JSONObject;
 | ||
|  | import com.ynxbd.common.helper.http.OkHttpHelper;
 | ||
|  | import lombok.extern.slf4j.Slf4j;
 | ||
|  | import okhttp3.*;
 | ||
|  | 
 | ||
|  | import java.net.URLEncoder;
 | ||
|  | import java.nio.charset.StandardCharsets;
 | ||
|  | import java.util.HashMap;
 | ||
|  | import java.util.Map;
 | ||
|  | 
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @author 李进才
 | ||
|  |  * @ClassName HttpHelper
 | ||
|  |  * @Description 在线病历打印请求的http请求方法
 | ||
|  |  * @date 2023/4/20 09:40
 | ||
|  |  */
 | ||
|  | @Slf4j
 | ||
|  | public class HttpHelper {
 | ||
|  |     /**
 | ||
|  |      * Get执行后台指定方法
 | ||
|  |      * @param methodName 方法名
 | ||
|  |      * @param paramDic 参数
 | ||
|  |      * @return 返回的数据(Json)
 | ||
|  |      */
 | ||
|  |     public static String ExecMethodGet (String methodName, Object paramDic){
 | ||
|  |         return UseGet(methodName,paramDic);
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * Get执行后台指定方法
 | ||
|  |      * @param methodName 方法名
 | ||
|  |      * @return 返回的数据(Json)
 | ||
|  |      */
 | ||
|  |     public static String ExecMethodGet (String methodName){
 | ||
|  |         return UseGet(methodName,null);
 | ||
|  |     }
 | ||
|  |     private static String UseGet(String methodName, Object paramDic) {
 | ||
|  |         try {
 | ||
|  |             String url = "http://192.168.12.66:8080";
 | ||
|  |             OkHttpClient httpClient = OkHttpHelper.creatClient();
 | ||
|  |             HttpUrl.Builder urlBuilder = HttpUrl.parse(url+"/api/SqlContext/ExecMethodByNameEncryption").newBuilder();
 | ||
|  |             // 加密序列化
 | ||
|  |             String methodNameEnv = URLEncoder.encode(EncHelper.AES_Encrypt(methodName), StandardCharsets.UTF_8.toString());
 | ||
|  |             urlBuilder.addQueryParameter("methodNameEnc", methodNameEnv);
 | ||
|  |             String paramJson = JSONObject.toJSONString(paramDic==null? "" :paramDic);
 | ||
|  |             // json 加密序列化传入链接
 | ||
|  |             String paramsStrEnv = URLEncoder.encode(EncHelper.AES_Encrypt(paramJson), StandardCharsets.UTF_8.toString());
 | ||
|  |             urlBuilder.addQueryParameter("paramsStrEnc", paramsStrEnv);
 | ||
|  |             String md5Check = URLEncoder.encode(EncHelper.MD5Encrypt64(methodName + paramJson),StandardCharsets.UTF_8.toString());
 | ||
|  |             urlBuilder.addQueryParameter("modCode", md5Check);
 | ||
|  | 
 | ||
|  | 
 | ||
|  |             Request request = new Request.Builder()
 | ||
|  |                     .url(urlBuilder.toString())
 | ||
|  |                     .get()
 | ||
|  |                     .build();
 | ||
|  |             Response response = httpClient.newCall(request).execute();
 | ||
|  |             // 清除并关闭线程池
 | ||
|  | //            httpClient.dispatcher().executorService().shutdown();
 | ||
|  |             // 清除并关闭连接池
 | ||
|  | //            httpClient.connectionPool().evictAll();
 | ||
|  |             JSONObject JSON = JSONObject.parseObject(response.body().string());
 | ||
|  |             if(response.isSuccessful()){
 | ||
|  |                 return JSON.getString("Data").replaceAll(" ","");
 | ||
|  |             }
 | ||
|  |             else {
 | ||
|  |                 log.error("[在线病例打印]返回错误:方法名-{},错误-{}",methodName,JSON.getString("Msg"));
 | ||
|  |                 throw new Exception("方法:" + methodName + "错误:" + JSON.getString("Msg") );
 | ||
|  |             }
 | ||
|  |         }
 | ||
|  |         catch (Exception e){
 | ||
|  |             log.error("[在线病例打印]请求错误-{}",e.getMessage());
 | ||
|  |             return e.getMessage();
 | ||
|  |         }
 | ||
|  | 
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     public static void main(String[] args) {
 | ||
|  |         Map<String,String> test = new HashMap<>();
 | ||
|  |         test.put("patientID","10947918");
 | ||
|  |         System.out.println(ExecMethodGet("BLSM_Appointment_GetBA", test));
 | ||
|  |     }
 | ||
|  | }
 |