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