first commit
This commit is contained in:
		
							
								
								
									
										559
									
								
								src/main/java/com/example/sso/util/APIUtils.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										559
									
								
								src/main/java/com/example/sso/util/APIUtils.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,559 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import com.alibaba.fastjson.JSONArray; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.apache.commons.codec.Charsets; | ||||
| 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.HttpGet; | ||||
| import org.apache.http.client.methods.HttpPost; | ||||
| import org.apache.http.client.methods.HttpRequestBase; | ||||
| import org.apache.http.client.utils.URIBuilder; | ||||
| import org.apache.http.conn.ssl.SSLConnectionSocketFactory; | ||||
| import org.apache.http.entity.StringEntity; | ||||
| import org.apache.http.impl.client.HttpClients; | ||||
| import org.apache.http.message.BasicHeader; | ||||
| import org.apache.http.ssl.SSLContextBuilder; | ||||
| import org.apache.http.ssl.TrustStrategy; | ||||
|  | ||||
| import javax.net.ssl.SSLContext; | ||||
| import java.security.cert.CertificateException; | ||||
| import java.security.cert.X509Certificate; | ||||
| import java.util.*; | ||||
|  | ||||
| public class APIUtils { | ||||
|     public static final String WEBSITE = "https://www.jiyuankeshang.com"; | ||||
|     private static boolean retryIfRateLimited = true; | ||||
|     private String urlGetWidgets; | ||||
|     private String urlGetFormData; | ||||
|     private String urlRetrieveData; | ||||
|     private String urlUpdateData; | ||||
|     private String urlCreateData; | ||||
|     private String urlDeleteData; | ||||
|     private String urlCreateUSer; | ||||
|     private String urlCreatePerson; | ||||
|     private String urlCreatePersonAll; | ||||
|     private String urlCreateDep; | ||||
|     private String urlCreateDepAll; | ||||
|     private String urlGetDepartment; | ||||
|     private String urlGetPeople; | ||||
|     private String urlDeletePeople; | ||||
|     private String urlDataBatchCreate; | ||||
|     private String urlGetWorkflow; | ||||
|  | ||||
|     private static String apiKey; | ||||
|     private static int i=1; | ||||
|     /** | ||||
|      * @param appId - 应用id | ||||
|      * @param entryId - 表单id | ||||
|      * @param apiKey - apiKey | ||||
|      */ | ||||
|     public APIUtils(String appId, String entryId, String apiKey) { | ||||
|         this.apiKey = apiKey; | ||||
|         this.initUrl(appId, entryId); | ||||
|     } | ||||
|     public Map<String, Object> createPerson (Map<String, Object> person) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreatePerson, person); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|     public Map<String, Object> createDep (Map<String, Object> person) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreatePerson, person); | ||||
|             data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|     private void initUrl (String appId, String entryId) { | ||||
|         urlGetWidgets = WEBSITE + "/api/v1/app/" + appId + "/entry/" + entryId + "/widgets"; | ||||
|         urlGetFormData = WEBSITE + "/api/v1/app/" + appId + "/entry/" + entryId + "/data"; | ||||
|         urlRetrieveData = WEBSITE + "/api/v2/app/" + appId + "/entry/" + entryId + "/data_retrieve"; | ||||
|         urlUpdateData = WEBSITE + "/api/v4/app/" + appId + "/entry/" + entryId + "/data_update"; | ||||
|         urlCreateData = WEBSITE + "/api/v3/app/" + appId + "/entry/" + entryId + "/data_create"; | ||||
|         urlDeleteData = WEBSITE + "/api/v1/app/" + appId + "/entry/" + entryId + "/data_delete"; | ||||
|         urlCreatePerson=WEBSITE+"/api/v2/user/create"; | ||||
|         urlCreateUSer = WEBSITE + "/api/v2/user/create"; | ||||
|         urlCreateDep=WEBSITE+"/api/v2/department/create"; | ||||
|         urlCreateDepAll=WEBSITE+"/api/v2/department/import"; | ||||
|         urlCreatePersonAll=WEBSITE+"/api/v2/user/import"; | ||||
|         urlGetDepartment=WEBSITE+"/api/v2/department/1/department_list"; | ||||
|         urlGetPeople=WEBSITE + "/api/v2/department/1/member_list"; | ||||
|         urlDeletePeople=WEBSITE+"/api/v2/user/batch_delete"; | ||||
|         urlDataBatchCreate=WEBSITE+ "/api/v1/app/" + appId + "/entry/" + entryId + "/data_batch_create"; | ||||
|         urlGetWorkflow=WEBSITE+"/api/v3/workflow/instance/get"; | ||||
|     } | ||||
|  | ||||
|     public static HttpClient getSSLHttpClient() throws Exception { | ||||
|         SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() { | ||||
|             //信任所有 | ||||
|             public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException { | ||||
|                 return true; | ||||
|             } | ||||
|         }).build(); | ||||
|         SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext); | ||||
|         return HttpClients.custom().setSSLSocketFactory(sslsf).build(); | ||||
|     } | ||||
|     /** | ||||
|      * 获取部门成员信息 | ||||
|      * @param - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> deletePeopleBatch(Map<String,Object> map) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlDeletePeople, map); | ||||
|             return result; | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|     public Map<String, Object> urlGetWorkflow(String id) { | ||||
|         Map<String, Object> map=new HashMap<>(); | ||||
|         map.put("instance_id",id); | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlGetWorkflow,map); | ||||
|             System.out.println(result); | ||||
|             return result; | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|     /** | ||||
|      * 获取请求头信息 | ||||
|      * @return | ||||
|      */ | ||||
|     public static Header[] getHttpHeaders() { | ||||
|         List<Header> headerList = new ArrayList<Header>(); | ||||
|         headerList.add(new BasicHeader("Authorization", "Bearer " + apiKey)); | ||||
|         headerList.add(new BasicHeader("Content-Type", "application/json;charset=utf-8")); | ||||
|         return headerList.toArray(new Header[headerList.size()]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 查询人员信息 | ||||
|      * @param username - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> findPerson (String username) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",WEBSITE + "/api/v2/user/"+username+"/user_retrieve", new HashMap<>()); | ||||
|             data = (Map<String, Object>) result.get("data"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|     /** | ||||
|      * 发送HTTP请求 | ||||
|      * @param method - HTTP动词 { GET|POST } | ||||
|      * @param url - 请求路径 | ||||
|      * @param data - 请求的数据 | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public static Object sendRequest (String method, String url, Map<String, Object> data) throws Exception { | ||||
|         try { | ||||
|             HttpClient client = getSSLHttpClient(); | ||||
|             Header[] headers = getHttpHeaders(); | ||||
|             HttpRequestBase request; | ||||
|             method = method.toUpperCase(); | ||||
|             if ("GET".equals(method)) { | ||||
|                 // GET请求 | ||||
|                 URIBuilder uriBuilder = new URIBuilder(url); | ||||
|                 if (data != null) { | ||||
|                     // 添加请求参数 | ||||
|                     for(Map.Entry<String, Object> entry : data.entrySet()) { | ||||
|                         uriBuilder.addParameter(entry.getKey(), (String) entry.getValue()); | ||||
|                     } | ||||
|                 } | ||||
|                 request = new HttpGet(uriBuilder.build()); | ||||
|             } else if ("POST".equals(method)) { | ||||
|                 // POST请求 | ||||
|                 request = new HttpPost(url); | ||||
|                 ObjectMapper mapper = new ObjectMapper(); | ||||
|                 HttpEntity entity = new StringEntity(mapper.writeValueAsString(data), Charsets.UTF_8); | ||||
|                 ((HttpPost) request).setEntity(entity); | ||||
|             } else { | ||||
|                 throw new RuntimeException("不支持的HTTP动词"); | ||||
|             } | ||||
|             // 设置请求头 | ||||
|             request.setHeaders(headers); | ||||
|             // 发送请求并获取返回结果 | ||||
|             HttpResponse response = client.execute(request); | ||||
|             int statusCode = response.getStatusLine().getStatusCode(); | ||||
|             ObjectMapper mapper = new ObjectMapper(); | ||||
|             Map<String, Object> result = (Map<String, Object>) mapper.readValue(response.getEntity().getContent(), Object.class); | ||||
|             if (statusCode >= 400) { | ||||
|                 // 请求错误 | ||||
|                 if ((Integer) result.get("code") == 8303 && retryIfRateLimited) { | ||||
|                     // 频率超限,1s后重试 | ||||
|                     Thread.sleep(1000); | ||||
|                     return sendRequest(method, url, data); | ||||
|                 } else { | ||||
|                     return result; | ||||
|                 } | ||||
|             } else { | ||||
|                 // 处理返回结果 | ||||
|                 return result; | ||||
|             } | ||||
|         }catch (Exception e){ | ||||
|             e.printStackTrace(); | ||||
|             // 请求异常,等等重试 | ||||
|             Thread.sleep(1000); | ||||
|             if (i>=5){ | ||||
|                 i=0; | ||||
|                 return 555; | ||||
|             }else { | ||||
|                 i=i+1; | ||||
|                 return sendRequest(method, url, data); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 获取表单字段 | ||||
|      * @return 表单字段 | ||||
|      */ | ||||
|     public List<Map<String, Object>> getFormWidgets () { | ||||
|         List<Map<String, Object>> widgets = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST", urlGetWidgets, new HashMap<String, Object>()); | ||||
|             widgets = (List<Map<String, Object>>) result.get("widgets"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return widgets; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|     public List<Map<String, Object>> createUser(String username, String name, Integer[] departments){ | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>(); | ||||
|             requestData.put("username",username); | ||||
|             requestData.put("name",name); | ||||
|             requestData.put("departments",departments); | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreateUSer, requestData); | ||||
|             data = (Map<String, Object>) result.get("data"); | ||||
|         }catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return (List<Map<String, Object>>) data; | ||||
|     } | ||||
|     /** | ||||
|      * 按条件获取表单数据 | ||||
|      * @param limit - 数据条数 | ||||
|      * @param fields - 显示的字段 | ||||
|      * @param filter - 过滤条件 | ||||
|      * @param dataId - 上次取数的最后一个数据id | ||||
|      * @return - 返回的数据 | ||||
|      */ | ||||
|     public List<Map<String, Object>> getFormData (final int limit, final String[] fields, final Map<String, Object> filter, String dataId) { | ||||
|         List<Map<String, Object>> data = null; | ||||
|         try { | ||||
|             // 构造请求数据 | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>() { | ||||
|                 { | ||||
|                     put("limit", limit); | ||||
|                     put("fields", fields); | ||||
|                     put("filter", filter); | ||||
|                 } | ||||
|             }; | ||||
|             if (dataId != null) { | ||||
|                 requestData.put("data_id", dataId); | ||||
|             } | ||||
|             Thread.sleep(1000); | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST", urlGetFormData, requestData); | ||||
|             data = (List<Map<String, Object>>) result.get("data"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return data; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 按条件获取全部表单数据 | ||||
|      * @return 表单数据 | ||||
|      */ | ||||
|     public List<Map<String, Object>> getAllFormData (String[] fields, Map<String, Object> filter) { | ||||
|         List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>(); | ||||
|         String offset = null; | ||||
|         do { | ||||
|             List<Map<String, Object>> data = this.getFormData(100, fields, filter, offset); | ||||
|             // 获取返回的数据 | ||||
|             if (data == null || data.isEmpty()) { | ||||
|                 // 已经获取全部的数据 | ||||
|                 offset = null; | ||||
|             } else { | ||||
|                 // 获取最后一条数据的id | ||||
|                 offset = (String) data.get(data.size() - 1).get("_id"); | ||||
|                 dataList.addAll(data); | ||||
|             } | ||||
|         } while (offset != null); | ||||
|         return dataList; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 搜索单条数据 | ||||
|      * @param dataId - 要查询的数据id | ||||
|      * @return 表单数据 | ||||
|      */ | ||||
|     public Map<String, Object> retrieveData (String dataId) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>(); | ||||
|             requestData.put("data_id", dataId); | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST", urlRetrieveData, requestData); | ||||
|             data = (Map<String, Object>) result.get("data"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return data; | ||||
|     } | ||||
|     /** | ||||
|      * 新增部门 | ||||
|      * @param - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> createDataDep (Map<String, Object> requestData) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreateDep, requestData); | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 批量创建部门 | ||||
|      * @param - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> createDataDepAll (Map<String, Object> requestData) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreateDepAll, requestData); | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 批量创建人员 | ||||
|      * @param - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> createDataPersonAll (Map<String, Object> requestData) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreatePersonAll, requestData); | ||||
|             System.out.println(result); | ||||
|             return  result; | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 获取部门信息 | ||||
|      * @param - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> getDepartment() { | ||||
|         Map<String, Object> map=new HashMap<>(); | ||||
|         map.put("has_child",1); | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlGetDepartment,map); | ||||
|             System.out.println(result); | ||||
|             return result; | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 获取部门成员信息 | ||||
|      * @param - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> getDepartmentPerson(String dno) { | ||||
|         Map<String, Object> map=new HashMap<>(); | ||||
| //        map.put("has_child",1); | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",WEBSITE+"/api/v2/department/"+dno+"/member_list",map); | ||||
|             return result; | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|     public Map<String, Object> deleteDepartment(Integer no) { | ||||
|         Map<String, Object> map=new HashMap<>(); | ||||
|         map.put("has_child",1); | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",WEBSITE+"/api/v2/department/"+no+"/delete",new HashMap<>()); | ||||
|             System.out.println(result); | ||||
|             return result; | ||||
| //            data = (Map<String, Object>) result.get("department"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| //    /** | ||||
| //     * 新增部门 | ||||
| //     * @param - 创建数据内容 | ||||
| //     * @return 更新后的数据 | ||||
| //     */ | ||||
| //    public Map<String, Object> createDataDep (Map<String, Object> requestData) { | ||||
| //        Map<String, Object> data = null; | ||||
| //        try { | ||||
| //            Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreateDep, requestData); | ||||
| //            data = (Map<String, Object>) result.get("data"); | ||||
| //        } catch (Exception e) { | ||||
| //            e.printStackTrace(); | ||||
| //        } | ||||
| //        return  data; | ||||
| //    } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 创建单条数据 | ||||
|      * @param rawData - 创建数据内容 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public Map<String, Object> createData (Map<String, Object> rawData) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>(); | ||||
|             requestData.put("data", rawData); | ||||
|             requestData.put("is_start_trigger",true); | ||||
|             requestData.put("is_start_workflow",true); | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlCreateData, requestData); | ||||
|             data = (Map<String, Object>) result.get("data"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 获取所有的人在简道云 | ||||
|      * @return 更新后的数据 | ||||
|      */ | ||||
|     public List<Map<String,Object>> getAllPeople () { | ||||
|         List<Map<String,Object>> data = null; | ||||
|         try { | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>(); | ||||
|             requestData.put("has_child",true); | ||||
| //            System.out.println("准备发起HTTP请求!"+urlGetPeople); | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST",urlGetPeople, requestData); | ||||
|             data = (List<Map<String,Object>>) result.get("users"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return  data; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 更新单条数据 | ||||
|      * @return 更新结果 | ||||
|      */ | ||||
|     public Map<String, Object> updateData (String dataId, Map<String, Object> update) { | ||||
|         Map<String, Object> data = null; | ||||
|         try { | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>(); | ||||
|             requestData.put("data_id", dataId); | ||||
|             requestData.put("data", update); | ||||
|             requestData.put("is_start_trigger",true); | ||||
|             Map<String, Object> result = (Map<String, Object>) this.sendRequest("POST", urlUpdateData, requestData); | ||||
|             data = (Map<String, Object>) result.get("data"); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return data; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 删除单条数据 | ||||
|      * @return 删除结果 | ||||
|      */ | ||||
|     public Map<String, String> deleteData (String dataId) { | ||||
|         Map<String, String> result = null; | ||||
|         try { | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>(); | ||||
|             requestData.put("data_id", dataId); | ||||
|             result = (Map<String, String>) this.sendRequest("POST", urlDeleteData, requestData); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 批量新增数据 | ||||
|      * @return 新增结果 | ||||
|      */ | ||||
|     public Map<String, String> dataBatchCreate (JSONArray data_list,Boolean is_start_workflow) { | ||||
|         Map<String, String> result = null; | ||||
|         try { | ||||
|             UUID uuid = UUID.randomUUID(); | ||||
|             Map<String, Object> requestData = new HashMap<String, Object>(); | ||||
|             requestData.put("transaction_id", uuid.toString()); | ||||
|             requestData.put("data_list", data_list); | ||||
|             requestData.put("is_start_workflow", is_start_workflow); | ||||
|             result = (Map<String, String>) this.sendRequest("POST", urlDataBatchCreate, requestData); | ||||
|             System.out.println(result); | ||||
|             result.put("transaction_id",uuid.toString()); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|  | ||||
| } | ||||
							
								
								
									
										42
									
								
								src/main/java/com/example/sso/util/DataBatchUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/main/java/com/example/sso/util/DataBatchUtil.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| package com.example.sso.util; | ||||
| import com.alibaba.fastjson.JSONArray; | ||||
| import com.alibaba.fastjson.JSONObject; | ||||
|  | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
|  | ||||
| public class DataBatchUtil { | ||||
|     /** | ||||
|      * 批量新增数据 | ||||
|      * @param appId 应用ID | ||||
|      * @param entryId 表单ID | ||||
|      * @param apiKey 秘钥 | ||||
|      * @param datas 原始数据源 | ||||
|      * @param fields 简道云字段别名 | ||||
|      * @param fields_data data里面的字段值key,需要与fields一一对应起来。 | ||||
|      */ | ||||
|     public static Map<String, String> dataBatchCreate(String appId, String entryId, String apiKey, JSONArray datas, JSONArray fields, JSONArray fields_data){ | ||||
|         try { | ||||
|             APIUtils apiUtils=new APIUtils(appId,entryId,apiKey); | ||||
|             JSONArray data_list=new JSONArray();//封装修饰好的数据 | ||||
|             for (Object o1:datas){ | ||||
|                 JSONObject o=(JSONObject)o1; | ||||
|                 Map<String,Object> map1=new HashMap<String,Object>(){ | ||||
|                     { | ||||
|                         for (int i=0;i<fields.size();i++){ | ||||
|                             int finalI = i; | ||||
|                             put(fields.getString(i),new HashMap<String, Object>() {{ put("value",o.get(fields_data.getString(finalI)));}}); | ||||
|                         } | ||||
|                     } | ||||
|                 }; | ||||
|                 data_list.add(map1); | ||||
|             } | ||||
|             return apiUtils.dataBatchCreate(data_list,false); | ||||
|         }catch (Exception e){ | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										216
									
								
								src/main/java/com/example/sso/util/HttpUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										216
									
								
								src/main/java/com/example/sso/util/HttpUtil.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,216 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.security.KeyManagementException; | ||||
| import java.security.NoSuchAlgorithmException; | ||||
| import java.security.cert.CertificateException; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
|  | ||||
| import org.apache.http.Consts; | ||||
| import org.apache.http.HttpEntity; | ||||
| import org.apache.http.NameValuePair; | ||||
| import org.apache.http.client.entity.UrlEncodedFormEntity; | ||||
| 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.config.Registry; | ||||
| import org.apache.http.config.RegistryBuilder; | ||||
| import org.apache.http.conn.socket.ConnectionSocketFactory; | ||||
| import org.apache.http.conn.socket.PlainConnectionSocketFactory; | ||||
| 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.HttpClients; | ||||
| import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; | ||||
| import org.apache.http.message.BasicNameValuePair; | ||||
| import org.apache.http.util.EntityUtils; | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import javax.net.ssl.SSLContext; | ||||
| import javax.net.ssl.TrustManager; | ||||
| import javax.net.ssl.X509TrustManager; | ||||
|  | ||||
| /** * Http工具类,发送Http请求, Get请求请将参数放在url中 Post请求请将参数放在Map中 * * @author 程高伟 * @date 2017年1月5日 下午6:03:50 */ | ||||
| public class HttpUtil { | ||||
|     private static final Logger log = LoggerFactory.getLogger(HttpUtil.class); | ||||
|     private static final CloseableHttpClient httpclient = HttpClients.createDefault(); | ||||
|     private static final String userAgent = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36"; | ||||
|  | ||||
|     public static SSLContext createIgnoreVerifySSL() throws NoSuchAlgorithmException, KeyManagementException { | ||||
|         SSLContext sc = SSLContext.getInstance("SSLv3"); | ||||
|  | ||||
|         // 实现一个X509TrustManager接口,用于绕过验证,不用修改里面的方法 | ||||
|         X509TrustManager trustManager = new X509TrustManager() { | ||||
|             @Override | ||||
|             public void checkClientTrusted( | ||||
|                     java.security.cert.X509Certificate[] paramArrayOfX509Certificate, | ||||
|                     String paramString) throws CertificateException { | ||||
|             } | ||||
|  | ||||
|             @Override | ||||
|             public void checkServerTrusted( | ||||
|                     java.security.cert.X509Certificate[] paramArrayOfX509Certificate, | ||||
|                     String paramString) throws CertificateException { | ||||
|             } | ||||
|  | ||||
|             @Override | ||||
|             public java.security.cert.X509Certificate[] getAcceptedIssuers() { | ||||
|                 return null; | ||||
|             } | ||||
|         }; | ||||
|  | ||||
|         sc.init(null, new TrustManager[] { trustManager }, null); | ||||
|         return sc; | ||||
|     } | ||||
|     /** * 发送HttpGet请求 * * @param url * 请求地址 * @return 返回字符串 */ | ||||
|     public static String sendGet(String url) throws KeyManagementException, NoSuchAlgorithmException { | ||||
|         SSLContext sslcontext = createIgnoreVerifySSL(); | ||||
|  | ||||
|         // 设置协议http和https对应的处理socket链接工厂的对象 | ||||
|         Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create() | ||||
|                 .register("http", PlainConnectionSocketFactory.INSTANCE) | ||||
|                 .register("https", new SSLConnectionSocketFactory(sslcontext)) | ||||
|                 .build(); | ||||
|         PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); | ||||
|         CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build(); | ||||
|         String result = null; | ||||
|         CloseableHttpResponse response = null; | ||||
|         try { | ||||
|             HttpGet httpGet = new HttpGet(url); | ||||
|             httpGet.setHeader("User-Agent", userAgent); | ||||
|             response = httpClient.execute(httpGet); | ||||
|             HttpEntity entity = response.getEntity(); | ||||
|             if (entity != null) { | ||||
|                 result = EntityUtils.toString(entity,"UTF-8"); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             log.error("处理失败 {}" + e); | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             if (response != null) { | ||||
|                 try { | ||||
|                     response.close(); | ||||
|                 } catch (IOException e) { | ||||
|                     log.error(e.getMessage()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     /** * 发送HttpPost请求,参数为map * * @param url * 请求地址 * @param map * 请求参数 * @return 返回字符串 */ | ||||
|     public static String sendPost(String url, Map<String, String> map) { | ||||
|         // 设置参数 | ||||
|         List<NameValuePair> formparams = new ArrayList<NameValuePair>(); | ||||
|         for (Map.Entry<String, String> entry : map.entrySet()) { | ||||
|             formparams.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); | ||||
|         } | ||||
|         // 编码 | ||||
|         UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(formparams, Consts.UTF_8); | ||||
|         // 取得HttpPost对象 | ||||
|         HttpPost httpPost = new HttpPost(url); | ||||
|         // 防止被当成攻击添加的 | ||||
|         httpPost.setHeader("User-Agent", userAgent); | ||||
|         // 参数放入Entity | ||||
|         httpPost.setEntity(formEntity); | ||||
|         CloseableHttpResponse response = null; | ||||
|         String result = null; | ||||
|         try { | ||||
|             // 执行post请求 | ||||
|             response = httpclient.execute(httpPost); | ||||
|             // 得到entity | ||||
|             HttpEntity entity = response.getEntity(); | ||||
|             // 得到字符串 | ||||
|             result = EntityUtils.toString(entity); | ||||
|         } catch (IOException e) { | ||||
|             log.error(e.getMessage()); | ||||
|         } finally { | ||||
|             if (response != null) { | ||||
|                 try { | ||||
|                     response.close(); | ||||
|                 } catch (IOException e) { | ||||
|                     log.error(e.getMessage()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** * 发送HttpPost请求,参数为json字符串 * * @param url * @param jsonStr * @return */ | ||||
|     public static String sendPost(String url, String jsonStr,String appkey) throws KeyManagementException, NoSuchAlgorithmException { | ||||
|         //采用绕过验证的方式处理https请求 | ||||
|         SSLContext sslcontext = createIgnoreVerifySSL(); | ||||
|  | ||||
|         // 设置协议http和https对应的处理socket链接工厂的对象 | ||||
|         Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create() | ||||
|                 .register("http", PlainConnectionSocketFactory.INSTANCE) | ||||
|                 .register("https", new SSLConnectionSocketFactory(sslcontext)) | ||||
|                 .build(); | ||||
|         PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); | ||||
|         CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build(); | ||||
|         String result = null; | ||||
|         // 字符串编码 | ||||
|         StringEntity entity = new StringEntity(jsonStr, Consts.UTF_8); | ||||
|         // 设置content-type | ||||
|         entity.setContentType("application/json"); | ||||
|         HttpPost httpPost = new HttpPost(url); | ||||
|         // 防止被当成攻击添加的 | ||||
|         httpPost.setHeader("User-Agent", userAgent); | ||||
|         httpPost.setHeader("Authorization", "Bearer "+appkey); | ||||
|         // 接收参数设置 | ||||
|         httpPost.setHeader("Accept", "application/json"); | ||||
|         httpPost.setEntity(entity); | ||||
|         CloseableHttpResponse response = null; | ||||
|         try { | ||||
|             response = httpClient.execute(httpPost); | ||||
|             HttpEntity httpEntity = response.getEntity(); | ||||
|             result = EntityUtils.toString(httpEntity); | ||||
|         } catch (IOException e) { | ||||
|             log.error(e.getMessage()); | ||||
|         } finally { | ||||
|             // 关闭CloseableHttpResponse | ||||
|             if (response != null) { | ||||
|                 try { | ||||
|                     response.close(); | ||||
|                 } catch (IOException e) { | ||||
|                     response.getEntity() ; | ||||
|                     log.error(e.getMessage()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     /** * 发送不带参数的HttpPost请求 * * @param url * @return */ | ||||
|     public static String sendPost(String url) { | ||||
|         String result = null; | ||||
|         // 得到一个HttpPost对象 | ||||
|         HttpPost httpPost = new HttpPost(url); | ||||
|         // 防止被当成攻击添加的 | ||||
|         httpPost.setHeader("User-Agent", userAgent); | ||||
|         CloseableHttpResponse response = null; | ||||
|         try { | ||||
|             // 执行HttpPost请求,并得到一个CloseableHttpResponse | ||||
|             response = httpclient.execute(httpPost); | ||||
|             // 从CloseableHttpResponse中拿到HttpEntity | ||||
|             HttpEntity entity = response.getEntity(); | ||||
|             // 将HttpEntity转换为字符串 | ||||
|             result = EntityUtils.toString(entity); | ||||
|         } catch (IOException e) { | ||||
|             log.error(e.getMessage()); | ||||
|         } finally { | ||||
|             // 关闭CloseableHttpResponse | ||||
|             if (response != null) { | ||||
|                 try { | ||||
|                     response.close(); | ||||
|                 } catch (IOException e) { | ||||
|                     log.error(e.getMessage()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										41
									
								
								src/main/java/com/example/sso/util/JedisUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								src/main/java/com/example/sso/util/JedisUtil.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import redis.clients.jedis.Jedis; | ||||
|  | ||||
| public class JedisUtil { | ||||
|     private static final String HOST = "154.8.146.52"; | ||||
|     private static final int PORT = 6379; | ||||
|  | ||||
|     // 获取Jedis连接 | ||||
|     public static Jedis getJedisClient() { | ||||
|         return new Jedis(HOST, PORT); | ||||
|     } | ||||
|  | ||||
|     // 设置键值对 | ||||
|     public static void set(String key, String value) { | ||||
|         try (Jedis jedis = getJedisClient()) { | ||||
|             jedis.set(key, value); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // 获取值 | ||||
|     public static String get(String key) { | ||||
|         try (Jedis jedis = getJedisClient()) { | ||||
|             return jedis.get(key); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // 删除键 | ||||
|     public static void del(String key) { | ||||
|         try (Jedis jedis = getJedisClient()) { | ||||
|             jedis.del(key); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // 设置过期时间 | ||||
|     public static void expire(String key, int seconds) { | ||||
|         try (Jedis jedis = getJedisClient()) { | ||||
|             jedis.expire(key, seconds); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										31
									
								
								src/main/java/com/example/sso/util/MathUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/main/java/com/example/sso/util/MathUtil.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import java.text.DecimalFormat; | ||||
|  | ||||
| public class MathUtil { | ||||
|  | ||||
|     public static void main(String[] args) { | ||||
|         System.out.println(Double.valueOf(formatDouble5(111.159099))); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 保留两位小数,四舍五入的一个老土的方法 | ||||
|      * @param d | ||||
|      * @return | ||||
|      */ | ||||
|     public static double formatDouble1(double d) { | ||||
|         return (double)Math.round(d*100)/100; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 如果只是用于程序中的格式化数值然后输出,那么这个方法还是挺方便的。 | ||||
|      * 应该是这样使用:System.out.println(String.format("%.2f", d)); | ||||
|      * @param d | ||||
|      * @return | ||||
|      */ | ||||
|     public static Double formatDouble5(double d) { | ||||
|         return Double.valueOf(String.format("%.2f", d)); | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										19
									
								
								src/main/java/com/example/sso/util/StringUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/main/java/com/example/sso/util/StringUtil.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import java.util.regex.Matcher; | ||||
| import java.util.regex.Pattern; | ||||
|  | ||||
| public class StringUtil { | ||||
|     /** | ||||
|      * 判断是否包含特殊字段 | ||||
|      * | ||||
|      * @param username | ||||
|      * @return | ||||
|      */ | ||||
|     public static Boolean isContainSpecialChar(String username) { | ||||
|         String regEx = "^[0-9a-zA-Z_]{1,}$"; | ||||
|         Pattern p = Pattern.compile(regEx); | ||||
|         Matcher m = p.matcher(username); | ||||
|         return m.find(); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										115
									
								
								src/main/java/com/example/sso/util/Test.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								src/main/java/com/example/sso/util/Test.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,115 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import com.alibaba.fastjson.JSONArray; | ||||
| import com.alibaba.fastjson.JSONObject; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
|  | ||||
| public class Test { | ||||
|     public static void main(String[] args) { | ||||
|         selectGongBiaoZhun(); | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|     public static JSONArray selectGongBiaoZhun() { | ||||
|         //需要修改 appid entryid apikey | ||||
|         APIUtils api = new APIUtils("628eeaace7f28c00089a60cc","62f0f3754af59a0007691522","AXtEol6d7l0w2l5dUuqvhbg2kjzfYv6r"); | ||||
|         final List<Map<String, Object>> condList = new ArrayList<Map<String, Object>>(); | ||||
|         //因为想查询大于50的数据,所以创建一个数组 | ||||
|         JSONArray jsonArray = new JSONArray(); | ||||
|         //在这个数组里面放一个数值类型的数字,用来判断查询范围 | ||||
|         jsonArray.add(""); | ||||
|         condList.add(new HashMap<String, Object>() { | ||||
|             { | ||||
|                 put("field", "chufa");//查新字段的名称/别名 | ||||
|                 put("method", "empty");//判断的方法 | ||||
| //                put("value", jsonArray);//查询的条件 | ||||
|             } | ||||
|         }); | ||||
|         Map<String, Object> filter = new HashMap<String, Object>() { | ||||
|             { | ||||
|                 put("rel", "and"); | ||||
|                 put("cond", condList); | ||||
|             } | ||||
|         }; | ||||
|         //字段别名 | ||||
|         List<Map<String, Object>> datas = api.getFormData(10000, new String[]{"chufa"},//身份证,公司,姓名,岗位补贴,燃油补贴,临时补贴,其他补贴 | ||||
|                 filter, null); | ||||
|         if (datas == null) { | ||||
|             return null; | ||||
|         } | ||||
|         if (datas.size() == 0) { | ||||
|             return null; | ||||
|         } | ||||
|         for (Map<String,Object> map:datas){ | ||||
|             String id=(String)map.get("_id"); | ||||
|             updateFlowId(id); | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 更新客户报备数据 | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public static void updateFlowId(String id) { | ||||
|         try { | ||||
|             APIUtils api = new APIUtils("628eeaace7f28c00089a60cc","62f0f3754af59a0007691522","AXtEol6d7l0w2l5dUuqvhbg2kjzfYv6r"); | ||||
|             Map<String,Object> map1; | ||||
|             map1=new HashMap<String,Object>(){ | ||||
|                 { | ||||
|                     put("chufa",new HashMap<String, Object>() {{ put("value","1");}}); | ||||
|                 } | ||||
|             }; | ||||
|             //把封装好的数据创建至简道云 | ||||
|             api.updateData(id,map1); | ||||
|         }catch (Exception e){ | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static JSONObject selectGongBiao() { | ||||
|         //需要修改 appid entryid apikey | ||||
|         APIUtils api = new APIUtils("628eeaace7f28c00089a60cc","62ef5405e022900008e9c7b5","AXtEol6d7l0w2l5dUuqvhbg2kjzfYv6r"); | ||||
|         final List<Map<String, Object>> condList = new ArrayList<Map<String, Object>>(); | ||||
|         //因为想查询大于50的数据,所以创建一个数组 | ||||
|         JSONArray jsonArray = new JSONArray(); | ||||
|         //在这个数组里面放一个数值类型的数字,用来判断查询范围 | ||||
|         jsonArray.add(""); | ||||
|         condList.add(new HashMap<String, Object>() { | ||||
|             { | ||||
|                 put("field", "fensi");//查新字段的名称/别名 | ||||
|                 put("method", "not_empty");//判断的方法 | ||||
| //                put("value", jsonArray);//查询的条件 | ||||
|             } | ||||
|         }); | ||||
|         Map<String, Object> filter = new HashMap<String, Object>() { | ||||
|             { | ||||
|                 put("rel", "and"); | ||||
|                 put("cond", condList); | ||||
|             } | ||||
|         }; | ||||
|         //字段别名 | ||||
|         List<Map<String, Object>> datas = api.getFormData(10000, new String[]{"id_card","gongsi","name","gangweibutie","ranliaobutie", | ||||
|                         "linshibutie","zhengfubutie","fensi","haopaihaoma","qita"},//身份证,公司,姓名,岗位补贴,燃油补贴,临时补贴,其他补贴 | ||||
|                 filter, null); | ||||
|         if (datas == null) { | ||||
|             return null; | ||||
|         } | ||||
|         if (datas.size() == 0) { | ||||
|             return null; | ||||
|         } | ||||
|         JSONObject jsonObject=new JSONObject(); | ||||
|         for (Map<String,Object> map:datas){ | ||||
|             String id=(String)map.get("id_card"); | ||||
|             String fensi=(String)map.get("fensi"); | ||||
|             jsonObject.put(id,fensi); | ||||
|         } | ||||
|         return jsonObject; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										336
									
								
								src/main/java/com/example/sso/util/TimeUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										336
									
								
								src/main/java/com/example/sso/util/TimeUtil.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,336 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import java.text.DecimalFormat; | ||||
| import java.text.ParseException; | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.ZoneId; | ||||
| import java.time.format.DateTimeFormatter; | ||||
| import java.util.Calendar; | ||||
| import java.util.Date; | ||||
| import java.util.Locale; | ||||
|  | ||||
| public class TimeUtil { | ||||
|     /** | ||||
|      * 由于时区的原因,调整时区 | ||||
|      * @return | ||||
|      */ | ||||
|  | ||||
|     public static String today(){ | ||||
|         Date date = new Date(); | ||||
|         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||||
|         String today = sdf.format(date); | ||||
|         return today; | ||||
|     } | ||||
|  | ||||
|     public static String yue(){ | ||||
|         LocalDateTime currentDateTime = LocalDateTime.now(); // 获取当前日期和时间 | ||||
|  | ||||
|         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); | ||||
|         String formattedDateTime = currentDateTime.format(formatter); // 格式化当前日期和时间 | ||||
|         String substring = formattedDateTime.substring(0, 7); | ||||
|         return  substring; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 获取startDate日期后month月的日期 | ||||
|      * @param startDate 开始日期 | ||||
|      * @return | ||||
|      */ | ||||
|     public static String getMonthDate(Date startDate){ | ||||
|         LocalDateTime localDateTime = startDate.toInstant() | ||||
|                 .atZone(ZoneId.systemDefault() ) | ||||
|                 .toLocalDateTime().plusMonths(1); | ||||
|         Date date = Date.from(localDateTime.atZone( ZoneId.systemDefault()).toInstant()); | ||||
|         SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM"); | ||||
|         return dateFormat.format(date); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static int getAllMonthDays() { | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         calendar.setTime(new Date()); | ||||
|         int amount=calendar.getActualMaximum(Calendar.DAY_OF_MONTH); | ||||
|         return amount; | ||||
|     } | ||||
|     public static int getAllMonthDays1() { | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         calendar.setTime(getLastMonth1()); | ||||
|         int amount=calendar.getActualMaximum(Calendar.DAY_OF_MONTH); | ||||
|         return amount; | ||||
|     } | ||||
|  | ||||
|     public static int getRi(Date date) { | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         calendar.setTime(date); | ||||
|         int yunyun=calendar.get(Calendar.DAY_OF_MONTH);//营运日期日子 | ||||
|         int zonge=getAllMonthDays1(); | ||||
|         return zonge-yunyun; | ||||
|     } | ||||
|     public static int getDaysOfMonth() { | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         calendar.setTime(new Date()); | ||||
|         Integer dayOfMonth = Calendar.getInstance().get(Calendar.DAY_OF_MONTH); | ||||
|         int amount=calendar.getActualMaximum(Calendar.DAY_OF_MONTH); | ||||
| //        System.out.println("今天是"+dayOfMonth+"号"); | ||||
|         return amount-dayOfMonth; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 获取startDate日期后month月的日期 | ||||
|      * @param startDate 开始日期 | ||||
|      * @return | ||||
|      */ | ||||
|     public static String getMonthDateLast(Date startDate){ | ||||
|         LocalDateTime localDateTime = startDate.toInstant() | ||||
|                 .atZone(ZoneId.systemDefault() ) | ||||
|                 .toLocalDateTime().plusMonths(-1); | ||||
|         Date date = Date.from(localDateTime.atZone( ZoneId.systemDefault()).toInstant()); | ||||
|         SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM"); | ||||
|         return dateFormat.format(date); | ||||
|     } | ||||
|     /** | ||||
|      * 由于时区的原因,调整时区 | ||||
|      * @return | ||||
|      */ | ||||
|     public static String timeConversion_90(){ | ||||
|         SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US); | ||||
|         SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|         try { | ||||
|             Calendar calendar=Calendar.getInstance(); | ||||
|             calendar.setTime(new Date()); | ||||
|             calendar.add(Calendar.DAY_OF_MONTH, 90);// before 8 hour | ||||
|             return df.format(calendar.getTime()); | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return ""; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|     public static void main(String[] args) { | ||||
| //        System.out.println(getDaysOfMonth(new Date())); | ||||
|     } | ||||
|     /** | ||||
|      * 获取上月日期数据 | ||||
|      * @return | ||||
|      */ | ||||
|     public static String getLastMonth(){ | ||||
|         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); | ||||
|         Date date = new Date(); | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         // 设置为当前时间 | ||||
|         calendar.setTime(date); | ||||
|         calendar.add(Calendar.MONTH,-1); | ||||
|         // 设置为上一个月 | ||||
|         //calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); | ||||
|         date = calendar.getTime(); | ||||
|         return format.format(date); | ||||
|     } | ||||
|     /** | ||||
|      * 获取上月日期数据 | ||||
|      * @return | ||||
|      */ | ||||
|     public static Date getLastDay() throws ParseException { | ||||
|         Date date = new Date(); | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         // 设置为当前时间 | ||||
|         calendar.setTime(date); | ||||
|         calendar.add(Calendar.DAY_OF_MONTH,-1); | ||||
|         // 设置为上一个月 | ||||
|         //calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); | ||||
|         date = calendar.getTime(); | ||||
|         SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd"); | ||||
|         return dateFormat.parse(dateFormat.format(date)); | ||||
|     } | ||||
|     /** | ||||
|      * 获取上月日期数据 | ||||
|      * @return | ||||
|      */ | ||||
|     public static Date getLastMonth1(){ | ||||
|         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); | ||||
|         Date date = new Date(); | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         // 设置为当前时间 | ||||
|         calendar.setTime(date); | ||||
|         calendar.add(Calendar.MONTH,-1); | ||||
|         // 设置为上一个月 | ||||
|         //calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); | ||||
|         date = calendar.getTime(); | ||||
|         return date; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String YESDAY() { | ||||
|         Date yesterday = getYesterday(); | ||||
|         String formattedDate = formatDate(yesterday); | ||||
|         return formattedDate; | ||||
|     } | ||||
|  | ||||
|     private static Date getYesterday() { | ||||
|         Calendar cal = Calendar.getInstance(); | ||||
|         cal.add(Calendar.DATE, -1); // 将日期往前推一天 | ||||
|         return cal.getTime(); | ||||
|     } | ||||
|  | ||||
|     private static String formatDate(Date date) { | ||||
|         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); | ||||
|         return formatter.format(date); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String frontDAY(){ | ||||
|         Date currentDate = new Date(); | ||||
|  | ||||
|         // 创建一个Calendar实例,并将其设置为当前日期 | ||||
|         Calendar calendar = Calendar.getInstance(); | ||||
|         calendar.setTime(currentDate); | ||||
|  | ||||
|         // 获取前天日期 | ||||
|         calendar.add(Calendar.DAY_OF_YEAR, -2); | ||||
|         Date beforeYesterday = calendar.getTime(); | ||||
|  | ||||
|         // 定义日期格式化器 | ||||
|         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); | ||||
|  | ||||
|         // 格式化前天日期 | ||||
|         String formattedDate = formatter.format(beforeYesterday); | ||||
|         return formattedDate; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String Thirtydaysago(){ | ||||
|         Calendar cal = Calendar.getInstance(); | ||||
|  | ||||
|         // 将时间设置为前30天 | ||||
|         cal.add(Calendar.DAY_OF_MONTH, -30); | ||||
|  | ||||
|         // 将时分秒设置为0 | ||||
|         cal.set(Calendar.HOUR_OF_DAY, 0); | ||||
|         cal.set(Calendar.MINUTE, 0); | ||||
|         cal.set(Calendar.SECOND, 0); | ||||
|         cal.set(Calendar.MILLISECOND, 0); | ||||
|  | ||||
|         // 格式化输出 | ||||
|         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|         String result = sdf.format(cal.getTime()); | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String Sixtydaysago(){ | ||||
|         // 获取当前时间 | ||||
|         Calendar currentTime = Calendar.getInstance(); | ||||
|  | ||||
|         // 获取前60天的时间 | ||||
|         Calendar pastTime = Calendar.getInstance(); | ||||
|         pastTime.add(Calendar.DAY_OF_MONTH, -60); | ||||
|  | ||||
|         // 将时间设为0点0分0秒 | ||||
|         pastTime.set(Calendar.HOUR_OF_DAY, 0); | ||||
|         pastTime.set(Calendar.MINUTE, 0); | ||||
|         pastTime.set(Calendar.SECOND, 0); | ||||
|         pastTime.set(Calendar.MILLISECOND, 0); | ||||
|  | ||||
|         // 定义日期时间格式 | ||||
|         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|  | ||||
|         // 格式化输出 | ||||
|         String formattedPastTime = formatter.format(pastTime.getTime()); | ||||
|         return formattedPastTime; | ||||
|     } | ||||
|  | ||||
|     public static String threetydaysago(){ | ||||
|         // 获取当前时间 | ||||
|         Calendar currentTime = Calendar.getInstance(); | ||||
|  | ||||
|         // 获取前60天的时间 | ||||
|         Calendar pastTime = Calendar.getInstance(); | ||||
|         pastTime.add(Calendar.DAY_OF_MONTH, -31); | ||||
|  | ||||
|         // 将时间设为0点0分0秒 | ||||
|         pastTime.set(Calendar.HOUR_OF_DAY, 23); | ||||
|         pastTime.set(Calendar.MINUTE, 59); | ||||
|         pastTime.set(Calendar.SECOND, 59); | ||||
|         pastTime.set(Calendar.MILLISECOND, 0); | ||||
|  | ||||
|         // 定义日期时间格式 | ||||
|         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|  | ||||
|         // 格式化输出 | ||||
|         String formattedPastTime = formatter.format(pastTime.getTime()); | ||||
|         return formattedPastTime; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String nowdaysago(){ | ||||
|  | ||||
|  | ||||
|         Calendar cal = Calendar.getInstance(); | ||||
|  | ||||
|         // 将时间设置为昨天 | ||||
|         cal.add(Calendar.DAY_OF_MONTH, -1); | ||||
|  | ||||
|         // 将时分秒设置为23:59:59 | ||||
|         cal.set(Calendar.HOUR_OF_DAY, 23); | ||||
|         cal.set(Calendar.MINUTE, 59); | ||||
|         cal.set(Calendar.SECOND, 59); | ||||
|  | ||||
|         // 格式化输出 | ||||
|         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|         String result = sdf.format(cal.getTime()); | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     public static String ninestart(){ | ||||
|  | ||||
|  | ||||
|         // 获取当前时间 | ||||
|         Calendar currentTime = Calendar.getInstance(); | ||||
|  | ||||
|         // 获取前60天的时间 | ||||
|         Calendar pastTime = Calendar.getInstance(); | ||||
|         pastTime.add(Calendar.DAY_OF_MONTH, -91); | ||||
|  | ||||
|         // 将时间设为0点0分0秒 | ||||
|         pastTime.set(Calendar.HOUR_OF_DAY, 0); | ||||
|         pastTime.set(Calendar.MINUTE, 0); | ||||
|         pastTime.set(Calendar.SECOND, 0); | ||||
|         pastTime.set(Calendar.MILLISECOND, 0); | ||||
|  | ||||
|         // 定义日期时间格式 | ||||
|         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|  | ||||
|         // 格式化输出 | ||||
|         String formattedPastTime = formatter.format(pastTime.getTime()); | ||||
|         return formattedPastTime; | ||||
|     } | ||||
|  | ||||
|     public static String nineend(){ | ||||
|  | ||||
|  | ||||
|         Calendar currentTime = Calendar.getInstance(); | ||||
|  | ||||
|         // 获取前60天的时间 | ||||
|         Calendar pastTime = Calendar.getInstance(); | ||||
|         pastTime.add(Calendar.DAY_OF_MONTH, -60); | ||||
|  | ||||
|         // 将时间设为0点0分0秒 | ||||
|         pastTime.set(Calendar.HOUR_OF_DAY, 23); | ||||
|         pastTime.set(Calendar.MINUTE, 59); | ||||
|         pastTime.set(Calendar.SECOND, 59); | ||||
|         pastTime.set(Calendar.MILLISECOND, 0); | ||||
|  | ||||
|         // 定义日期时间格式 | ||||
|         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||||
|  | ||||
|         // 格式化输出 | ||||
|         String formattedPastTime = formatter.format(pastTime.getTime()); | ||||
|         return formattedPastTime; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
							
								
								
									
										190
									
								
								src/main/java/com/example/sso/util/V5utils.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										190
									
								
								src/main/java/com/example/sso/util/V5utils.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,190 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import org.apache.http.HttpEntity; | ||||
| import org.apache.http.client.methods.CloseableHttpResponse; | ||||
| import org.apache.http.client.methods.HttpPost; | ||||
| import org.apache.http.entity.ContentType; | ||||
| import org.apache.http.entity.StringEntity; | ||||
| import org.apache.http.impl.client.CloseableHttpClient; | ||||
| import org.apache.http.impl.client.HttpClients; | ||||
| import org.apache.http.util.EntityUtils; | ||||
|  | ||||
| public class V5utils { | ||||
|     /* | ||||
|     查询多条数据 | ||||
|      */ | ||||
|     public static String list(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/list"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json"); | ||||
|             httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String delete(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/delete"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json"); | ||||
|             httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|     //新增 | ||||
|     public static String add(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/create"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json"); | ||||
|             httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String updata(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://www.jiyuankeshang.com/api/v5/app/entry/data/update"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json"); | ||||
|             httpPost.setHeader("Authorization", "Bearer " + "BkIyzlh1onqnqu9cQ3ralDQBjECn97ex"); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										652
									
								
								src/main/java/com/example/sso/util/YunUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										652
									
								
								src/main/java/com/example/sso/util/YunUtil.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,652 @@ | ||||
| package com.example.sso.util; | ||||
|  | ||||
| import com.alibaba.fastjson.JSON; | ||||
| import com.alibaba.fastjson.JSONObject; | ||||
| import org.apache.http.HttpEntity; | ||||
| import org.apache.http.client.methods.CloseableHttpResponse; | ||||
| import org.apache.http.client.methods.HttpPost; | ||||
| import org.apache.http.entity.ContentType; | ||||
| import org.apache.http.entity.StringEntity; | ||||
| import org.apache.http.impl.client.CloseableHttpClient; | ||||
| import org.apache.http.impl.client.HttpClients; | ||||
| import org.apache.http.util.EntityUtils; | ||||
| import org.springframework.util.StringUtils; | ||||
|  | ||||
| public class YunUtil { | ||||
|  | ||||
|     public static String token(){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/token?appId=ml8bfwvx02g&appSecret=MTRjZTBiYTU4YWQ1"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             // 设置请求头 | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         JSONObject jsonObject = JSON.parseObject(responseBody); | ||||
|         String string = jsonObject.getString("accessToken"); | ||||
|  | ||||
|         return string; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|     public static String tokens(){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/token?appId=ml8bfwvx02g&appSecret=MTRjZTBiYTU4YWQ1"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             // 设置请求头 | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         JSONObject jsonObject = JSON.parseObject(responseBody); | ||||
|         String string = jsonObject.getString("accessToken"); | ||||
|  | ||||
|         return string; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|     public static String tongbu(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/udp/public/users/sync/batch"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = token(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String tongbu1(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/udp/public/users/recoversync"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = JedisUtil.get("token"); | ||||
|             if (StringUtils.isEmpty(token)){ | ||||
|                 token = token(); | ||||
|                 JedisUtil.set("token",token); | ||||
|                 JedisUtil.expire("token",60*60); | ||||
|  | ||||
|             } | ||||
|  | ||||
|  | ||||
|  | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String erro(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/udp/public/commons/history/search"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = token(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String bumen(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/udp/public/depts/sync"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = token(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
|     public static String alluser(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/o2o/project/student/sync/all"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public static String project(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/o2o/project/sync/all"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|     public static String addresult(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/o2o/project/student/sync/incr"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|     public static String dept(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/dept/sync/all"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|     public static String userall(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/user/sync/all"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|     public static String useradd(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/user/sync/incr"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|     public static String kngall(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/kng/sync/all"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
|     public static String kngadd(String jsonBody){ | ||||
|         CloseableHttpClient httpClient = HttpClients.createDefault(); | ||||
|  | ||||
|         // 创建 POST 请求对象 | ||||
|         HttpPost httpPost = new HttpPost("https://openapi.yunxuetang.cn/v1/rpt2open/public/kng/sync/incr"); | ||||
|  | ||||
|         String responseBody = null; | ||||
|         try { | ||||
|             String token = tokens(); | ||||
|             // 设置请求头 | ||||
|             httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); | ||||
|             httpPost.setHeader("Authorization", token); | ||||
|  | ||||
|  | ||||
|             StringEntity entity = new StringEntity(jsonBody, ContentType.APPLICATION_JSON); | ||||
|             httpPost.setEntity(entity); | ||||
|  | ||||
|             // 执行请求,获取响应对象 | ||||
|             CloseableHttpResponse response = httpClient.execute(httpPost); | ||||
|  | ||||
|             try { | ||||
|                 // 从响应对象中获取响应实体 | ||||
|                 HttpEntity responseEntity = response.getEntity(); | ||||
|  | ||||
|                 // 处理响应数据 | ||||
|                 responseBody = EntityUtils.toString(responseEntity); | ||||
|                 System.out.println(responseBody); | ||||
|             } finally { | ||||
|                 // 关闭响应对象 | ||||
|                 response.close(); | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             e.printStackTrace(); | ||||
|         } finally { | ||||
|             try { | ||||
|                 // 关闭 HttpClient | ||||
|                 httpClient.close(); | ||||
|             } catch (Exception e) { | ||||
|                 e.printStackTrace(); | ||||
|             } | ||||
|         } | ||||
|         return responseBody; | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 lijiazhuo
					lijiazhuo