diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java index b860ba7..c13f119 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java @@ -157,16 +157,16 @@ } -// @RequestMapping(value = "/syncRecord") -// @ResponseBody -// public Object syncRecord(@RequestParam("devIds")List devIds, -// @RequestParam("startTime")String startTime, -// @RequestParam("endTime")String endTime){ -// List errorCode = recordsService.syncRecords(devIds,startTime,endTime); -// if(ToolUtil.isEmpty(errorCode)){ -// return ResponseData.success(); -// }else{ -// return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); -// } -// } + @RequestMapping(value = "/syncRecord") + @ResponseBody + public Object syncRecord(@RequestParam("devIds")List devIds, + @RequestParam("startTime")String startTime, + @RequestParam("endTime")String endTime){ + List errorCode = recordsService.syncRecords(devIds,startTime,endTime); + if(ToolUtil.isEmpty(errorCode)){ + return ResponseData.success(); + }else{ + return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); + } + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java index b860ba7..c13f119 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java @@ -157,16 +157,16 @@ } -// @RequestMapping(value = "/syncRecord") -// @ResponseBody -// public Object syncRecord(@RequestParam("devIds")List devIds, -// @RequestParam("startTime")String startTime, -// @RequestParam("endTime")String endTime){ -// List errorCode = recordsService.syncRecords(devIds,startTime,endTime); -// if(ToolUtil.isEmpty(errorCode)){ -// return ResponseData.success(); -// }else{ -// return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); -// } -// } + @RequestMapping(value = "/syncRecord") + @ResponseBody + public Object syncRecord(@RequestParam("devIds")List devIds, + @RequestParam("startTime")String startTime, + @RequestParam("endTime")String endTime){ + List errorCode = recordsService.syncRecords(devIds,startTime,endTime); + if(ToolUtil.isEmpty(errorCode)){ + return ResponseData.success(); + }else{ + return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); + } + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java index 67cc886..60511b4 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java @@ -35,8 +35,8 @@ /** * 原始记录id */ -// @TableField("ORIGINAL_ID") -// private Long originalId; + @TableField("ORIGINAL_ID") + private Long originalId; /** * 对应person表主键 */ @@ -68,11 +68,11 @@ @TableField("TEMPERATURE") private String temperature; -// @TableField("DEV_IP") -// private String devIp; -// -// @TableField("SYNC_TIME") -// private Date syncTime; + @TableField("DEV_IP") + private String devIp; + + @TableField("SYNC_TIME") + private Date syncTime; @Override protected Serializable pkVal() { @@ -83,14 +83,14 @@ public String toString() { return "RecognitionRecords{" + "id=" + id + -// ", originalId=" + originalId + + ", originalId=" + originalId + ", personId=" + personId + ", datetime=" + datetime + ", devCode=" + devCode + ", doorCode=" + doorCode + ", inoutType=" + inoutType + -// ", devIp=" + devIp + -// ", syncTime=" + syncTime + + ", devIp=" + devIp + + ", syncTime=" + syncTime + "}"; } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java index b860ba7..c13f119 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java @@ -157,16 +157,16 @@ } -// @RequestMapping(value = "/syncRecord") -// @ResponseBody -// public Object syncRecord(@RequestParam("devIds")List devIds, -// @RequestParam("startTime")String startTime, -// @RequestParam("endTime")String endTime){ -// List errorCode = recordsService.syncRecords(devIds,startTime,endTime); -// if(ToolUtil.isEmpty(errorCode)){ -// return ResponseData.success(); -// }else{ -// return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); -// } -// } + @RequestMapping(value = "/syncRecord") + @ResponseBody + public Object syncRecord(@RequestParam("devIds")List devIds, + @RequestParam("startTime")String startTime, + @RequestParam("endTime")String endTime){ + List errorCode = recordsService.syncRecords(devIds,startTime,endTime); + if(ToolUtil.isEmpty(errorCode)){ + return ResponseData.success(); + }else{ + return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); + } + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java index 67cc886..60511b4 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java @@ -35,8 +35,8 @@ /** * 原始记录id */ -// @TableField("ORIGINAL_ID") -// private Long originalId; + @TableField("ORIGINAL_ID") + private Long originalId; /** * 对应person表主键 */ @@ -68,11 +68,11 @@ @TableField("TEMPERATURE") private String temperature; -// @TableField("DEV_IP") -// private String devIp; -// -// @TableField("SYNC_TIME") -// private Date syncTime; + @TableField("DEV_IP") + private String devIp; + + @TableField("SYNC_TIME") + private Date syncTime; @Override protected Serializable pkVal() { @@ -83,14 +83,14 @@ public String toString() { return "RecognitionRecords{" + "id=" + id + -// ", originalId=" + originalId + + ", originalId=" + originalId + ", personId=" + personId + ", datetime=" + datetime + ", devCode=" + devCode + ", doorCode=" + doorCode + ", inoutType=" + inoutType + -// ", devIp=" + devIp + -// ", syncTime=" + syncTime + + ", devIp=" + devIp + + ", syncTime=" + syncTime + "}"; } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java index 7607c21..3811ebd 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java @@ -27,6 +27,6 @@ Boolean hasOutRecords(String doorCode); -// List syncRecords(List devIds, String startTime,String endTime); + List syncRecords(List devIds, String startTime,String endTime); } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java index b860ba7..c13f119 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java @@ -157,16 +157,16 @@ } -// @RequestMapping(value = "/syncRecord") -// @ResponseBody -// public Object syncRecord(@RequestParam("devIds")List devIds, -// @RequestParam("startTime")String startTime, -// @RequestParam("endTime")String endTime){ -// List errorCode = recordsService.syncRecords(devIds,startTime,endTime); -// if(ToolUtil.isEmpty(errorCode)){ -// return ResponseData.success(); -// }else{ -// return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); -// } -// } + @RequestMapping(value = "/syncRecord") + @ResponseBody + public Object syncRecord(@RequestParam("devIds")List devIds, + @RequestParam("startTime")String startTime, + @RequestParam("endTime")String endTime){ + List errorCode = recordsService.syncRecords(devIds,startTime,endTime); + if(ToolUtil.isEmpty(errorCode)){ + return ResponseData.success(); + }else{ + return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); + } + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java index 67cc886..60511b4 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java @@ -35,8 +35,8 @@ /** * 原始记录id */ -// @TableField("ORIGINAL_ID") -// private Long originalId; + @TableField("ORIGINAL_ID") + private Long originalId; /** * 对应person表主键 */ @@ -68,11 +68,11 @@ @TableField("TEMPERATURE") private String temperature; -// @TableField("DEV_IP") -// private String devIp; -// -// @TableField("SYNC_TIME") -// private Date syncTime; + @TableField("DEV_IP") + private String devIp; + + @TableField("SYNC_TIME") + private Date syncTime; @Override protected Serializable pkVal() { @@ -83,14 +83,14 @@ public String toString() { return "RecognitionRecords{" + "id=" + id + -// ", originalId=" + originalId + + ", originalId=" + originalId + ", personId=" + personId + ", datetime=" + datetime + ", devCode=" + devCode + ", doorCode=" + doorCode + ", inoutType=" + inoutType + -// ", devIp=" + devIp + -// ", syncTime=" + syncTime + + ", devIp=" + devIp + + ", syncTime=" + syncTime + "}"; } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java index 7607c21..3811ebd 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java @@ -27,6 +27,6 @@ Boolean hasOutRecords(String doorCode); -// List syncRecords(List devIds, String startTime,String endTime); + List syncRecords(List devIds, String startTime,String endTime); } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java index 679b0c4..482896c 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java @@ -190,128 +190,128 @@ } } -// @Override -// public List syncRecords(List devIds, String startTime, String endTime) { -// List errorCodes = new ArrayList<>(); -// List recordsListAll = new ArrayList<>(); -// // 默认起止时间,昨日0点到24点 -// if(ToolUtil.isAllEmpty(startTime,endTime)){ -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// Calendar yesterday0 = Calendar.getInstance(); -// yesterday0.set(yesterday0.get(Calendar.YEAR),yesterday0.get(Calendar.MONTH),yesterday0.get(Calendar.DAY_OF_MONTH)-1,0,0,0); -// startTime = sdf.format(yesterday0.getTime()); -// -// Calendar yesterday24 = Calendar.getInstance(); -// yesterday24.set(yesterday24.get(Calendar.YEAR),yesterday24.get(Calendar.MONTH),yesterday24.get(Calendar.DAY_OF_MONTH)-1,23,59,59); -// endTime = sdf.format(yesterday24.getTime()); -// } -// -// // 获取数据 -// for (Long devId : devIds) { -// Device device = deviceService.selectById(devId); -// try { -// List recordsList = fetchRecords(device.getDevIp(),startTime,endTime,device.getDevCode()); -// recordsListAll.addAll(recordsList); -// }catch (Exception e){ -// e.printStackTrace(); -// errorCodes.add(device.getDevCode()); -// } -// } -// -// // 数据去重 -// Iterator iter = recordsListAll.iterator(); -// while (iter.hasNext()){ -// RecognitionRecords record = iter.next(); -// List oldRecords = selectByOriginalIdAndDevCode(record.getOriginalId(),record.getDevCode()); -// if(ToolUtil.isNotEmpty(oldRecords)){ -// iter.remove(); -// } -// } -// -// // 批量插入 -// if(ToolUtil.isNotEmpty(recordsListAll)){ -// logger.info("syncSuccess: " + recordsListAll.size()); -// this.insertBatch(recordsListAll); -// } -// -// if(ToolUtil.isNotEmpty(errorCodes)){ -// logger.info("syncError: " + StringUtils.join(errorCodes,",") ); -// } -// return errorCodes; -// } -// -// private List fetchRecords(String ip, String startTime, String endTime, String devCode){ -// logger.info("fetch Record: ip =" + ip + " startTime = " + startTime + " endTime = " + endTime); -// List recordsList = new ArrayList<>(); -// //启动驱动 -// String driverClassName = "com.mysql.jdbc.Driver"; -// //设置连接路径 -// String url = "jdbc:mysql://" + ip + ":" + jdbcPort + "/" + jdbcDbName; -// //数据库用户名 -// String username = jdbcUserName; -// //数据库连接密码 -// String password = jdbcUserPwd; -// //连接 -// Connection con = null; -// //使用预编译语句 -// PreparedStatement pstmt = null; -// //获取的结果集 -// ResultSet rs = null; -// try { -// //执行驱动 -// Class.forName(driverClassName); -// //获取连接 -// con = DriverManager.getConnection(url, username, password); -// //设置的预编译语句格式 -// String sql = "SELECT * FROM recognition_records WHERE DATETIME >= ? AND DATETIME <= ? "; -// pstmt = con.prepareStatement(sql); -// pstmt.setNString(1,startTime); -// pstmt.setNString(2,endTime); -// rs = pstmt.executeQuery(); -// if(rs == null){ -// return null; -// } -// while (rs.next()){ -// RecognitionRecords record = new RecognitionRecords(); -// record.setOriginalId(Long.valueOf(rs.getString("ID"))); -// record.setPersonId(Long.valueOf(rs.getString("PERSON_ID"))); -// record.setDatetime(rs.getTimestamp("DATETIME")); -// record.setDevCode(rs.getString("DEV_CODE")); -// if(ToolUtil.isEmpty(record.getDevCode())){ -// record.setDevCode(devCode); -// } -// record.setDoorCode(rs.getString("DOOR_CODE")); -// record.setInoutType(rs.getString("INOUT_TYPE")); -// record.setTemperature(rs.getString("TEMPERATURE")); -// record.setDevIp(ip); -// recordsList.add(record); -// } -// } catch (Exception e) { -// throw new RuntimeException(e); -// }finally { -// //关闭资源,倒关 -// try { -// if(rs != null){ -// rs.close(); -// } -// if(pstmt != null){ -// pstmt.close(); -// } -// // 必须要关 -// if(con != null){ -// con.close(); -// } -// } catch (Exception e) { -// } -// } -// logger.info("fetchSuccess: " + recordsList.size()); -// return recordsList; -// } -// -// private List selectByOriginalIdAndDevCode(Long originalId,String devCode){ -// EntityWrapper query = new EntityWrapper(); -// query.eq("ORIGINAL_ID",originalId); -// query.eq("DEV_CODE",devCode); -// return this.selectList(query); -// } + @Override + public List syncRecords(List devIds, String startTime, String endTime) { + List errorCodes = new ArrayList<>(); + List recordsListAll = new ArrayList<>(); + // 默认起止时间,昨日0点到24点 + if(ToolUtil.isAllEmpty(startTime,endTime)){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar yesterday0 = Calendar.getInstance(); + yesterday0.set(yesterday0.get(Calendar.YEAR),yesterday0.get(Calendar.MONTH),yesterday0.get(Calendar.DAY_OF_MONTH)-1,0,0,0); + startTime = sdf.format(yesterday0.getTime()); + + Calendar yesterday24 = Calendar.getInstance(); + yesterday24.set(yesterday24.get(Calendar.YEAR),yesterday24.get(Calendar.MONTH),yesterday24.get(Calendar.DAY_OF_MONTH)-1,23,59,59); + endTime = sdf.format(yesterday24.getTime()); + } + + // 获取数据 + for (Long devId : devIds) { + Device device = deviceService.selectById(devId); + try { + List recordsList = fetchRecords(device.getDevIp(),startTime,endTime,device.getDevCode()); + recordsListAll.addAll(recordsList); + }catch (Exception e){ + e.printStackTrace(); + errorCodes.add(device.getDevCode()); + } + } + + // 数据去重 + Iterator iter = recordsListAll.iterator(); + while (iter.hasNext()){ + RecognitionRecords record = iter.next(); + List oldRecords = selectByOriginalIdAndDevCode(record.getOriginalId(),record.getDevCode()); + if(ToolUtil.isNotEmpty(oldRecords)){ + iter.remove(); + } + } + + // 批量插入 + if(ToolUtil.isNotEmpty(recordsListAll)){ + logger.info("syncSuccess: " + recordsListAll.size()); + this.insertBatch(recordsListAll); + } + + if(ToolUtil.isNotEmpty(errorCodes)){ + logger.info("syncError: " + StringUtils.join(errorCodes,",") ); + } + return errorCodes; + } + + private List fetchRecords(String ip, String startTime, String endTime, String devCode){ + logger.info("fetch Record: ip =" + ip + " startTime = " + startTime + " endTime = " + endTime); + List recordsList = new ArrayList<>(); + //启动驱动 + String driverClassName = "com.mysql.jdbc.Driver"; + //设置连接路径 + String url = "jdbc:mysql://" + ip + ":" + jdbcPort + "/" + jdbcDbName; + //数据库用户名 + String username = jdbcUserName; + //数据库连接密码 + String password = jdbcUserPwd; + //连接 + Connection con = null; + //使用预编译语句 + PreparedStatement pstmt = null; + //获取的结果集 + ResultSet rs = null; + try { + //执行驱动 + Class.forName(driverClassName); + //获取连接 + con = DriverManager.getConnection(url, username, password); + //设置的预编译语句格式 + String sql = "SELECT * FROM recognition_records WHERE DATETIME >= ? AND DATETIME <= ? "; + pstmt = con.prepareStatement(sql); + pstmt.setNString(1,startTime); + pstmt.setNString(2,endTime); + rs = pstmt.executeQuery(); + if(rs == null){ + return null; + } + while (rs.next()){ + RecognitionRecords record = new RecognitionRecords(); + record.setOriginalId(Long.valueOf(rs.getString("ID"))); + record.setPersonId(Long.valueOf(rs.getString("PERSON_ID"))); + record.setDatetime(rs.getTimestamp("DATETIME")); + record.setDevCode(rs.getString("DEV_CODE")); + if(ToolUtil.isEmpty(record.getDevCode())){ + record.setDevCode(devCode); + } + record.setDoorCode(rs.getString("DOOR_CODE")); + record.setInoutType(rs.getString("INOUT_TYPE")); + record.setTemperature(rs.getString("TEMPERATURE")); + record.setDevIp(ip); + recordsList.add(record); + } + } catch (Exception e) { + throw new RuntimeException(e); + }finally { + //关闭资源,倒关 + try { + if(rs != null){ + rs.close(); + } + if(pstmt != null){ + pstmt.close(); + } + // 必须要关 + if(con != null){ + con.close(); + } + } catch (Exception e) { + } + } + logger.info("fetchSuccess: " + recordsList.size()); + return recordsList; + } + + private List selectByOriginalIdAndDevCode(Long originalId,String devCode){ + EntityWrapper query = new EntityWrapper(); + query.eq("ORIGINAL_ID",originalId); + query.eq("DEV_CODE",devCode); + return this.selectList(query); + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java index b860ba7..c13f119 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java @@ -157,16 +157,16 @@ } -// @RequestMapping(value = "/syncRecord") -// @ResponseBody -// public Object syncRecord(@RequestParam("devIds")List devIds, -// @RequestParam("startTime")String startTime, -// @RequestParam("endTime")String endTime){ -// List errorCode = recordsService.syncRecords(devIds,startTime,endTime); -// if(ToolUtil.isEmpty(errorCode)){ -// return ResponseData.success(); -// }else{ -// return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); -// } -// } + @RequestMapping(value = "/syncRecord") + @ResponseBody + public Object syncRecord(@RequestParam("devIds")List devIds, + @RequestParam("startTime")String startTime, + @RequestParam("endTime")String endTime){ + List errorCode = recordsService.syncRecords(devIds,startTime,endTime); + if(ToolUtil.isEmpty(errorCode)){ + return ResponseData.success(); + }else{ + return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); + } + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java index 67cc886..60511b4 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java @@ -35,8 +35,8 @@ /** * 原始记录id */ -// @TableField("ORIGINAL_ID") -// private Long originalId; + @TableField("ORIGINAL_ID") + private Long originalId; /** * 对应person表主键 */ @@ -68,11 +68,11 @@ @TableField("TEMPERATURE") private String temperature; -// @TableField("DEV_IP") -// private String devIp; -// -// @TableField("SYNC_TIME") -// private Date syncTime; + @TableField("DEV_IP") + private String devIp; + + @TableField("SYNC_TIME") + private Date syncTime; @Override protected Serializable pkVal() { @@ -83,14 +83,14 @@ public String toString() { return "RecognitionRecords{" + "id=" + id + -// ", originalId=" + originalId + + ", originalId=" + originalId + ", personId=" + personId + ", datetime=" + datetime + ", devCode=" + devCode + ", doorCode=" + doorCode + ", inoutType=" + inoutType + -// ", devIp=" + devIp + -// ", syncTime=" + syncTime + + ", devIp=" + devIp + + ", syncTime=" + syncTime + "}"; } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java index 7607c21..3811ebd 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java @@ -27,6 +27,6 @@ Boolean hasOutRecords(String doorCode); -// List syncRecords(List devIds, String startTime,String endTime); + List syncRecords(List devIds, String startTime,String endTime); } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java index 679b0c4..482896c 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java @@ -190,128 +190,128 @@ } } -// @Override -// public List syncRecords(List devIds, String startTime, String endTime) { -// List errorCodes = new ArrayList<>(); -// List recordsListAll = new ArrayList<>(); -// // 默认起止时间,昨日0点到24点 -// if(ToolUtil.isAllEmpty(startTime,endTime)){ -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// Calendar yesterday0 = Calendar.getInstance(); -// yesterday0.set(yesterday0.get(Calendar.YEAR),yesterday0.get(Calendar.MONTH),yesterday0.get(Calendar.DAY_OF_MONTH)-1,0,0,0); -// startTime = sdf.format(yesterday0.getTime()); -// -// Calendar yesterday24 = Calendar.getInstance(); -// yesterday24.set(yesterday24.get(Calendar.YEAR),yesterday24.get(Calendar.MONTH),yesterday24.get(Calendar.DAY_OF_MONTH)-1,23,59,59); -// endTime = sdf.format(yesterday24.getTime()); -// } -// -// // 获取数据 -// for (Long devId : devIds) { -// Device device = deviceService.selectById(devId); -// try { -// List recordsList = fetchRecords(device.getDevIp(),startTime,endTime,device.getDevCode()); -// recordsListAll.addAll(recordsList); -// }catch (Exception e){ -// e.printStackTrace(); -// errorCodes.add(device.getDevCode()); -// } -// } -// -// // 数据去重 -// Iterator iter = recordsListAll.iterator(); -// while (iter.hasNext()){ -// RecognitionRecords record = iter.next(); -// List oldRecords = selectByOriginalIdAndDevCode(record.getOriginalId(),record.getDevCode()); -// if(ToolUtil.isNotEmpty(oldRecords)){ -// iter.remove(); -// } -// } -// -// // 批量插入 -// if(ToolUtil.isNotEmpty(recordsListAll)){ -// logger.info("syncSuccess: " + recordsListAll.size()); -// this.insertBatch(recordsListAll); -// } -// -// if(ToolUtil.isNotEmpty(errorCodes)){ -// logger.info("syncError: " + StringUtils.join(errorCodes,",") ); -// } -// return errorCodes; -// } -// -// private List fetchRecords(String ip, String startTime, String endTime, String devCode){ -// logger.info("fetch Record: ip =" + ip + " startTime = " + startTime + " endTime = " + endTime); -// List recordsList = new ArrayList<>(); -// //启动驱动 -// String driverClassName = "com.mysql.jdbc.Driver"; -// //设置连接路径 -// String url = "jdbc:mysql://" + ip + ":" + jdbcPort + "/" + jdbcDbName; -// //数据库用户名 -// String username = jdbcUserName; -// //数据库连接密码 -// String password = jdbcUserPwd; -// //连接 -// Connection con = null; -// //使用预编译语句 -// PreparedStatement pstmt = null; -// //获取的结果集 -// ResultSet rs = null; -// try { -// //执行驱动 -// Class.forName(driverClassName); -// //获取连接 -// con = DriverManager.getConnection(url, username, password); -// //设置的预编译语句格式 -// String sql = "SELECT * FROM recognition_records WHERE DATETIME >= ? AND DATETIME <= ? "; -// pstmt = con.prepareStatement(sql); -// pstmt.setNString(1,startTime); -// pstmt.setNString(2,endTime); -// rs = pstmt.executeQuery(); -// if(rs == null){ -// return null; -// } -// while (rs.next()){ -// RecognitionRecords record = new RecognitionRecords(); -// record.setOriginalId(Long.valueOf(rs.getString("ID"))); -// record.setPersonId(Long.valueOf(rs.getString("PERSON_ID"))); -// record.setDatetime(rs.getTimestamp("DATETIME")); -// record.setDevCode(rs.getString("DEV_CODE")); -// if(ToolUtil.isEmpty(record.getDevCode())){ -// record.setDevCode(devCode); -// } -// record.setDoorCode(rs.getString("DOOR_CODE")); -// record.setInoutType(rs.getString("INOUT_TYPE")); -// record.setTemperature(rs.getString("TEMPERATURE")); -// record.setDevIp(ip); -// recordsList.add(record); -// } -// } catch (Exception e) { -// throw new RuntimeException(e); -// }finally { -// //关闭资源,倒关 -// try { -// if(rs != null){ -// rs.close(); -// } -// if(pstmt != null){ -// pstmt.close(); -// } -// // 必须要关 -// if(con != null){ -// con.close(); -// } -// } catch (Exception e) { -// } -// } -// logger.info("fetchSuccess: " + recordsList.size()); -// return recordsList; -// } -// -// private List selectByOriginalIdAndDevCode(Long originalId,String devCode){ -// EntityWrapper query = new EntityWrapper(); -// query.eq("ORIGINAL_ID",originalId); -// query.eq("DEV_CODE",devCode); -// return this.selectList(query); -// } + @Override + public List syncRecords(List devIds, String startTime, String endTime) { + List errorCodes = new ArrayList<>(); + List recordsListAll = new ArrayList<>(); + // 默认起止时间,昨日0点到24点 + if(ToolUtil.isAllEmpty(startTime,endTime)){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar yesterday0 = Calendar.getInstance(); + yesterday0.set(yesterday0.get(Calendar.YEAR),yesterday0.get(Calendar.MONTH),yesterday0.get(Calendar.DAY_OF_MONTH)-1,0,0,0); + startTime = sdf.format(yesterday0.getTime()); + + Calendar yesterday24 = Calendar.getInstance(); + yesterday24.set(yesterday24.get(Calendar.YEAR),yesterday24.get(Calendar.MONTH),yesterday24.get(Calendar.DAY_OF_MONTH)-1,23,59,59); + endTime = sdf.format(yesterday24.getTime()); + } + + // 获取数据 + for (Long devId : devIds) { + Device device = deviceService.selectById(devId); + try { + List recordsList = fetchRecords(device.getDevIp(),startTime,endTime,device.getDevCode()); + recordsListAll.addAll(recordsList); + }catch (Exception e){ + e.printStackTrace(); + errorCodes.add(device.getDevCode()); + } + } + + // 数据去重 + Iterator iter = recordsListAll.iterator(); + while (iter.hasNext()){ + RecognitionRecords record = iter.next(); + List oldRecords = selectByOriginalIdAndDevCode(record.getOriginalId(),record.getDevCode()); + if(ToolUtil.isNotEmpty(oldRecords)){ + iter.remove(); + } + } + + // 批量插入 + if(ToolUtil.isNotEmpty(recordsListAll)){ + logger.info("syncSuccess: " + recordsListAll.size()); + this.insertBatch(recordsListAll); + } + + if(ToolUtil.isNotEmpty(errorCodes)){ + logger.info("syncError: " + StringUtils.join(errorCodes,",") ); + } + return errorCodes; + } + + private List fetchRecords(String ip, String startTime, String endTime, String devCode){ + logger.info("fetch Record: ip =" + ip + " startTime = " + startTime + " endTime = " + endTime); + List recordsList = new ArrayList<>(); + //启动驱动 + String driverClassName = "com.mysql.jdbc.Driver"; + //设置连接路径 + String url = "jdbc:mysql://" + ip + ":" + jdbcPort + "/" + jdbcDbName; + //数据库用户名 + String username = jdbcUserName; + //数据库连接密码 + String password = jdbcUserPwd; + //连接 + Connection con = null; + //使用预编译语句 + PreparedStatement pstmt = null; + //获取的结果集 + ResultSet rs = null; + try { + //执行驱动 + Class.forName(driverClassName); + //获取连接 + con = DriverManager.getConnection(url, username, password); + //设置的预编译语句格式 + String sql = "SELECT * FROM recognition_records WHERE DATETIME >= ? AND DATETIME <= ? "; + pstmt = con.prepareStatement(sql); + pstmt.setNString(1,startTime); + pstmt.setNString(2,endTime); + rs = pstmt.executeQuery(); + if(rs == null){ + return null; + } + while (rs.next()){ + RecognitionRecords record = new RecognitionRecords(); + record.setOriginalId(Long.valueOf(rs.getString("ID"))); + record.setPersonId(Long.valueOf(rs.getString("PERSON_ID"))); + record.setDatetime(rs.getTimestamp("DATETIME")); + record.setDevCode(rs.getString("DEV_CODE")); + if(ToolUtil.isEmpty(record.getDevCode())){ + record.setDevCode(devCode); + } + record.setDoorCode(rs.getString("DOOR_CODE")); + record.setInoutType(rs.getString("INOUT_TYPE")); + record.setTemperature(rs.getString("TEMPERATURE")); + record.setDevIp(ip); + recordsList.add(record); + } + } catch (Exception e) { + throw new RuntimeException(e); + }finally { + //关闭资源,倒关 + try { + if(rs != null){ + rs.close(); + } + if(pstmt != null){ + pstmt.close(); + } + // 必须要关 + if(con != null){ + con.close(); + } + } catch (Exception e) { + } + } + logger.info("fetchSuccess: " + recordsList.size()); + return recordsList; + } + + private List selectByOriginalIdAndDevCode(Long originalId,String devCode){ + EntityWrapper query = new EntityWrapper(); + query.eq("ORIGINAL_ID",originalId); + query.eq("DEV_CODE",devCode); + return this.selectList(query); + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java index b7f2b8a..7039478 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java @@ -24,20 +24,20 @@ @Autowired private IRecognitionRecordsService recordsService; -// @Scheduled(cron = "${casic.iris.sync.cron}") -// public void job(){ -// List deviceList = deviceService.selectList(null); -// List deviceIds = new ArrayList<>(); -// for (Device device : deviceList) { -// deviceIds.add(Long.valueOf(device.getId())); -// } -// List errorCode = recordsService.syncRecords(deviceIds,null,null); -// if(ToolUtil.isNotEmpty(errorCode)){ -// logger.info("scheuled job, error:" + StringUtils.join(errorCode,",")); -// }else { -// logger.info("scheuled job success"); -// } -// } + @Scheduled(cron = "${casic.iris.sync.cron}") + public void job(){ + List deviceList = deviceService.selectList(null); + List deviceIds = new ArrayList<>(); + for (Device device : deviceList) { + deviceIds.add(Long.valueOf(device.getId())); + } + List errorCode = recordsService.syncRecords(deviceIds,null,null); + if(ToolUtil.isNotEmpty(errorCode)){ + logger.info("scheuled job, error:" + StringUtils.join(errorCode,",")); + }else { + logger.info("scheuled job success"); + } + } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java index b860ba7..c13f119 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/controller/RecognitionRecordsController.java @@ -157,16 +157,16 @@ } -// @RequestMapping(value = "/syncRecord") -// @ResponseBody -// public Object syncRecord(@RequestParam("devIds")List devIds, -// @RequestParam("startTime")String startTime, -// @RequestParam("endTime")String endTime){ -// List errorCode = recordsService.syncRecords(devIds,startTime,endTime); -// if(ToolUtil.isEmpty(errorCode)){ -// return ResponseData.success(); -// }else{ -// return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); -// } -// } + @RequestMapping(value = "/syncRecord") + @ResponseBody + public Object syncRecord(@RequestParam("devIds")List devIds, + @RequestParam("startTime")String startTime, + @RequestParam("endTime")String endTime){ + List errorCode = recordsService.syncRecords(devIds,startTime,endTime); + if(ToolUtil.isEmpty(errorCode)){ + return ResponseData.success(); + }else{ + return ResponseData.error("设备" + StringUtils.join(errorCode,",")+" 同步失败"); + } + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java index 67cc886..60511b4 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/RecognitionRecords.java @@ -35,8 +35,8 @@ /** * 原始记录id */ -// @TableField("ORIGINAL_ID") -// private Long originalId; + @TableField("ORIGINAL_ID") + private Long originalId; /** * 对应person表主键 */ @@ -68,11 +68,11 @@ @TableField("TEMPERATURE") private String temperature; -// @TableField("DEV_IP") -// private String devIp; -// -// @TableField("SYNC_TIME") -// private Date syncTime; + @TableField("DEV_IP") + private String devIp; + + @TableField("SYNC_TIME") + private Date syncTime; @Override protected Serializable pkVal() { @@ -83,14 +83,14 @@ public String toString() { return "RecognitionRecords{" + "id=" + id + -// ", originalId=" + originalId + + ", originalId=" + originalId + ", personId=" + personId + ", datetime=" + datetime + ", devCode=" + devCode + ", doorCode=" + doorCode + ", inoutType=" + inoutType + -// ", devIp=" + devIp + -// ", syncTime=" + syncTime + + ", devIp=" + devIp + + ", syncTime=" + syncTime + "}"; } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java index 7607c21..3811ebd 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IRecognitionRecordsService.java @@ -27,6 +27,6 @@ Boolean hasOutRecords(String doorCode); -// List syncRecords(List devIds, String startTime,String endTime); + List syncRecords(List devIds, String startTime,String endTime); } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java index 679b0c4..482896c 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/RecognitionRecordsServiceImpl.java @@ -190,128 +190,128 @@ } } -// @Override -// public List syncRecords(List devIds, String startTime, String endTime) { -// List errorCodes = new ArrayList<>(); -// List recordsListAll = new ArrayList<>(); -// // 默认起止时间,昨日0点到24点 -// if(ToolUtil.isAllEmpty(startTime,endTime)){ -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// Calendar yesterday0 = Calendar.getInstance(); -// yesterday0.set(yesterday0.get(Calendar.YEAR),yesterday0.get(Calendar.MONTH),yesterday0.get(Calendar.DAY_OF_MONTH)-1,0,0,0); -// startTime = sdf.format(yesterday0.getTime()); -// -// Calendar yesterday24 = Calendar.getInstance(); -// yesterday24.set(yesterday24.get(Calendar.YEAR),yesterday24.get(Calendar.MONTH),yesterday24.get(Calendar.DAY_OF_MONTH)-1,23,59,59); -// endTime = sdf.format(yesterday24.getTime()); -// } -// -// // 获取数据 -// for (Long devId : devIds) { -// Device device = deviceService.selectById(devId); -// try { -// List recordsList = fetchRecords(device.getDevIp(),startTime,endTime,device.getDevCode()); -// recordsListAll.addAll(recordsList); -// }catch (Exception e){ -// e.printStackTrace(); -// errorCodes.add(device.getDevCode()); -// } -// } -// -// // 数据去重 -// Iterator iter = recordsListAll.iterator(); -// while (iter.hasNext()){ -// RecognitionRecords record = iter.next(); -// List oldRecords = selectByOriginalIdAndDevCode(record.getOriginalId(),record.getDevCode()); -// if(ToolUtil.isNotEmpty(oldRecords)){ -// iter.remove(); -// } -// } -// -// // 批量插入 -// if(ToolUtil.isNotEmpty(recordsListAll)){ -// logger.info("syncSuccess: " + recordsListAll.size()); -// this.insertBatch(recordsListAll); -// } -// -// if(ToolUtil.isNotEmpty(errorCodes)){ -// logger.info("syncError: " + StringUtils.join(errorCodes,",") ); -// } -// return errorCodes; -// } -// -// private List fetchRecords(String ip, String startTime, String endTime, String devCode){ -// logger.info("fetch Record: ip =" + ip + " startTime = " + startTime + " endTime = " + endTime); -// List recordsList = new ArrayList<>(); -// //启动驱动 -// String driverClassName = "com.mysql.jdbc.Driver"; -// //设置连接路径 -// String url = "jdbc:mysql://" + ip + ":" + jdbcPort + "/" + jdbcDbName; -// //数据库用户名 -// String username = jdbcUserName; -// //数据库连接密码 -// String password = jdbcUserPwd; -// //连接 -// Connection con = null; -// //使用预编译语句 -// PreparedStatement pstmt = null; -// //获取的结果集 -// ResultSet rs = null; -// try { -// //执行驱动 -// Class.forName(driverClassName); -// //获取连接 -// con = DriverManager.getConnection(url, username, password); -// //设置的预编译语句格式 -// String sql = "SELECT * FROM recognition_records WHERE DATETIME >= ? AND DATETIME <= ? "; -// pstmt = con.prepareStatement(sql); -// pstmt.setNString(1,startTime); -// pstmt.setNString(2,endTime); -// rs = pstmt.executeQuery(); -// if(rs == null){ -// return null; -// } -// while (rs.next()){ -// RecognitionRecords record = new RecognitionRecords(); -// record.setOriginalId(Long.valueOf(rs.getString("ID"))); -// record.setPersonId(Long.valueOf(rs.getString("PERSON_ID"))); -// record.setDatetime(rs.getTimestamp("DATETIME")); -// record.setDevCode(rs.getString("DEV_CODE")); -// if(ToolUtil.isEmpty(record.getDevCode())){ -// record.setDevCode(devCode); -// } -// record.setDoorCode(rs.getString("DOOR_CODE")); -// record.setInoutType(rs.getString("INOUT_TYPE")); -// record.setTemperature(rs.getString("TEMPERATURE")); -// record.setDevIp(ip); -// recordsList.add(record); -// } -// } catch (Exception e) { -// throw new RuntimeException(e); -// }finally { -// //关闭资源,倒关 -// try { -// if(rs != null){ -// rs.close(); -// } -// if(pstmt != null){ -// pstmt.close(); -// } -// // 必须要关 -// if(con != null){ -// con.close(); -// } -// } catch (Exception e) { -// } -// } -// logger.info("fetchSuccess: " + recordsList.size()); -// return recordsList; -// } -// -// private List selectByOriginalIdAndDevCode(Long originalId,String devCode){ -// EntityWrapper query = new EntityWrapper(); -// query.eq("ORIGINAL_ID",originalId); -// query.eq("DEV_CODE",devCode); -// return this.selectList(query); -// } + @Override + public List syncRecords(List devIds, String startTime, String endTime) { + List errorCodes = new ArrayList<>(); + List recordsListAll = new ArrayList<>(); + // 默认起止时间,昨日0点到24点 + if(ToolUtil.isAllEmpty(startTime,endTime)){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar yesterday0 = Calendar.getInstance(); + yesterday0.set(yesterday0.get(Calendar.YEAR),yesterday0.get(Calendar.MONTH),yesterday0.get(Calendar.DAY_OF_MONTH)-1,0,0,0); + startTime = sdf.format(yesterday0.getTime()); + + Calendar yesterday24 = Calendar.getInstance(); + yesterday24.set(yesterday24.get(Calendar.YEAR),yesterday24.get(Calendar.MONTH),yesterday24.get(Calendar.DAY_OF_MONTH)-1,23,59,59); + endTime = sdf.format(yesterday24.getTime()); + } + + // 获取数据 + for (Long devId : devIds) { + Device device = deviceService.selectById(devId); + try { + List recordsList = fetchRecords(device.getDevIp(),startTime,endTime,device.getDevCode()); + recordsListAll.addAll(recordsList); + }catch (Exception e){ + e.printStackTrace(); + errorCodes.add(device.getDevCode()); + } + } + + // 数据去重 + Iterator iter = recordsListAll.iterator(); + while (iter.hasNext()){ + RecognitionRecords record = iter.next(); + List oldRecords = selectByOriginalIdAndDevCode(record.getOriginalId(),record.getDevCode()); + if(ToolUtil.isNotEmpty(oldRecords)){ + iter.remove(); + } + } + + // 批量插入 + if(ToolUtil.isNotEmpty(recordsListAll)){ + logger.info("syncSuccess: " + recordsListAll.size()); + this.insertBatch(recordsListAll); + } + + if(ToolUtil.isNotEmpty(errorCodes)){ + logger.info("syncError: " + StringUtils.join(errorCodes,",") ); + } + return errorCodes; + } + + private List fetchRecords(String ip, String startTime, String endTime, String devCode){ + logger.info("fetch Record: ip =" + ip + " startTime = " + startTime + " endTime = " + endTime); + List recordsList = new ArrayList<>(); + //启动驱动 + String driverClassName = "com.mysql.jdbc.Driver"; + //设置连接路径 + String url = "jdbc:mysql://" + ip + ":" + jdbcPort + "/" + jdbcDbName; + //数据库用户名 + String username = jdbcUserName; + //数据库连接密码 + String password = jdbcUserPwd; + //连接 + Connection con = null; + //使用预编译语句 + PreparedStatement pstmt = null; + //获取的结果集 + ResultSet rs = null; + try { + //执行驱动 + Class.forName(driverClassName); + //获取连接 + con = DriverManager.getConnection(url, username, password); + //设置的预编译语句格式 + String sql = "SELECT * FROM recognition_records WHERE DATETIME >= ? AND DATETIME <= ? "; + pstmt = con.prepareStatement(sql); + pstmt.setNString(1,startTime); + pstmt.setNString(2,endTime); + rs = pstmt.executeQuery(); + if(rs == null){ + return null; + } + while (rs.next()){ + RecognitionRecords record = new RecognitionRecords(); + record.setOriginalId(Long.valueOf(rs.getString("ID"))); + record.setPersonId(Long.valueOf(rs.getString("PERSON_ID"))); + record.setDatetime(rs.getTimestamp("DATETIME")); + record.setDevCode(rs.getString("DEV_CODE")); + if(ToolUtil.isEmpty(record.getDevCode())){ + record.setDevCode(devCode); + } + record.setDoorCode(rs.getString("DOOR_CODE")); + record.setInoutType(rs.getString("INOUT_TYPE")); + record.setTemperature(rs.getString("TEMPERATURE")); + record.setDevIp(ip); + recordsList.add(record); + } + } catch (Exception e) { + throw new RuntimeException(e); + }finally { + //关闭资源,倒关 + try { + if(rs != null){ + rs.close(); + } + if(pstmt != null){ + pstmt.close(); + } + // 必须要关 + if(con != null){ + con.close(); + } + } catch (Exception e) { + } + } + logger.info("fetchSuccess: " + recordsList.size()); + return recordsList; + } + + private List selectByOriginalIdAndDevCode(Long originalId,String devCode){ + EntityWrapper query = new EntityWrapper(); + query.eq("ORIGINAL_ID",originalId); + query.eq("DEV_CODE",devCode); + return this.selectList(query); + } } diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java index b7f2b8a..7039478 100644 --- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java +++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/task/RecordTask.java @@ -24,20 +24,20 @@ @Autowired private IRecognitionRecordsService recordsService; -// @Scheduled(cron = "${casic.iris.sync.cron}") -// public void job(){ -// List deviceList = deviceService.selectList(null); -// List deviceIds = new ArrayList<>(); -// for (Device device : deviceList) { -// deviceIds.add(Long.valueOf(device.getId())); -// } -// List errorCode = recordsService.syncRecords(deviceIds,null,null); -// if(ToolUtil.isNotEmpty(errorCode)){ -// logger.info("scheuled job, error:" + StringUtils.join(errorCode,",")); -// }else { -// logger.info("scheuled job success"); -// } -// } + @Scheduled(cron = "${casic.iris.sync.cron}") + public void job(){ + List deviceList = deviceService.selectList(null); + List deviceIds = new ArrayList<>(); + for (Device device : deviceList) { + deviceIds.add(Long.valueOf(device.getId())); + } + List errorCode = recordsService.syncRecords(deviceIds,null,null); + if(ToolUtil.isNotEmpty(errorCode)){ + logger.info("scheuled job, error:" + StringUtils.join(errorCode,",")); + }else { + logger.info("scheuled job success"); + } + } diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml index eb47a59..e929c09 100644 --- a/casic-web/src/main/resources/config/application-prod.yml +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -13,6 +13,16 @@ kaptcha-open: false #是否开启登录时验证码 (true/false) nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken,/process/processDiagram export-temp-path: D:\java\boot\iris\temp\ + iris: + recServiceHost: localhost + recServicePort: 20004 + sync: + cron: "0 0 1 * * ?" #每天凌晨1点执行一次 + jdbc: + port: 8098 + dbName: casic_iris_temperature + userName: root + userPwd: Casic203 mybatis-plus: global-config: sql-injector: com.casic.missiles.modular.metadata.inject.MetaSqlInject