| | |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.io.*; |
| | | import java.net.HttpURLConnection; |
| | |
| | | * @Author: zhaowenxuan |
| | | * @Date: 2024/5/21 16:41 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | 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 CONFIG_PATH = "/Users/chacca/开发相关/代码/ltkj_peis_sjpt/src/main/resources/config.properties"; |
| | | private static final String CONFIG_PATH = "/Users/chacca/开发相关/代码/ltkj_peis_sjpt/src/main/resources/ltkj.properties"; |
| | | private static String BASE_API_URL = ""; |
| | | // 请求代码总集合 |
| | | 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 List<String> limits = new ArrayList<>(); |
| | | |
| | |
| | | static { |
| | | methods.add("JGDM"); |
| | | 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("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("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"); |
| | | 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"); |
| | |
| | | |
| | | public static void main(String[] args) { |
| | | DictionaryUtil util = new DictionaryUtil(); |
| | | // 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")); |
| | | try { |
| | | util.exec1(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | log.error("异常"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 增加默认参数 |
| | | * @param jsonObject |
| | | * @return |
| | | */ |
| | | public JSONObject addInputVal(JSONObject jsonObject){ |
| | | JSONObject obj = JSONUtil.createObj(); |
| | | obj.putOpt("jgbm",""); |
| | |
| | | return jsonObject; |
| | | } |
| | | |
| | | public void exec1() { |
| | | public void exec1() throws IOException { |
| | | int size = 1000; |
| | | Connection connection = getConnection(); |
| | | 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"; |
| | | Connection connection = getConnection(user,password,url); |
| | | methods.forEach(method -> { |
| | | log.info("开始请求代码 ->{}",method); |
| | | String tabName = "ltkj_" + method.toLowerCase(); |
| | |
| | | int maxPage = 1; |
| | | JSONObject object = JSONUtil.createObj(); |
| | | object.putOpt("method", method); |
| | | object = addInputVal(object); |
| | | if (limits.contains(method)) { |
| | | isLimit = true; |
| | | object.putOpt("pagecount", size); |
| | | object.putOpt("page", page); |
| | | JSONObject input = object.getJSONObject("input"); |
| | | input.putOpt("pagecount", size); |
| | | input.putOpt("page", page); |
| | | } |
| | | object = addInputVal(object); |
| | | log.info("请求接口 ->{},请求参数 ->{}",BASE_API_URL,object.toString()); |
| | | JSONObject entries = execRequest(object.toString()); |
| | | log.info("请求返回 ->{}",entries.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); |
| | | maxPage = LimitInsertData(connection, tabName, response,name,page); |
| | | 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); |
| | | JSONObject input = object.getJSONObject("input"); |
| | | input.putOpt("pagecount", size); |
| | | input.putOpt("page", page); |
| | | log.info("请求接口 ->{},请求参数 ->{}",BASE_API_URL,object.toString()); |
| | | entries = execRequest(object.toString()); |
| | | log.info("请求返回 ->{}",entries.toString()); |
| | | // log.info("请求返回 ->{}",entries.toString()); |
| | | response = entries.getJSONObject("Response"); |
| | | if ("0".equals(response.getStr("ResultCode"))) { |
| | | LimitInsertData(connection, tabName, response); |
| | | LimitInsertData(connection, tabName, response,name,page); |
| | | } else { |
| | | log.error("{} 请求失败:{}",method,object.toString()); |
| | | } |
| | |
| | | } else { |
| | | JSONArray resultData = response.getJSONArray("ResultData"); |
| | | JSONObject jsonObject = JSONUtil.toList(resultData, JSONObject.class).get(0); |
| | | editDataBase(connection, tabName, resultData, jsonObject); |
| | | editDataBase(connection, tabName, jsonObject,name); |
| | | } |
| | | } else { |
| | | log.error("{}请求失败 - 请求状态码不为0:{}", method,object.toString()); |
| | | log.error("{}请求失败 - 请求状态码不为0,请求参数 ->{},请求返回 ->{}", method,object.toString(),response.toString()); |
| | | } |
| | | }); |
| | | } |
| | |
| | | * @param response |
| | | * @return |
| | | */ |
| | | private int LimitInsertData(Connection connection, String tabName, JSONObject response) { |
| | | private int LimitInsertData(Connection connection, String tabName, JSONObject response,String name,Integer page) { |
| | | JSONArray jsonArray = response.getJSONArray("ResultData"); |
| | | JSONObject entries = (JSONObject) jsonArray.get(0); |
| | | int maxPage; |
| | |
| | | // 总条数 |
| | | Integer totalCount = entries.getInt("totalCount"); |
| | | maxPage = (totalCount + 1000 - 1) / 1000; |
| | | log.info("请求返回集合大小 ->{},总页数 ->{}",jsonArray.size(),maxPage); |
| | | log.info("请求返回总条数 ->{},当前页 ->{},总页数 ->{}",totalCount,page,maxPage); |
| | | jsonArray.forEach(obj -> { |
| | | editDataBase(connection, tabName, jsonArray, (JSONObject) obj); |
| | | editDataBase(connection, tabName, (JSONObject) obj,name); |
| | | }); |
| | | return maxPage; |
| | | } |
| | |
| | | * |
| | | * @param connection |
| | | * @param tabName |
| | | * @param jsonArray |
| | | * @param obj |
| | | */ |
| | | private void editDataBase(Connection connection, String tabName, JSONArray jsonArray, JSONObject obj) { |
| | | private void editDataBase(Connection connection, String tabName, JSONObject obj,String name) { |
| | | try { |
| | | if (!tabIsExists(connection, tabName)) { |
| | | if (!tabIsExists(connection, tabName,name)) { |
| | | // 创建表 |
| | | creatTable(obj, tabName, connection); |
| | | } |
| | |
| | | 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请求 |
| | |
| | | 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() { |
| | | private Connection getConnection(String user,String password,String url) { |
| | | 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"; |
| | | log.info("数据库信息 ->{},{},{}",user,password,url); |
| | | return DriverManager.getConnection(url, user, password); |
| | | } catch (Exception throwables) { |
| | | log.error("获取sql连接失败"); |
| | |
| | | * @return |
| | | * @throws SQLException |
| | | */ |
| | | private Boolean tabIsExists(Connection connection, String tableName) throws SQLException { |
| | | private Boolean tabIsExists(Connection connection, String tableName,String name) throws SQLException { |
| | | String tabSql = "SELECT table_name FROM information_schema.tables WHERE table_schema = ? AND table_name = ?"; |
| | | PreparedStatement statement = connection.prepareStatement(tabSql); |
| | | statement.setString(1, "test_urlreq"); |
| | | statement.setString(1, name); |
| | | statement.setString(2, tableName); |
| | | // log.info("判断表是否存在 sql-> {}", statement.toString()); |
| | | ResultSet resultSet = statement.executeQuery(); |
| | |
| | | // 需要增加字段 并插入数据 |
| | | for (String colum : responseColums) { |
| | | String sql = "alter table " + tabName + " add column " + colum + " text null"; |
| | | // log.info("修改字段 ->{}",sql.toString()); |
| | | // log.info("修改字段 ->{}",sql.toString()); |
| | | Statement statement = connection.createStatement(); |
| | | statement.executeUpdate(sql); |
| | | statement.close(); |
| | |
| | | selectSqlBuilder.append("select count(1) as count from ").append(tabName).append(" where "); |
| | | for (Map.Entry<String, Object> entry : jsonObject.entrySet()) { |
| | | insertSqlBuilder.append(entry.getKey()).append(", "); |
| | | valueBuilder.append("'").append(entry.getValue()).append("', "); |
| | | selectSqlBuilder.append(entry.getKey()).append(" = '").append(entry.getValue()).append("' and "); |
| | | valueBuilder.append("'").append(entry.getValue().toString().replaceAll("'","‘")).append("', "); |
| | | selectSqlBuilder.append(entry.getKey()).append(" = '").append(entry.getValue().toString().replaceAll("'","‘")).append("' and "); |
| | | } |
| | | insertSqlBuilder.append("insert_time, "); |
| | | String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); |