diff --git a/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java b/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java index f999e40..a05865f 100644 --- a/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java +++ b/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java @@ -9,61 +9,116 @@ import java.io.Serializable; /** * @TableName zhxf_zdrygk_ryjbxx_view */ + +@TableName(value = "zhxf_zdrygk_ryjbxx_view") @Data public class ZhxfZdrygkRyjbxxViewMysql implements Serializable { + @TableField(value = "RYJBXXID") private String RYJBXXID; + @TableField(value = "XM") private String XM; + @TableField(value = "XMPY") private String XMPY; + @TableField(value = "YWXM") private String YWXM; + @TableField(value = "CYM") private String CYM; + @TableField(value = "XB") private String XB; + @TableField(value = "CSRQ") private String CSRQ; + @TableField(value = "ZJLX") private String ZJLX; + @TableField(value = "ZJHM") private String ZJHM; + @TableField(value = "GJ") private String GJ; + @TableField(value = "HYZK") private String HYZK; + @TableField(value = "ZC") private String ZC; + @TableField(value = "MZ") private String MZ; + @TableField(value = "JG") private String JG; + @TableField(value = "CH") private String CH; + @TableField(value = "ZJXY") private String ZJXY; + @TableField(value = "ZZMM") private String ZZMM; + @TableField(value = "WHCD") private String WHCD; + @TableField(value = "BYZK") private String BYZK; + @TableField(value = "RYSF") private String RYSF; + @TableField(value = "ZYLB") private String ZYLB; + @TableField(value = "ZWBH") private String ZWBH; + @TableField(value = "DNABH") private String DNABH; + @TableField(value = "QTZJLX") private String QTZJLX; + @TableField(value = "QTZJHM") private String QTZJHM; + @TableField(value = "GZDW") private String GZDW; + @TableField(value = "HJDQH") private String HJDQH; + @TableField(value = "HJDXZ") private String HJDXZ; + @TableField(value = "HJDJWDZB") private String HJDJWDZB; + @TableField(value = "HJDZRQ") private String HJDZRQ; + @TableField(value = "HJDZRQDM") private String HJDZRQDM; + @TableField(value = "XZDHQ") private String XZDHQ; + @TableField(value = "XZDXZ") private String XZDXZ; + @TableField(value = "XZDZRQ") private String XZDZRQ; + @TableField(value = "XZDZRQDM") private String XZDZRQDM; + @TableField(value = "XZDJWDZB") private String XZDJWDZB; + @TableField(value = "ZDRRYLBBJ") private String ZDRRYLBBJ; + @TableField(value = "ZDRYXL") private String ZDRYXL; + @TableField(value = "GXDWMC") private String GXDWMC; + @TableField(value = "GXDWDM") private String GXDWDM; + @TableField(value = "YXX") private String YXX; + @TableField(value = "BZXX") private String BZXX; + @TableField(value = "RYLY") private String RYLY; + @TableField(value = "DJRXM") private String DJRXM; + @TableField(value = "DJRSFZH") private String DJRSFZH; + @TableField(value = "DJRDWMC") private String DJRDWMC; + @TableField(value = "DJRDWDM") private String DJRDWDM; + @TableField(value = "DJSJ") private String DJSJ; + @TableField(value = "XZDJWDZBDZ") private String XZDJWDZBDZ; + @TableField(value = "CJFS") private String CJFS; + @TableField(value = "SJHM") private String SJHM; + @TableField(value = "YWSJHM") private String YWSJHM; + @TableField(value = "CXZT") private String CXZT; } \ No newline at end of file diff --git a/src/main/java/com/ssf/mysqloracletest/task/VSySyrkTask.java b/src/main/java/com/ssf/mysqloracletest/task/VSySyrkTask.java index 5644511..6ab8d8d 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/VSySyrkTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/VSySyrkTask.java @@ -25,7 +25,8 @@ import java.util.concurrent.Executors; * 用户数据接入 */ @Component -public class VSySyrkTask { +public class +VSySyrkTask { private static final Logger logger = LoggerFactory.getLogger(VSySyrkTask.class); diff --git a/src/main/java/com/ssf/mysqloracletest/task/metaImpUserInfoTask.java b/src/main/java/com/ssf/mysqloracletest/task/metaImpUserInfoTask.java new file mode 100644 index 0000000..ca3fe8d --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/task/metaImpUserInfoTask.java @@ -0,0 +1,128 @@ +package com.ssf.mysqloracletest.task; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ssf.mysqloracletest.domain.MetaImpUserInfo; +import com.ssf.mysqloracletest.domain.ZhxfZdrygkRyjbxxViewMysql; +import com.ssf.mysqloracletest.domain.ZhxfZdrygkRyjbxxViewOracle; +import com.ssf.mysqloracletest.service.MetaImpUserInfoService; +import com.ssf.mysqloracletest.service.ZhxfZdrygkRyjbxxViewMysqlService; +import com.ssf.mysqloracletest.service.ZhxfZdrygkRyjbxxViewOracleService; +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.beans.BeanUtils; +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 metaImpUserInfoTask { + + private static final Logger logger = LoggerFactory.getLogger(metaImpUserInfoTask.class); + + @Resource + private ZhxfZdrygkRyjbxxViewMysqlService zdryMysqlService; + + @Resource + private MetaImpUserInfoService metaImpUserInfoService; + + final int oncesCounts = NumKit.checkInt(ConfigParam.oncesCounts) == 0 ? 1000 : NumKit.checkInt(ConfigParam.oncesCounts); + + private boolean zdryTag = false; + + /** + * 连云港 对接海康平台获取人员基础数据 + * // + */ + @Scheduled(initialDelay = 100, fixedDelay = 3000) + public void transzdry() { + + if (zdryTag) { + return; + } + + if (!"true".equals(ConfigParam.metaImpUserSwitch)) { + return; + } + + + try { + int countzdry = zdryMysqlService.count(); + logger.info("countzdry:" + countzdry); + + if (countzdry > 0) { + + zdryTag = true; + + int count = countzdry / oncesCounts; + CountDownLatch latch = new CountDownLatch(count); + ExecutorService zdryPool = Executors.newFixedThreadPool(50); + + for (int i = 0; i <= count; i++) { + Map zdryMap = new HashMap(); + zdryMap.put("rowStart", i * oncesCounts); + zdryMap.put("rowEnd", (i + 1) * oncesCounts); + zdryPool.submit(() -> { + try { + List list = zdryMysqlService.lambdaQuery().list(); + for (ZhxfZdrygkRyjbxxViewMysql zdry : list) { + MetaImpUserInfo metaImpUserInfo = new MetaImpUserInfo(); + metaImpUserInfo.setUserName(zdry.getXM()); + metaImpUserInfo.setIdCard(zdry.getZJHM()); + metaImpUserInfo.setSex(Integer.parseInt(zdry.getXB())); + metaImpUserInfo.setPhone(zdry.getSJHM()); + metaImpUserInfo.setImpUserType(zdry.getZDRRYLBBJ()); + metaImpUserInfo.setImpUserSubType(zdry.getZDRYXL()); + metaImpUserInfo.setHouseHoldRegister(zdry.getHJDQH()); + metaImpUserInfo.setHouseHoldAddress(zdry.getHJDXZ()); + metaImpUserInfo.setHabitationRegister(zdry.getXZDHQ()); + metaImpUserInfo.setHabitationAddress(zdry.getXZDXZ()); + metaImpUserInfo.setRegisterUnitCode(zdry.getDJRDWDM()); + metaImpUserInfo.setRegisterUnitName(zdry.getDJRDWMC()); + //确定一个数据是否唯一 + MetaImpUserInfo one = metaImpUserInfoService.lambdaQuery().eq(MetaImpUserInfo::getIdCard, zdry.getZJHM()).one(); + if (one == null) { + metaImpUserInfoService.save(metaImpUserInfo); + logger.info("zdry-" + zdry.getZJHM() + ":插入成功"); + } else { + metaImpUserInfoService.update(new QueryWrapper<>(metaImpUserInfo)); + logger.info("zdry-" + zdry.getZJHM() + ":更新成功"); + } + } + } catch (Exception e) { + logger.info("zdrys:" + e.getMessage()); + } + latch.countDown(); + }); + logger.info("zdryMap数据总量:" + countzdry + "," + "当前处理下标:" + zdryMap.get("rowStart") + "/" + zdryMap.get("rowEnd")); + } + + try { + // Wait for all threads to complete + latch.await(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + // 关闭线程池 + zdryPool.shutdown(); + } + + } catch (Exception e) { + logger.info(StringKit.getTrace(e)); + } + } + + +} diff --git a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java index 7ef0bf6..7b66844 100644 --- a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java +++ b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java @@ -22,4 +22,8 @@ public class ConfigParam { public static String JjxxSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("JjxxSwitch")); public static String cyrySwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("cyrySwitch")); public static String GyzhafPhotoPicPath = StringKit.toString(PropertiesUtil.queryPropertiesByKey("GyzhafPhotoPicPath")); + + + public static String metaImpUserSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("metaImpUserSwitch")); + }