diff --git a/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java b/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java index d4eaf7a..3eb4ea7 100644 --- a/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java +++ b/src/main/java/com/ssf/mysqloracletest/domain/JcjCjxxViewMysql.java @@ -13,113 +13,217 @@ import lombok.Data; * @TableName jcj_cjxx_view */ @Data +@TableName(value = "jcj_cjxx_view") public class JcjCjxxViewMysql implements Serializable { /** * */ + @TableField(value = "CJBH") private String CJBH; + @TableField(value = "JJBH") private String JJBH; + @TableField(value = "JJDBH") private String JJDBH; + @TableField(value = "PJDBH") private String PJDBH; + @TableField(value = "FKLYH") private String FKLYH; + @TableField(value = "CJLB") private String CJLB; + @TableField(value = "CJSJ") private String CJSJ; + @TableField(value = "DDXCSJ") private String DDXCSJ; + @TableField(value = "CJXZQH") private String CJXZQH; + @TableField(value = "CJJLX") private String CJJLX; + @TableField(value = "CJMLPH") private String CJMLPH; + @TableField(value = "CJMPHZ") private String CJMPHZ; + @TableField(value = "CJXZ") private String CJXZ; + @TableField(value = "SFCS") private String SFCS; + @TableField(value = "FSYY") private String FSYY; + @TableField(value = "TQQK") private String TQQK; + @TableField(value = "JQSX") private String JQSX; + @TableField(value = "CJR") private String CJR; + @TableField(value = "CJRHZXS") private String CJRHZXS; + @TableField(value = "CJRLXFS") private String CJRLXFS; + @TableField(value = "SFXQ") private String SFXQ; + @TableField(value = "SFSJSX") private String SFSJSX; + @TableField(value = "SFSJXX") private String SFSJXX; + @TableField(value = "CLJGNR") private String CLJGNR; + @TableField(value = "BCCLJG") private String BCCLJG; + @TableField(value = "SSXXQK") private String SSXXQK; + @TableField(value = "CJFKSJ") private String CJFKSJ; + @TableField(value = "SPSJ") private String SPSJ; + @TableField(value = "ZBLD") private String ZBLD; + @TableField(value = "ZBLDXM") private String ZBLDXM; + @TableField(value = "LDCLSJ") private String LDCLSJ; + @TableField(value = "CJJG") private String CJJG; + @TableField(value = "CJYSJSDW") private String CJYSJSDW; + @TableField(value = "CJYSJSR") private String CJYSJSR; + @TableField(value = "CJYSJSSJ") private String CJYSJSSJ; + @TableField(value = "CDJL") private String CDJL; + @TableField(value = "CDJDC") private String CDJDC; + @TableField(value = "CDCZ") private String CDCZ; + @TableField(value = "JJFNS") private String JJFNS; + @TableField(value = "JJETS") private String JJETS; + @TableField(value = "JJRZS") private String JJRZS; + @TableField(value = "JZQZ") private String JZQZ; + @TableField(value = "JZSY") private String JZSY; + @TableField(value = "RYSSS") private String RYSSS; + @TableField(value = "RYSWS") private String RYSWS; + @TableField(value = "LZSCRS") private String LZSCRS; + @TableField(value = "PHXXAJ") private String PHXXAJ; + @TableField(value = "PHXSAJ") private String PHXSAJ; + @TableField(value = "PHZAAJ") private String PHZAAJ; + @TableField(value = "TPRF") private String TPRF; + @TableField(value = "ZHZACY") private String ZHZACY; + @TableField(value = "ZJJJSS") private String ZJJJSS; + @TableField(value = "WHSS") private String WHSS; + @TableField(value = "AJSLR") private String AJSLR; + @TableField(value = "AJSLDW") private String AJSLDW; + @TableField(value = "GLAJBH") private String GLAJBH; + @TableField(value = "GLAJZT") private String GLAJZT; + @TableField(value = "GIS_X") private String GIS_X; + @TableField(value = "GIS_Y") private String GIS_Y; + @TableField(value = "DJDW") private String DJDW; + @TableField(value = "DJR") private String DJR; + @TableField(value = "DJSJ") private String DJSJ; + @TableField(value = "XGR") private String XGR; + @TableField(value = "XGSJ") private String XGSJ; + @TableField(value = "XGDW") private String XGDW; + @TableField(value = "DJRXM") private String DJRXM; + @TableField(value = "DJDWMC") private String DJDWMC; + @TableField(value = "XGRXM") private String XGRXM; + @TableField(value = "XGDWMC") private String XGDWMC; + @TableField(value = "CJDW") private String CJDW; + @TableField(value = "CJDWMC") private String CJDWMC; + @TableField(value = "CJXXDD") private String CJXXDD; + @TableField(value = "ZBLDDW") private String ZBLDDW; + @TableField(value = "ZBLDDWMC") private String ZBLDDWMC; + @TableField(value = "SPXGSJ") private String SPXGSJ; + @TableField(value = "YZB") private String YZB; + @TableField(value = "XZB") private String XZB; + @TableField(value = "BZSJ") private String BZSJ; + @TableField(value = "BZDW") private String BZDW; + @TableField(value = "BZR") private String BZR; + @TableField(value = "BZRXM") private String BZRXM; + @TableField(value = "BZDWMC") private String BZDWMC; + @TableField(value = "GXSJ") private String GXSJ; + @TableField(value = "GXRXM") private String GXRXM; + @TableField(value = "GXR") private String GXR; + @TableField(value = "GXDWMC") private String GXDWMC; + @TableField(value = "GXDW") private String GXDW; + @TableField(value = "CJLBMC") private String CJLBMC; + @TableField(value = "CJXZQHMC") private String CJXZQHMC; + @TableField(value = "CJJLXMC") private String CJJLXMC; + @TableField(value = "CJMPHZMC") private String CJMPHZMC; + @TableField(value = "SFCSMC") private String SFCSMC; + @TableField(value = "FSYYMC") private String FSYYMC; + @TableField(value = "TQQKMC") private String TQQKMC; + @TableField(value = "SFXQMC") private String SFXQMC; + @TableField(value = "CJJGMC") private String CJJGMC; + @TableField(value = "AJSLRMC") private String AJSLRMC; + @TableField(value = "AJSLDWMC") private String AJSLDWMC; + @TableField(value = "GLAJZTMC") private String GLAJZTMC; + @TableField(value = "WS_RKSJ") private String WS_RKSJ; + @TableField(value = "WS_XGSJ") private String WS_XGSJ; + @TableField(value = "WS_YXX") private String WS_YXX; + @TableField(value = "JQSXMC") private String JQSXMC; + @TableField(value = "RYWKSJ") private String RYWKSJ; - } \ No newline at end of file diff --git a/src/main/java/com/ssf/mysqloracletest/domain/MetaHandleAlarmInfo.java b/src/main/java/com/ssf/mysqloracletest/domain/MetaHandleAlarmInfo.java new file mode 100644 index 0000000..dcb931a --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/domain/MetaHandleAlarmInfo.java @@ -0,0 +1,90 @@ +package com.ssf.mysqloracletest.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 处警信息表 + * @TableName meta_handle_alarm_info + */ +@TableName(value ="meta_handle_alarm_info") +@Data +public class MetaHandleAlarmInfo implements Serializable { + /** + * 主键 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 警情编码 + */ + private String alarmCode; + /** + * 处警单位名称 + */ + private String handleAlarmUnit; + + /** + * 处警时间 + */ + private String handleAlarmTime; + + /** + * 处警简要警情 + */ + private String handleAlarmContent; + + /** + * 处警详细地点 + */ + private String handleAlarmAddress; + + /** + * 处警人姓名 + */ + private String handleAlarmUser; + + /** + * 处境人姓名和编码 + */ + private String handleAlarmUserCode; + + /** + * 处警结果 + */ + private String handleAlarmResult; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建者 + */ + private Integer createBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新者 + */ + private Integer updateBy; + + /** + * 0:不活跃,1:活跃 + */ + private Integer isActive; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/MetaHandleAlarmInfoMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/MetaHandleAlarmInfoMapper.java new file mode 100644 index 0000000..18522da --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/mapper/MetaHandleAlarmInfoMapper.java @@ -0,0 +1,18 @@ +package com.ssf.mysqloracletest.mapper; + +import com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 28758 +* @description 针对表【meta_handle_alarm_info(处警信息表)】的数据库操作Mapper +* @createDate 2023-12-01 19:02:18 +* @Entity com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo +*/ +public interface MetaHandleAlarmInfoMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/service/MetaHandleAlarmInfoService.java b/src/main/java/com/ssf/mysqloracletest/service/MetaHandleAlarmInfoService.java new file mode 100644 index 0000000..f24e401 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/MetaHandleAlarmInfoService.java @@ -0,0 +1,13 @@ +package com.ssf.mysqloracletest.service; + +import com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 28758 +* @description 针对表【meta_handle_alarm_info(处警信息表)】的数据库操作Service +* @createDate 2023-12-01 19:02:18 +*/ +public interface MetaHandleAlarmInfoService extends IService { + +} diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/MetaHandleAlarmInfoServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/MetaHandleAlarmInfoServiceImpl.java new file mode 100644 index 0000000..1ed979b --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/MetaHandleAlarmInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.ssf.mysqloracletest.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo; +import com.ssf.mysqloracletest.service.MetaHandleAlarmInfoService; +import com.ssf.mysqloracletest.mapper.MetaHandleAlarmInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author 28758 +* @description 针对表【meta_handle_alarm_info(处警信息表)】的数据库操作Service实现 +* @createDate 2023-12-01 19:02:18 +*/ +@Service +public class MetaHandleAlarmInfoServiceImpl extends ServiceImpl + implements MetaHandleAlarmInfoService{ + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/task/MetaHandleAlarmTask.java b/src/main/java/com/ssf/mysqloracletest/task/MetaHandleAlarmTask.java new file mode 100644 index 0000000..aae6aff --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/task/MetaHandleAlarmTask.java @@ -0,0 +1,122 @@ +package com.ssf.mysqloracletest.task; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql; +import com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo; +import com.ssf.mysqloracletest.service.JcjCjxxViewMysqlService; +import com.ssf.mysqloracletest.service.MetaHandleAlarmInfoService; +import com.ssf.mysqloracletest.service.MetaImpUserInfoService; +import com.ssf.mysqloracletest.utils.ConfigParam; +import com.ssf.mysqloracletest.utils.NumKit; +import com.ssf.mysqloracletest.utils.StringKit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * 用户数据接入 + */ +@Component +public class MetaHandleAlarmTask { + + private static final Logger logger = LoggerFactory.getLogger(MetaHandleAlarmTask.class); + + @Resource + private MetaHandleAlarmInfoService metaHandleAlarmInfoService; + + @Resource + private JcjCjxxViewMysqlService jcjCjxxViewMysqlService; + + final int oncesCounts = NumKit.checkInt(ConfigParam.oncesCounts) == 0 ? 1000 : NumKit.checkInt(ConfigParam.oncesCounts); + + private boolean cjxxTag = false; + + /** + * 连云港 对接海康平台获取人员基础数据 + * // + */ + @Scheduled(initialDelay = 100, fixedDelay = 3000) + public void transcjxx() { + + if (cjxxTag) { + return; + } + + if (!"true".equals(ConfigParam.metaHandleAlarmSwitch)) { + return; + } + + + try { + int countcjxx = jcjCjxxViewMysqlService.count(); + logger.info("countcjxx:" + countcjxx); + + if (countcjxx > 0) { + + cjxxTag = true; + + int count = countcjxx / oncesCounts; + CountDownLatch latch = new CountDownLatch(count); + ExecutorService cjxxPool = Executors.newFixedThreadPool(50); + + for (int i = 0; i <= count; i++) { + Map cjxxMap = new HashMap(); + cjxxMap.put("rowStart", i * oncesCounts); + cjxxMap.put("rowEnd", (i + 1) * oncesCounts); + cjxxPool.submit(() -> { + try { + List list = jcjCjxxViewMysqlService.lambdaQuery().list(); + for (JcjCjxxViewMysql cjxx : list) { + MetaHandleAlarmInfo metaHandleAlarmInfo = new MetaHandleAlarmInfo(); + metaHandleAlarmInfo.setAlarmCode(cjxx.getCJBH()); + metaHandleAlarmInfo.setHandleAlarmUnit(cjxx.getCJDWMC()); + metaHandleAlarmInfo.setHandleAlarmTime(cjxx.getCJSJ()); + metaHandleAlarmInfo.setHandleAlarmContent(cjxx.getCLJGNR()); + metaHandleAlarmInfo.setHandleAlarmAddress(cjxx.getCJXXDD()); + metaHandleAlarmInfo.setHandleAlarmUser(cjxx.getCJRHZXS()); + metaHandleAlarmInfo.setHandleAlarmUserCode(cjxx.getCJR()); + metaHandleAlarmInfo.setHandleAlarmResult(cjxx.getCJJGMC()); + //确定一个数据是否唯一 + MetaHandleAlarmInfo one = metaHandleAlarmInfoService.lambdaQuery().eq(MetaHandleAlarmInfo::getAlarmCode, cjxx.getCJBH()).one(); + if (one == null) { + metaHandleAlarmInfoService.save(metaHandleAlarmInfo); + logger.info("cjxx-" + cjxx.getCJBH() + ":插入成功"); + } else { + metaHandleAlarmInfoService.update(metaHandleAlarmInfo,new UpdateWrapper<>(metaHandleAlarmInfo)); + logger.info("cjxx-" + cjxx.getCJBH() + ":更新成功"); + } + } + } catch (Exception e) { + logger.info("cjxxs:" + e.getMessage()); + } + latch.countDown(); + }); + logger.info("cjxxMap数据总量:" + countcjxx + "," + "当前处理下标:" + cjxxMap.get("rowStart") + "/" + cjxxMap.get("rowEnd")); + } + + try { + // Wait for all threads to complete + latch.await(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + // 关闭线程池 + cjxxPool.shutdown(); + } + + } catch (Exception e) { + logger.info(StringKit.getTrace(e)); + } + } + + +} diff --git a/src/main/java/com/ssf/mysqloracletest/task/metaImpUserInfoTask.java b/src/main/java/com/ssf/mysqloracletest/task/MetaImpUserInfoTask.java similarity index 98% rename from src/main/java/com/ssf/mysqloracletest/task/metaImpUserInfoTask.java rename to src/main/java/com/ssf/mysqloracletest/task/MetaImpUserInfoTask.java index 945f1a0..b0538a4 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/metaImpUserInfoTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/MetaImpUserInfoTask.java @@ -25,9 +25,9 @@ import java.util.concurrent.Executors; * 用户数据接入 */ @Component -public class metaImpUserInfoTask { +public class MetaImpUserInfoTask { - private static final Logger logger = LoggerFactory.getLogger(metaImpUserInfoTask.class); + private static final Logger logger = LoggerFactory.getLogger(MetaImpUserInfoTask.class); @Resource private ZhxfZdrygkRyjbxxViewMysqlService zdryMysqlService; diff --git a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java index 9930f7e..a9c4120 100644 --- a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java +++ b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java @@ -25,6 +25,7 @@ public class ConfigParam { public static String metaImpUserSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("metaImpUserSwitch")); + public static String metaHandleAlarmSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("metaHandleAlarmSwitch")); //将数据洗进 --->业务表的开关---------------------------------------------------------------------------------------------------------- public static String NewNsydwSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("NewNsydwSwitch"));