From 972bf0eac06314ff10876dba7766c369ebf6ab7e Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期一, 03 六月 2024 18:09:18 +0800
Subject: [PATCH] 代码提交

---
 src/main/java/com/example/utils/DictionaryUtil.java |  419 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 342 insertions(+), 77 deletions(-)

diff --git a/src/main/java/com/example/utils/DictionaryUtil.java b/src/main/java/com/example/utils/DictionaryUtil.java
index 363c9f1..08cd5c7 100644
--- a/src/main/java/com/example/utils/DictionaryUtil.java
+++ b/src/main/java/com/example/utils/DictionaryUtil.java
@@ -1,23 +1,19 @@
 package com.example.utils;
 
-import cn.hutool.core.util.RandomUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
+import java.io.*;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.sql.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.Date;
 
 /**
  * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
@@ -25,81 +21,293 @@
  * @Date: 2024/5/21 16:41
  */
 public class DictionaryUtil {
+    private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties";
     private static final Logger log = LoggerFactory.getLogger(DictionaryUtil.class);
-    private static final String BASE_API_URL = "https://mock.mengxuegu.com/mock/664d3dbce45d2156fa209c80/example/api/His/HisRequest";
+    private static String BASE_API_URL = "";
+    // 璇锋眰浠g爜鎬婚泦鍚�
     private static List<String> methods = new ArrayList<>();
-    private static final String url = "jdbc:mysql://localhost:3306/test_urlreq";
-    private static final String user = "root";
-    private static final String password = "Root_ltkj123";
+//    private static final String url = "jdbc:mysql://localhost:3306/test_urlreq";
+//    private static final String user = "root";
+//    private static final String password = "Root_ltkj123";
+    // 闇�瑕佸垎椤电殑浠g爜闆嗗悎
+    private static List<String> limits = new ArrayList<>();
 
+    /**
+     * 鏆傛椂涓嶅仛
+     * 1.18 璁¤垂鏄庣粏椤圭洰 MXJFXMZD
+     * 1.90 闂ㄨ瘖鏄庣粏璁¤垂鍙婄粍鍚堣璐归」鐩� MZJFZHMXXM
+     *
+     */
+
+// 鍒嗛〉姣忔1000鏉�
     static {
         methods.add("JGDM");
-//        methods.add("ZDZYZ");
+        methods.add("ZDZYZ");
+//        methods.add("YQZD");
+//        methods.add("KSFLZD");
+//        methods.add("BQZD");
+//        methods.add("ZKKSZD");
+//        methods.add("KSZD");
+//        methods.add("YWCKZD");
+//        methods.add("GHZLZD");
+//        methods.add("YHZD");
+//        methods.add("XYZDZD");
+//        methods.add("ZYZDZD");
+//        methods.add("SSZD");
+        methods.add("ZLXTXZD");
+//        methods.add("ZYZZZFZD");
+//        methods.add("YJJFXMZD");
+//        methods.add("EJJFXMZD");
+//        methods.add("ZHFLXMZD");
+//        methods.add("JFZHXMZD");
+//        methods.add("JFZHGLMXJFXMZD");
+//        methods.add("CFLXZD");
+//        methods.add("YPZLZD");
+//        methods.add("YPJXZD");
+//        methods.add("YPGXZD");
+//        methods.add("YPLXZD");
+//        methods.add("JLDWZD");
+//        methods.add("YFZD");
+//        methods.add("YPZD");
+//        methods.add("JYKSZD");
+//        methods.add("JYYSZD");
+//        methods.add("JYFZZD");
+//        methods.add("JYFLZD");
+//        methods.add("JYFFZD");
+//        methods.add("JYBBZD");
+//        methods.add("JYXMZD");
+//        methods.add("JYZBZD");
+//        methods.add("JYXMZBZD");
+//        methods.add("JFXMGLJYXMZD");
+//        methods.add("JFZHGLJYXMZD");
+//        methods.add("JCSBZD");
+//        methods.add("JCBWFLZD");
+//        methods.add("JCBWZD");
+//        methods.add("JCBWMSZD");
+        methods.add("JFXMGLJCBWZD");
+//        methods.add("JFZHXMGLJCBWZD");
+//
+//        methods.add("TJDWXZZD");
+//        methods.add("TJRYLBZD");
+//        methods.add("TJLBZD");
+//        methods.add("TJFQZD");
+//        methods.add("TJKSZD");
+//        methods.add("TJYSZD");
+//        methods.add("TJXMZD");
+//        methods.add("TJZHXMZD");
+//        methods.add("TJZHGLMXZD");
+//        methods.add("TJTCZD");
+//        methods.add("TJTCGLTJZHZD");
+//
+//        methods.add("HTDWZD");
+//        methods.add("ZFLXZD");
+//        methods.add("MZJCJYSQD");
+//        methods.add("MZJCJYSQXMFL");
+//        methods.add("MZJCJYSQDDYXM");
+//        methods.add("BRFB");
+
+        limits.add("ZDZYZ");
+        limits.add("KSZD");
+        limits.add("YHZD");
+        limits.add("XYZDZD");
+        limits.add("ZYZDZD");
+        limits.add("SSZD");
+        limits.add("ZLXTXZD");
+        limits.add("ZYZZZFZD");
+        limits.add("JFZHGLMXJFXMZD");
+        limits.add("YPZD");
+        limits.add("JYKSZD");
+        limits.add("JYYSZD");
+        limits.add("JYXMZD");
+        limits.add("JYZBZD");
+        limits.add("JYXMZBZD");
+        limits.add("JFXMGLJYXMZD");
+        limits.add("JFZHGLJYXMZD");
+        limits.add("JFXMGLJCBWZD");
+        limits.add("TJKSZD");
+        limits.add("TJYSZD");
+        limits.add("TJXMZD");
+        limits.add("TJZHXMZD");
+        limits.add("TJZHGLMXZD");
+        limits.add("TJTCZD");
+        limits.add("TJTCGLTJZHZD");
     }
 
     public static void main(String[] args) {
         DictionaryUtil util = new DictionaryUtil();
-        util.exec();
+//        String json = "{\"Response\":{\"ResultCode\":\"0\",\"ResultContent\":\"鏌ヨ鎴愬姛\",\"ResultData\":[{\"RowNumber\":1,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0000000002\",\"KSMC\":\"璐ㄦ帶鑲",\"KSPY\":\"ZKG\",\"FLKSDM\":\"0000000001\",\"FLKSMC\":\"鍔炲叕\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":\"\",\"KSMS\":null,\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":2,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0001\",\"KSMC\":\"鎬诲姟搴撴埧\",\"KSPY\":\"ZWKF\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":\"\",\"KSMS\":\"\",\"KSDZ\":null,\"LXDH\":\"\",\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":3,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0002\",\"KSMC\":\"瑗胯嵂搴撴埧\",\"KSPY\":\"XYKF\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":null,\"KSMS\":null,\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":4,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0003\",\"KSMC\":\"闂ㄨ瘖瑗胯嵂鎴縗",\"KSPY\":\"MZXYF\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":\"\",\"KSMS\":\"闂ㄨ瘖涓�妤艰タ鑽埧鍙栬嵂\",\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":5,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0004\",\"KSMC\":\"闂ㄨ瘖涓嵂鎴縗",\"KSPY\":\"MZZYF\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":\"\",\"KSMS\":\"闂ㄨ瘖涓�妤间腑鑽埧鍙栬嵂\",\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":6,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0005\",\"KSMC\":\"浣忛櫌鑽埧\",\"KSPY\":\"ZYYF\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":\"\",\"KSMS\":\"浣忛櫌閮ㄤ簩妤艰嵂鎴垮彇鑽痋",\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":7,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0006\",\"KSMC\":\"鍔炲叕瀹",\"KSPY\":\"BGS\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":null,\"KSMS\":null,\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":8,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0007\",\"KSMC\":\"鎬诲姟鑲",\"KSPY\":\"ZWG\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":null,\"KSMS\":null,\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":9,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0008\",\"KSMC\":\"鍖诲姟鑲",\"KSPY\":\"YWG\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":null,\"KSMS\":null,\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"},{\"RowNumber\":10,\"totalCount\":171,\"YLJGDM\":\"43899007-X\",\"YLJGMC\":\"娉惧窛鍘夸汉姘戝尰闄",\"KSDM\":\"0009\",\"KSMC\":\"闂ㄨ瘖鏀惰垂瀹",\"KSPY\":\"MZSFS\",\"FLKSDM\":\"01\",\"FLKSMC\":\"鍖荤枟\",\"KSLXDM\":\"0\",\"KSLXMC\":\"鍏敤\",\"BZNCW\":null,\"BZWCW\":null,\"KSJJ\":\"\",\"KSMS\":\"闂ㄨ瘖妤间竴妤笺�侀棬璇婃ゼ浜屾ゼ缂磋垂\",\"KSDZ\":null,\"LXDH\":null,\"ZKDM\":null,\"BQDM\":null,\"YQDM\":null,\"CJRQ\":\"2022-04-15T10:01:06.77\",\"JLZT\":\"0\",\"BZ\":\"\"}]}}";
+        util.exec1();
+//        Connection connection = util.getConnection();
+//        String tabName = "ltkj_kszd";
+//        JSONObject entries = JSONUtil.parseObj(json);
+//        util.LimitInsertData(connection,tabName,entries.getJSONObject("Response"));
     }
 
-    private void exec() {
-        JSONObject entries = execRequest();
-        if (entries != null) {
-            JSONObject response = entries.getJSONObject("Response");
-            // 0 鎴愬姛 -1澶辫触
-            if ("0".equals(response.getStr("ResultCode"))) {
-                JSONArray jsonArray = response.getJSONArray("ResultData");
-                JSONObject resultDataIndex1 = jsonArray.getJSONObject(0);
-                String method = entries.getStr("method");
-                String tabName = "ltkj_" + method;
-                Connection connection = getConnection();
-                try {
-                    if (!tabIsExists(connection, tabName)) {
-                        // 鍒涘缓琛�
-                        creatTable(resultDataIndex1, tabName, connection);
-                    }
-                    // 瀵规瘮瀛楁 骞舵彃鍏ユ暟鎹�
-                    operationTable(jsonArray, tabName, connection);
-                } catch (SQLException throwables) {
-                    throwables.printStackTrace();
-                }
+    public JSONObject addInputVal(JSONObject jsonObject){
+        JSONObject obj = JSONUtil.createObj();
+        obj.putOpt("jgbm","");
+        obj.putOpt("bm","");
+        obj.putOpt("flbm","");
+        jsonObject.putOpt("input",obj);
+        return jsonObject;
+    }
+
+    public void exec1() {
+        int size = 1000;
+        Connection connection = getConnection();
+        methods.forEach(method -> {
+            log.info("寮�濮嬭姹備唬鐮� ->{}",method);
+            String tabName = "ltkj_" + method.toLowerCase();
+            boolean isLimit = false;
+            int page = 1;
+            int maxPage = 1;
+            JSONObject object = JSONUtil.createObj();
+            object.putOpt("method", method);
+            if (limits.contains(method)) {
+                isLimit = true;
+                object.putOpt("pagecount", size);
+                object.putOpt("page", page);
             }
-        }
+            object = addInputVal(object);
+            log.info("璇锋眰鎺ュ彛 ->{},璇锋眰鍙傛暟 ->{}",BASE_API_URL,object.toString());
+            JSONObject entries = execRequest(object.toString());
+            log.info("璇锋眰杩斿洖 ->{}",entries.toString());
+            assert entries != null;
+            JSONObject response = entries.getJSONObject("Response");
+            if ("0".equals(response.getStr("ResultCode"))) {
+                if (isLimit) {
+                    maxPage = LimitInsertData(connection, tabName, response);
+                    log.info("璁$畻椤电爜涓� ->{}", maxPage);
+                    if (maxPage > 1) {
+                        page += 1;
+                        for (int i = page; i <= maxPage; i++) {
+                            object.clear();
+                            object.putOpt("method", method);
+                            object.putOpt("pagecount", size);
+                            object.putOpt("page", page);
+                            object = addInputVal(object);
+                            log.info("璇锋眰鎺ュ彛 ->{},璇锋眰鍙傛暟 ->{}",BASE_API_URL,object.toString());
+                            entries = execRequest(object.toString());
+                            log.info("璇锋眰杩斿洖 ->{}",entries.toString());
+                            response = entries.getJSONObject("Response");
+                            if ("0".equals(response.getStr("ResultCode"))) {
+                                LimitInsertData(connection, tabName, response);
+                            } else {
+                                log.error("{} 璇锋眰澶辫触锛歿}",method,object.toString());
+                            }
+                            page++;
+                        }
+                    }
+                } else {
+                    JSONArray resultData = response.getJSONArray("ResultData");
+                    JSONObject jsonObject = JSONUtil.toList(resultData, JSONObject.class).get(0);
+                    editDataBase(connection, tabName, resultData, jsonObject);
+                }
+            } else {
+                log.error("{}璇锋眰澶辫触 - 璇锋眰鐘舵�佺爜涓嶄负0锛歿}", method,object.toString());
+            }
+        });
     }
 
     /**
-     * 鎵цhttp璇锋眰
+     * 閽堝浜庡垎椤垫帴鍙� 鍒涘缓琛ㄣ�佹彃鍏ユ暟鎹�
      *
+     * @param connection
+     * @param tabName
+     * @param response
      * @return
      */
-    private JSONObject execRequest() {
+    private int LimitInsertData(Connection connection, String tabName, JSONObject response) {
+        JSONArray jsonArray = response.getJSONArray("ResultData");
+        JSONObject entries = (JSONObject) jsonArray.get(0);
+        int maxPage;
+        // 琛屾暟 鏁版嵁杩斿洖鐨勭鍑犺
+        Integer rowNumber = entries.getInt("RowNumber");
+        // 鎬绘潯鏁�
+        Integer totalCount = entries.getInt("totalCount");
+        maxPage = (totalCount + 1000 - 1) / 1000;
+        log.info("璇锋眰杩斿洖闆嗗悎澶у皬 ->{},鎬婚〉鏁� ->{}",jsonArray.size(),maxPage);
+        jsonArray.forEach(obj -> {
+            editDataBase(connection, tabName, jsonArray, (JSONObject) obj);
+        });
+        return maxPage;
+    }
+
+    /**
+     * 鎿嶄綔鏁版嵁搴�
+     *
+     * @param connection
+     * @param tabName
+     * @param jsonArray
+     * @param obj
+     */
+    private void editDataBase(Connection connection, String tabName, JSONArray jsonArray, JSONObject obj) {
+        try {
+            if (!tabIsExists(connection, tabName)) {
+                // 鍒涘缓琛�
+                creatTable(obj, tabName, connection);
+            }
+            // 瀵规瘮瀛楁 骞舵彃鍏ユ暟鎹�
+            operationTable(obj, tabName, connection);
+        } catch (SQLException throwables) {
+            log.error("鏁版嵁搴撴搷浣滃紓甯�");
+            log.error(throwables.getSQLState());
+            log.error(throwables.getMessage());
+        }
+    }
+
+//    private void exec() {
+//        JSONObject entries = execRequest();
+//        if (entries != null) {
+//            JSONObject response = entries.getJSONObject("Response");
+//            // 0 鎴愬姛 -1澶辫触
+//            if ("0".equals(response.getStr("ResultCode"))) {
+//                JSONArray jsonArray = response.getJSONArray("ResultData");
+//                JSONObject resultDataIndex1 = jsonArray.getJSONObject(0);
+//                String method = entries.getStr("method");
+//                String tabName = "ltkj_" + method;
+//                Connection connection = getConnection();
+//                try {
+//                    if (!tabIsExists(connection, tabName)) {
+//                        // 鍒涘缓琛�
+//                        creatTable(resultDataIndex1, tabName, connection);
+//                    }
+//                    // 瀵规瘮瀛楁 骞舵彃鍏ユ暟鎹�
+//                    operationTable((JSONObject) jsonArray.get(0), tabName, connection);
+//                } catch (SQLException throwables) {
+//                    throwables.printStackTrace();
+//                }
+//            }
+//        }
+//    }
+
+    /**
+     * 鎵цpost璇锋眰
+     *
+     * @param params 璇锋眰鍙傛暟 渚嬪锛� param1=val1&param2=val2
+     * @return 璇锋眰杩斿洖鐨刯son杞崲鍚庣殑JSONObject瀵硅薄
+     */
+    private JSONObject execRequest(String params) {
+//        System.out.println(params);
         URL url = null;
         HttpURLConnection connection = null;
         try {
             url = new URL(BASE_API_URL);
             connection = (HttpURLConnection) url.openConnection();
             connection.setRequestMethod("POST");
-            connection.setDoOutput(true);
             connection.setRequestProperty("Accept", "application/json");
-            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
+//            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
+            connection.setRequestProperty("Content-Type", "application/json;utf-8");
+            connection.setDoOutput(true);
             OutputStream stream = connection.getOutputStream();
-            int index = 0;
-            if (methods.size() > 1) {
-                index = RandomUtil.randomInt(0, methods.size() - 1);
-            }
-            String method = methods.get(index);
-            String param = "method=" + method;
-            stream.write(param.getBytes(StandardCharsets.UTF_8));
+            stream.write(params.getBytes(StandardCharsets.UTF_8));
             BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
             StringBuilder builder = new StringBuilder();
             String str;
             while ((str = reader.readLine()) != null) {
                 builder.append(str);
             }
-            log.info("鎵ц璇锋眰鍝嶅簲锛歿}", builder.toString());
-            JSONObject entries = JSONUtil.parseObj(builder.toString());
-            entries.set("method", method);
-            return entries;
+            return JSONUtil.parseObj(builder.toString());
         } catch (IOException e) {
             e.printStackTrace();
         } finally {
@@ -110,10 +318,65 @@
         return null;
     }
 
+    /**
+     * 鎵цhttp璇锋眰
+     *
+     * @return
+     */
+//    private JSONObject execRequest() {
+//        URL url = null;
+//        HttpURLConnection connection = null;
+//        try {
+//            url = new URL(BASE_API_URL);
+//            connection = (HttpURLConnection) url.openConnection();
+//            connection.setRequestMethod("POST");
+//            connection.setDoOutput(true);
+//            connection.setRequestProperty("Accept", "application/json");
+//            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
+//            OutputStream stream = connection.getOutputStream();
+//            int index = 0;
+//            if (methods.size() > 1) {
+//                index = RandomUtil.randomInt(0, methods.size() - 1);
+//            }
+//            String method = methods.get(index);
+//            String param = "method=" + method;
+//            stream.write(param.getBytes(StandardCharsets.UTF_8));
+//            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+//            StringBuilder builder = new StringBuilder();
+//            String str;
+//            while ((str = reader.readLine()) != null) {
+//                builder.append(str);
+//            }
+//            log.info("鎵ц璇锋眰鍝嶅簲锛歿}", builder.toString());
+//            JSONObject entries = JSONUtil.parseObj(builder.toString());
+//            entries.set("method", method);
+//            return entries;
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        } finally {
+//            if (connection != null) {
+//                connection.disconnect();
+//            }
+//        }
+//        return null;
+//    }
+
     private Connection getConnection() {
         try {
+            FileInputStream inputStream = new FileInputStream(CONFIG_PATH);
+            Properties props = new Properties();
+            props.load(inputStream);
+            String name = props.getProperty("name");
+            String url = "jdbc:mysql://" + props.getProperty("ip") + ":" + props.getProperty("prot") + "/" + name + "" +
+                    "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
+            String user = props.getProperty("username");
+            String password = props.getProperty("password");
+            String apiUrl = props.getProperty("his_api_url");
+            String apiPort = props.getProperty("his_api_port");
+            BASE_API_URL = apiUrl+":"+apiPort+"/api/His/HisRequest";
             return DriverManager.getConnection(url, user, password);
-        } catch (SQLException throwables) {
+        } catch (Exception throwables) {
+            log.error("鑾峰彇sql杩炴帴澶辫触");
             throwables.printStackTrace();
         }
         return null;
@@ -132,7 +395,7 @@
         PreparedStatement statement = connection.prepareStatement(tabSql);
         statement.setString(1, "test_urlreq");
         statement.setString(2, tableName);
-        log.info("鍒ゆ柇琛ㄦ槸鍚﹀瓨鍦� sql-> {}", statement.toString());
+//        log.info("鍒ゆ柇琛ㄦ槸鍚﹀瓨鍦� sql-> {}", statement.toString());
         ResultSet resultSet = statement.executeQuery();
         boolean next = resultSet.next();
         statement.close();
@@ -142,34 +405,31 @@
     /**
      * 鎿嶄綔琛�
      *
-     * @param jsonArray
      * @param tabName
      * @param connection
      * @throws SQLException
      */
-    private void operationTable(JSONArray jsonArray, String tabName, Connection connection) throws SQLException {
+    private void operationTable(JSONObject jsonObject, String tabName, Connection connection) throws SQLException {
         List<String> columns = getColumns(tabName, connection);
-        log.info("褰撳墠琛ㄥ瓧娈典负 ->{}", columns);
+//        log.info("褰撳墠琛ㄥ瓧娈典负 ->{}", columns);
         ArrayList<String> responseColums = new ArrayList<>();
-        for (int i = 0; i < jsonArray.size(); i++) {
-            JSONObject jsonObject = jsonArray.getJSONObject(i);
-            for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
-                responseColums.add(entry.getKey());
+        for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
+            responseColums.add(entry.getKey());
+        }
+//            log.info("璇锋眰杩斿洖鐨勫瓧娈典负 ->{}", responseColums);
+        responseColums.removeAll(columns);
+        if (!responseColums.isEmpty()) {
+            // 闇�瑕佸鍔犲瓧娈� 骞舵彃鍏ユ暟鎹�
+            for (String colum : responseColums) {
+                String sql = "alter table " + tabName + " add column " + colum + " text null";
+//                    log.info("淇敼瀛楁 ->{}",sql.toString());
+                Statement statement = connection.createStatement();
+                statement.executeUpdate(sql);
+                statement.close();
             }
-            log.info("璇锋眰杩斿洖鐨勫瓧娈典负 ->{}", responseColums);
-            responseColums.removeAll(columns);
-            if (!responseColums.isEmpty()) {
-                // 闇�瑕佸鍔犲瓧娈� 骞舵彃鍏ユ暟鎹�
-                for (String colum : responseColums) {
-                    String sql = "alter table " + tabName + " add column " + colum + " text null";
-                    Statement statement = connection.createStatement();
-                    statement.executeUpdate(sql);
-                    statement.close();
-                }
-                insertData(tabName, connection, jsonObject);
-            } else {
-                insertData(tabName, connection, jsonObject);
-            }
+            insertData(tabName, connection, jsonObject);
+        } else {
+            insertData(tabName, connection, jsonObject);
         }
     }
 
@@ -193,11 +453,14 @@
             valueBuilder.append("'").append(entry.getValue()).append("', ");
             selectSqlBuilder.append(entry.getKey()).append(" = '").append(entry.getValue()).append("' and ");
         }
+        insertSqlBuilder.append("insert_time, ");
+        String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+        valueBuilder.append("'").append(time).append("'").append(", ");
         insertSqlBuilder.delete(insertSqlBuilder.length() - 2, insertSqlBuilder.length());
         valueBuilder.delete(valueBuilder.length() - 2, valueBuilder.length());
         selectSqlBuilder.delete(selectSqlBuilder.length() - 5, selectSqlBuilder.length());
         insertSqlBuilder.append(") values (").append(valueBuilder).append(")");
-        log.info("鎻掑叆鍓嶆煡璇� sql ->{}", selectSqlBuilder.toString());
+//        log.info("鎻掑叆鍓嶆煡璇� sql ->{}", selectSqlBuilder.toString());
         Statement statement = connection.prepareStatement(selectSqlBuilder.toString());
         ResultSet resultSet = statement.executeQuery(selectSqlBuilder.toString());
         resultSet.next();
@@ -205,12 +468,12 @@
         statement.close();
         // 濡傛灉涓嶄负0 鍒欒繖鏉℃暟鎹瓨鍦� 涓嶈繘琛屾彃鍏�
         if (!"0".equals(string)) {
-            log.info("鏁版嵁瀛樺湪涓嶉渶瑕佹彃鍏� {}", jsonObject);
+//            log.info("鏁版嵁瀛樺湪涓嶉渶瑕佹彃鍏� {}", jsonObject);
             return;
         }
         // 鎻掑叆鏁版嵁
         statement = connection.createStatement();
-        log.info("鎻掑叆鏁版嵁 sql-> {}", insertSqlBuilder.toString());
+//        log.info("鎻掑叆鏁版嵁 sql-> {}", insertSqlBuilder.toString());
         statement.execute(insertSqlBuilder.toString());
         statement.close();
     }
@@ -247,8 +510,10 @@
         for (Map.Entry<String, Object> entry : resultDataIndex1.entrySet()) {
             sql.append(entry.getKey()).append(" text null,");
         }
+        sql.append("insert_time").append(" text null,");
         sql = new StringBuilder(sql.substring(0, sql.length() - 1));
         sql.append(");");
+//        log.info("鍒涘缓琛ㄦ牸 -> {}",sql.toString());
         Statement statement = connection.createStatement();
         statement.execute(sql.toString());
     }

--
Gitblit v1.8.0