From 9155df2aeab5b0d95c89dd928dbaefbfbaeae9d1 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 05 九月 2024 17:10:35 +0800
Subject: [PATCH] zjh 2024-09-05

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java |   93 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 69 insertions(+), 24 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
index 8f243c6..88568db 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
@@ -12,7 +12,9 @@
 import com.ltkj.web.wxUtils.HttpClientUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.FileInputStream;
@@ -33,8 +35,10 @@
 @Slf4j
 @Component
 public class HisApiGetMethodService {
+
+
     // 鏁版嵁搴撻厤缃枃浠惰矾寰�
-    private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties";
+//    private static final String CONFIG_PATH = url;
 //    private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis/ltkj-admin/src/main/resources/config.properties";
     // 鏁版嵁搴撳悕
     private static String DB_NAME = "";
@@ -47,27 +51,51 @@
     @Autowired
     private HisApiConfigService hisApiConfigService;
 
+    private static String url;
+
+
+    @Value ("${config.properties}")
+    public  void set(String urls){
+         url=urls;
+        FileInputStream inputStream = null;
+        try {
+            inputStream = new FileInputStream(url);
+            Properties props = new Properties();
+            props.load(inputStream);
+            DB_NAME = props.getProperty("name");
+            DATA_URL = "jdbc:mysql://" + props.getProperty("ip") + ":" + props.getProperty("prot") + "/" + DB_NAME + "" +
+                    "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
+            DATA_USER = props.getProperty("username");
+            DATA_PASS = props.getProperty("password");
+            String apiUrl = props.getProperty("his_api_url");
+            String apiPort = props.getProperty("his_api_port");
+            HIS_URL = apiUrl+":"+apiPort;
+        } catch (IOException e) {
+            System.out.println("鍒濆鍖栨暟鎹簱寮傚父 ->"+e.getMessage());
+        }
+    }
+
     static {
         try {
             Class.forName("com.mysql.cj.jdbc.Driver");
         } catch (ClassNotFoundException e) {
             e.printStackTrace();
         }
-        try {
-            InputStreamReader reader = new InputStreamReader(new FileInputStream(CONFIG_PATH), StandardCharsets.UTF_8);
-            Properties props = new Properties();
-            props.load(reader);
-            String api_url = props.getProperty("his_api_url");
-            String port = props.getProperty("his_api_port");
-            DB_NAME = props.getProperty("name");
-            DATA_URL = "jdbc:mysql://" + props.getProperty("ip") + ":" + props.getProperty("prot") + "/" + DB_NAME +
-                    "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
-            DATA_USER = props.getProperty("username");
-            DATA_PASS = props.getProperty("password");
-            HIS_URL=api_url+":"+port;
-        } catch (IOException throwables) {
-            throwables.printStackTrace();
-        }
+//        try {
+//            InputStreamReader reader = new InputStreamReader(new FileInputStream(url), StandardCharsets.UTF_8);
+//            Properties props = new Properties();
+//            props.load(reader);
+//            String api_url = props.getProperty("his_api_url");
+//            String port = props.getProperty("his_api_port");
+//            DB_NAME = props.getProperty("name");
+//            DATA_URL = "jdbc:mysql://" + props.getProperty("ip") + ":" + props.getProperty("prot") + "/" + DB_NAME +
+//                    "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
+//            DATA_USER = props.getProperty("username");
+//            DATA_PASS = props.getProperty("password");
+//            HIS_URL=api_url+":"+port;
+//        } catch (IOException throwables) {
+//            throwables.printStackTrace();
+//        }
     }
 
 
@@ -175,7 +203,7 @@
         }
     }
 
-    @Transactional
+//    @Transactional
     public AjaxResult getHISDataNew(String type, Map<String, Object> params){
         LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, type);
@@ -237,10 +265,11 @@
         } catch (SQLException e) {
             e.printStackTrace();
             return AjaxResult.error();
-        }
-        try {
-            connection.close();
-        } catch (SQLException ignored) {
+        }finally {
+            try {
+                connection.close();
+            } catch (SQLException ignored) {
+            }
         }
         return AjaxResult.success();
     }
@@ -346,6 +375,7 @@
      * @param jsonObject
      * @throws SQLException
      */
+    @Transactional
     private void insertDataNew(Connection connection, JSONObject jsonObject,HisApiConfig hisApiConfig,String paramsJson) throws SQLException {
         List<String> primaryKesList = Arrays.stream(hisApiConfig.getPrimaryKeys().split(",")).map(String::toLowerCase).collect(Collectors.toList());
         StringBuilder deleteSqlBuilder = new StringBuilder();
@@ -380,9 +410,9 @@
         }
         deleteSqlBuilder.delete(deleteSqlBuilder.length() - 5, deleteSqlBuilder.length());
         Statement statement = connection.prepareStatement(deleteSqlBuilder.toString());
-//        log.info("鎵ц鍒犻櫎 ->{}",deleteSqlBuilder.toString());
+        log.info("HIS鏁版嵁淇濆瓨绫� 鎵ц鍒犻櫎 ->{}",deleteSqlBuilder.toString());
         int i = statement.executeUpdate(deleteSqlBuilder.toString());
-//        log.info("鍒犻櫎鏉℃暟 ->{}",i);
+        log.info("HIS鏁版嵁淇濆瓨绫� 鍒犻櫎鏉℃暟 ->{}",i);
         statement.close();
         insertSqlBuilder.append("insert_time, ");
         insertSqlBuilder.append("request_params, ");
@@ -409,8 +439,23 @@
         insertSqlBuilder.append(") values (").append(valueBuilder).append(")");
 //        log.info("鎵ц鎻掑叆 ->{}",insertSqlBuilder.toString());
         // 鎻掑叆鏁版嵁
+//        boolean execute = statement.execute(insertSqlBuilder.toString());
+//        for (int j = 0; j < 10; j++) {
+//            statement = connection.createStatement();
+//            log.info("HIS鏁版嵁淇濆瓨绫� 鎵ц鎻掑叆 ->{}",insertSqlBuilder.toString());
+//            boolean execute = statement.execute(insertSqlBuilder.toString());
+//            log.info("HIS鏁版嵁淇濆瓨绫� 鎵ц鎻掑叆鐘舵�� ->{},娆℃暟->{}",execute,(j+1));
+//            statement.close();
+//            if (execute)
+//                break;
+//        }
         statement = connection.createStatement();
-        statement.execute(insertSqlBuilder.toString());
+        log.info("HIS鏁版嵁淇濆瓨绫� 鎵ц鎻掑叆 ->{}",insertSqlBuilder.toString());
+        boolean execute = statement.execute(insertSqlBuilder.toString());
+        if (!execute){
+            int updateCount = statement.getUpdateCount();
+            log.info("HIS鏁版嵁淇濆瓨绫� 鎵ц鎻掑叆鎴愬姛 褰卞搷琛屾暟->{}",updateCount);
+        }
         statement.close();
     }
 

--
Gitblit v1.8.0