diff --git a/config/application.properties b/config/application.properties index be9743e..dd42544 100644 --- a/config/application.properties +++ b/config/application.properties @@ -7,6 +7,7 @@ syfwSwitch=false syrkSwitch=false jksbSwitch=false +SwrySwitch=false cjxxSwitch=false zdrySwitch=false @@ -17,7 +18,7 @@ NewNsydwSwitch=false metaImpUserSwitch=false NewNalarminfoSwitch=false metaHandleAlarmSwitch=false -metaActualUnitUserInfoSwitch=false +metaActualUnitUserInfoSwitch=true metaActualUserInfoSwitch=true actualTimecjxxSwitch=false actualTimejjxxSwitch=false diff --git a/src/main/java/com/ssf/mysqloracletest/domain/TransitImpUserRecord.java b/src/main/java/com/ssf/mysqloracletest/domain/TransitImpUserRecord.java new file mode 100644 index 0000000..6e01b22 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/domain/TransitImpUserRecord.java @@ -0,0 +1,137 @@ +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.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +/** + * 涉稳列管人员人脸抓拍记录表 + * @TableName transit_imp_user_record + */ +@TableName(value ="transit_imp_user_record") +@Data +public class TransitImpUserRecord implements Serializable { + /** + * 主键 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 设备编码 + */ + private String deviceCode; + + /** + * 经度 + */ + private BigDecimal longitude; + + /** + * 纬度 + */ + private BigDecimal latitude; + + /** + * 经过位置 + */ + private String deviceAddress; + + /** + * 方位 + */ + private String orientation; + + /** + * 全景图 + */ + private String globalPic; + + /** + * 人脸图 + */ + private String userPic; + + /** + * 相似度 + */ + private String similarity; + + /** + * 姓名 + */ + private String ownerName; + + /** + * 号码 + */ + private String idCard; + + /** + * 联系电话 + */ + private String phone; + + /** + * 过车时间 + */ + private Long passTime; + + /** + * 过车时间(分区) + */ + private Date partitionField; + + /** + * 派出所名称 + */ + private String policeStationName; + + /** + * 管控依据 + */ + private String controlBasis; + + /** + * 管控依据备注 + */ + private String controlBasisNotes; + + /** + * 重点类型名称 + */ + private String impUserTypeName; + + /** + * 创建时间 + */ + 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/domain/TransitImpVehicleRecord.java b/src/main/java/com/ssf/mysqloracletest/domain/TransitImpVehicleRecord.java new file mode 100644 index 0000000..58091e9 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/domain/TransitImpVehicleRecord.java @@ -0,0 +1,142 @@ +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.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +/** + * 重点人车辆记录表 + * @TableName transit_imp_vehicle_record + */ +@TableName(value ="transit_imp_vehicle_record") +@Data +public class TransitImpVehicleRecord implements Serializable { + /** + * 主键 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 设备编码 + */ + private String deviceCode; + + /** + * 经度 + */ + private BigDecimal longitude; + + /** + * 纬度 + */ + private BigDecimal latitude; + + /** + * 经过位置 + */ + private String deviceAddress; + + /** + * 方位 + */ + private String orientation; + + /** + * 车牌号码 + */ + private String plateNo; + + /** + * 全景图 + */ + private String globalPic; + + /** + * 车牌图 + */ + private String platePic; + + /** + * 人像图 + */ + private String userPic; + + /** + * 车主姓名 + */ + private String ownerName; + + /** + * 证件号码 + */ + private String idCard; + + /** + * 联系电话 + */ + private String phone; + + /** + * 过车时间 + */ + private Long passTime; + + /** + * 过车时间(分区) + */ + private Date partitionField; + + /** + * 派出所名称 + */ + private String policeStationName; + + /** + * 管控依据 + */ + private String controlBasis; + + /** + * 管控依据备注 + */ + private String controlBasisNotes; + + /** + * 重点类型名称 + */ + private String impUserTypeName; + + /** + * 创建时间 + */ + 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/domain/VSwryGjxxOracle.java b/src/main/java/com/ssf/mysqloracletest/domain/VSwryGjxxOracle.java new file mode 100644 index 0000000..dd20213 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/domain/VSwryGjxxOracle.java @@ -0,0 +1,33 @@ +package com.ssf.mysqloracletest.domain; + +import lombok.Data; + +@Data +public class VSwryGjxxOracle { + + private String GJXXID; + private String GJLX; + private String KEY1; + private String VALUE1; + private String KEY2; + private String VALUE2; + private String KEY3; + private String VALUE3; + private String KEY4; + private String VALUE4; + private String KEY5; + private String VALUE5; + private String KEY6; + private String VALUE6; + private String KEY7; + private String VALUE7; + private String GJSJ; + private String RYWKSJ; + private String ZDRYSFZH; + private String ZDRYXM; + private String KEY8; + private String VALUE8; + private String DWBH; + private String JDZB; + private String WDZB; +} diff --git a/src/main/java/com/ssf/mysqloracletest/domain/VSySydwCyryMysql.java b/src/main/java/com/ssf/mysqloracletest/domain/VSySydwCyryMysql.java index 735c9bc..24f8575 100644 --- a/src/main/java/com/ssf/mysqloracletest/domain/VSySydwCyryMysql.java +++ b/src/main/java/com/ssf/mysqloracletest/domain/VSySydwCyryMysql.java @@ -43,5 +43,6 @@ public class VSySydwCyryMysql implements Serializable { private String YSBZK_GXSJ; @TableField(value = "DWMC") private String DWMC; + private String status; } \ No newline at end of file diff --git a/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java b/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java index a05865f..6af0ea7 100644 --- a/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java +++ b/src/main/java/com/ssf/mysqloracletest/domain/ZhxfZdrygkRyjbxxViewMysql.java @@ -121,4 +121,6 @@ public class ZhxfZdrygkRyjbxxViewMysql implements Serializable { @TableField(value = "CXZT") private String CXZT; + private String status; + } \ No newline at end of file diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/TransitImpUserRecordMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/TransitImpUserRecordMapper.java new file mode 100644 index 0000000..8c8ecf2 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/mapper/TransitImpUserRecordMapper.java @@ -0,0 +1,18 @@ +package com.ssf.mysqloracletest.mapper; + +import com.ssf.mysqloracletest.domain.TransitImpUserRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 28758 +* @description 针对表【transit_imp_user_record(涉稳列管人员人脸抓拍记录表)】的数据库操作Mapper +* @createDate 2023-12-05 16:27:16 +* @Entity com.ssf.mysqloracletest.domain.TransitImpUserRecord +*/ +public interface TransitImpUserRecordMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/TransitImpVehicleRecordMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/TransitImpVehicleRecordMapper.java new file mode 100644 index 0000000..5a8636d --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/mapper/TransitImpVehicleRecordMapper.java @@ -0,0 +1,18 @@ +package com.ssf.mysqloracletest.mapper; + +import com.ssf.mysqloracletest.domain.TransitImpVehicleRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 28758 +* @description 针对表【transit_imp_vehicle_record(重点人车辆记录表)】的数据库操作Mapper +* @createDate 2023-12-05 16:27:27 +* @Entity com.ssf.mysqloracletest.domain.TransitImpVehicleRecord +*/ +public interface TransitImpVehicleRecordMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/mapper/VSwryGjxxOracleMapper.java b/src/main/java/com/ssf/mysqloracletest/mapper/VSwryGjxxOracleMapper.java new file mode 100644 index 0000000..f2d74bc --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/mapper/VSwryGjxxOracleMapper.java @@ -0,0 +1,29 @@ +package com.ssf.mysqloracletest.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ssf.mysqloracletest.domain.JcjJjxxViewOracle; +import com.ssf.mysqloracletest.domain.VSwryGjxxOracle; +import com.ssf.mysqloracletest.domain.VSySydwCyryOracle; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +/** +* @author 28758 +* @description 针对表【v_sy_sydw_cyry】的数据库操作Mapper +* @createDate 2023-11-29 20:30:59 +* @Entity com.ssf.mysqloracletest.domain.VSySydwCyry +*/ +@Mapper +public interface VSwryGjxxOracleMapper extends BaseMapper { + public int countSwry(); + + public List getSwryList(Map map); + + public List getRealTimeRecording(String maxTime); +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/service/TransitImpUserRecordService.java b/src/main/java/com/ssf/mysqloracletest/service/TransitImpUserRecordService.java new file mode 100644 index 0000000..018b2b6 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/TransitImpUserRecordService.java @@ -0,0 +1,13 @@ +package com.ssf.mysqloracletest.service; + +import com.ssf.mysqloracletest.domain.TransitImpUserRecord; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 28758 +* @description 针对表【transit_imp_user_record(涉稳列管人员人脸抓拍记录表)】的数据库操作Service +* @createDate 2023-12-05 16:27:16 +*/ +public interface TransitImpUserRecordService extends IService { + +} diff --git a/src/main/java/com/ssf/mysqloracletest/service/TransitImpVehicleRecordService.java b/src/main/java/com/ssf/mysqloracletest/service/TransitImpVehicleRecordService.java new file mode 100644 index 0000000..736d6ee --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/TransitImpVehicleRecordService.java @@ -0,0 +1,13 @@ +package com.ssf.mysqloracletest.service; + +import com.ssf.mysqloracletest.domain.TransitImpVehicleRecord; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 28758 +* @description 针对表【transit_imp_vehicle_record(重点人车辆记录表)】的数据库操作Service +* @createDate 2023-12-05 16:27:27 +*/ +public interface TransitImpVehicleRecordService extends IService { + +} diff --git a/src/main/java/com/ssf/mysqloracletest/service/VSySwryGjxxOracleService.java b/src/main/java/com/ssf/mysqloracletest/service/VSySwryGjxxOracleService.java new file mode 100644 index 0000000..a3f4bd8 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/VSySwryGjxxOracleService.java @@ -0,0 +1,21 @@ +package com.ssf.mysqloracletest.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ssf.mysqloracletest.domain.JcjJjxxViewOracle; +import com.ssf.mysqloracletest.domain.VSwryGjxxOracle; + +import java.util.List; +import java.util.Map; + +/** +* @author 28758 +* @description 针对表【v_sy_sydw_Swry】的数据库操作Service +* @createDate 2023-11-29 20:30:59 +*/ +public interface VSySwryGjxxOracleService extends IService { + public int countSwry(); + + public List getSwryList(Map map); + + public List getRealTimeRecording(String maxTime); +} diff --git a/src/main/java/com/ssf/mysqloracletest/service/VSySydwCyryMysqlService.java b/src/main/java/com/ssf/mysqloracletest/service/VSySydwCyryMysqlService.java index 83c2c1c..0d43da8 100644 --- a/src/main/java/com/ssf/mysqloracletest/service/VSySydwCyryMysqlService.java +++ b/src/main/java/com/ssf/mysqloracletest/service/VSySydwCyryMysqlService.java @@ -12,7 +12,7 @@ import com.ssf.mysqloracletest.domain.ZhxfZdrygkRyjbxxViewMysql; public interface VSySydwCyryMysqlService extends IService { public VSySydwCyryMysql selectCyryById(String id); - public int insertCyry(VSySydwCyryMysql syrk); + public int insertCyry(VSySydwCyryMysql cyry); - public int updateCyryById(VSySydwCyryMysql syrk); + public int updateCyryById(VSySydwCyryMysql cyry); } diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/TransitImpUserRecordServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/TransitImpUserRecordServiceImpl.java new file mode 100644 index 0000000..9585f6d --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/TransitImpUserRecordServiceImpl.java @@ -0,0 +1,22 @@ +package com.ssf.mysqloracletest.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ssf.mysqloracletest.domain.TransitImpUserRecord; +import com.ssf.mysqloracletest.service.TransitImpUserRecordService; +import com.ssf.mysqloracletest.mapper.TransitImpUserRecordMapper; +import org.springframework.stereotype.Service; + +/** +* @author 28758 +* @description 针对表【transit_imp_user_record(涉稳列管人员人脸抓拍记录表)】的数据库操作Service实现 +* @createDate 2023-12-05 16:27:16 +*/ +@Service +public class TransitImpUserRecordServiceImpl extends ServiceImpl + implements TransitImpUserRecordService{ + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/TransitImpVehicleRecordServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/TransitImpVehicleRecordServiceImpl.java new file mode 100644 index 0000000..a692d75 --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/TransitImpVehicleRecordServiceImpl.java @@ -0,0 +1,22 @@ +package com.ssf.mysqloracletest.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ssf.mysqloracletest.domain.TransitImpVehicleRecord; +import com.ssf.mysqloracletest.service.TransitImpVehicleRecordService; +import com.ssf.mysqloracletest.mapper.TransitImpVehicleRecordMapper; +import org.springframework.stereotype.Service; + +/** +* @author 28758 +* @description 针对表【transit_imp_vehicle_record(重点人车辆记录表)】的数据库操作Service实现 +* @createDate 2023-12-05 16:27:27 +*/ +@Service +public class TransitImpVehicleRecordServiceImpl extends ServiceImpl + implements TransitImpVehicleRecordService{ + +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/service/impl/VSwryGjxxOracleServiceImpl.java b/src/main/java/com/ssf/mysqloracletest/service/impl/VSwryGjxxOracleServiceImpl.java new file mode 100644 index 0000000..b6d836b --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/service/impl/VSwryGjxxOracleServiceImpl.java @@ -0,0 +1,46 @@ +package com.ssf.mysqloracletest.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ssf.mysqloracletest.domain.JcjCjxxViewOracle; +import com.ssf.mysqloracletest.domain.VSwryGjxxOracle; +import com.ssf.mysqloracletest.mapper.VSwryGjxxOracleMapper; +import com.ssf.mysqloracletest.service.VSySwryGjxxOracleService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** +* @author 28758 +* @description 针对表【swry】的数据库操作Service实现 +* @createDate 2023-11-29 20:30:59 +*/ +@Service +@DS("oracleSydz") +public class VSwryGjxxOracleServiceImpl extends ServiceImpl + implements VSySwryGjxxOracleService { + + @Resource + private VSwryGjxxOracleMapper oracleMapper; + + @Override + public int countSwry() { + return oracleMapper.countSwry(); + } + + @Override + public List getSwryList(Map map) { + return oracleMapper.getSwryList(map); + } + + @Override + public List getRealTimeRecording(String time) { + return oracleMapper.getRealTimeRecording(time); + } +} + + + + diff --git a/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java b/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java index 763ea1e..5100199 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/JcjCjxxTask.java @@ -171,14 +171,14 @@ public class JcjCjxxTask { JcjCjxxViewMysql sBean = new JcjCjxxViewMysql(); BeanUtils.copyProperties(cjxx, sBean); //确定一个数据是否唯一 - JcjCjxxViewMysql checkcjxx = cjxxMysqlService.selectCjxxById(cjxx.getCJBH()); + JcjCjxxViewMysql checkcjxx = cjxxMysqlService.selectCjxxById(cjxx.getJJBH()); if (checkcjxx == null) { cjxxMysqlService.insertCjxx(sBean); - logger.info("cjxx-" + cjxx.getCJBH() + ":插入成功"); + logger.info("cjxx-" + cjxx.getJJBH() + ":插入成功"); } else { cjxxMysqlService.updateCjxxById(sBean); - logger.info("cjxx-" + cjxx.getCJBH() + ":更新成功"); + logger.info("cjxx-" + cjxx.getJJBH() + ":更新成功"); } } diff --git a/src/main/java/com/ssf/mysqloracletest/task/MetaHandleAlarmTask.java b/src/main/java/com/ssf/mysqloracletest/task/MetaHandleAlarmTask.java index 4bfb72b..89a272a 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/MetaHandleAlarmTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/MetaHandleAlarmTask.java @@ -77,7 +77,7 @@ public class MetaHandleAlarmTask { List list = jcjCjxxViewMysqlService.lambdaQuery().list(); for (JcjCjxxViewMysql cjxx : list) { MetaHandleAlarmInfo metaHandleAlarmInfo = new MetaHandleAlarmInfo(); - metaHandleAlarmInfo.setAlarmCode(cjxx.getCJBH()); + metaHandleAlarmInfo.setAlarmCode(cjxx.getJJBH()); metaHandleAlarmInfo.setHandleAlarmUnit(cjxx.getCJDWMC()); metaHandleAlarmInfo.setHandleAlarmTime(cjxx.getCJSJ()); metaHandleAlarmInfo.setHandleAlarmContent(cjxx.getCLJGNR()); @@ -86,15 +86,15 @@ public class MetaHandleAlarmTask { metaHandleAlarmInfo.setHandleAlarmUserCode(cjxx.getCJR()); metaHandleAlarmInfo.setHandleAlarmResult(cjxx.getCJJGMC()); //确定一个数据是否唯一 - MetaHandleAlarmInfo one = metaHandleAlarmInfoService.lambdaQuery().eq(MetaHandleAlarmInfo::getAlarmCode, cjxx.getCJBH()).one(); + MetaHandleAlarmInfo one = metaHandleAlarmInfoService.lambdaQuery().eq(MetaHandleAlarmInfo::getAlarmCode, cjxx.getJJBH()).one(); if (one == null) { metaHandleAlarmInfoService.save(metaHandleAlarmInfo); - logger.info("cjxx-" + cjxx.getCJBH() + ":插入成功"); + logger.info("cjxx-" + cjxx.getJJBH() + ":插入成功"); } else { UpdateWrapper metaHandleAlarmInfoUpdateWrapper = new UpdateWrapper<>(); - metaHandleAlarmInfoUpdateWrapper.eq("alarm_code", cjxx.getCJBH()); + metaHandleAlarmInfoUpdateWrapper.eq("alarm_code", cjxx.getJJBH()); metaHandleAlarmInfoService.update(metaHandleAlarmInfo,metaHandleAlarmInfoUpdateWrapper); - logger.info("cjxx-" + cjxx.getCJBH() + ":更新成功"); + logger.info("cjxx-" + cjxx.getJJBH() + ":更新成功"); } } } catch (Exception e) { diff --git a/src/main/java/com/ssf/mysqloracletest/task/MetaImpUserInfoTask.java b/src/main/java/com/ssf/mysqloracletest/task/MetaImpUserInfoTask.java index b21d2ef..d015d88 100644 --- a/src/main/java/com/ssf/mysqloracletest/task/MetaImpUserInfoTask.java +++ b/src/main/java/com/ssf/mysqloracletest/task/MetaImpUserInfoTask.java @@ -1,6 +1,8 @@ package com.ssf.mysqloracletest.task; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ssf.mysqloracletest.domain.MetaImpUserInfo; import com.ssf.mysqloracletest.domain.ZhxfZdrygkRyjbxxViewMysql; import com.ssf.mysqloracletest.service.MetaImpUserInfoService; @@ -8,6 +10,7 @@ import com.ssf.mysqloracletest.service.ZhxfZdrygkRyjbxxViewMysqlService; import com.ssf.mysqloracletest.utils.ConfigParam; import com.ssf.mysqloracletest.utils.NumKit; import com.ssf.mysqloracletest.utils.StringKit; +import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; @@ -17,24 +20,21 @@ 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 +@RequiredArgsConstructor public class MetaImpUserInfoTask { private static final Logger logger = LoggerFactory.getLogger(MetaImpUserInfoTask.class); + private final ZhxfZdrygkRyjbxxViewMysqlService zdryMysqlService; + private final MetaImpUserInfoService metaImpUserInfoService; - @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; /** * 连云港 对接海康平台获取人员基础数据 @@ -47,69 +47,56 @@ public class MetaImpUserInfoTask { return; } - try { - int countzdry = zdryMysqlService.count(); - logger.info("countzdry:" + countzdry); - - if (countzdry > 0) { - - int count = countzdry / oncesCounts; - - for (int i = 0; i <= count; i++) { - Map zdryMap = new HashMap(); - zdryMap.put("rowStart", i * oncesCounts); - zdryMap.put("rowEnd", (i + 1) * oncesCounts); - try { - List list = zdryMysqlService.lambdaQuery().list(); - for (ZhxfZdrygkRyjbxxViewMysql zdry : list) { - MetaImpUserInfo metaImpUserInfo = new MetaImpUserInfo(); - metaImpUserInfo.setUserName(zdry.getXM()); - metaImpUserInfo.setIdCard(zdry.getZJHM()); - if (zdry.getXB() != null) { - metaImpUserInfo.setSex(Integer.parseInt(zdry.getXB())); - } - metaImpUserInfo.setPhone(zdry.getSJHM()); - String s = "000000"; - if (zdry.getZDRYXL() != null && !zdry.getZDRYXL().contains(",")) { - String substring = zdry.getZDRYXL().substring(0, 4); - substring = substring + s; - metaImpUserInfo.setImpUserType(substring); - } else if (zdry.getZDRYXL().contains(",")) { - String[] split = zdry.getZDRYXL().split(","); - String substring = split[0].substring(0, 4); - String substring1 = split[1].substring(0, 4); - substring = substring + s + "," + substring1 + s; - metaImpUserInfo.setImpUserType(substring); - } - 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 { - UpdateWrapper metaImpUserInfoUpdateWrapper = new UpdateWrapper<>(); - metaImpUserInfoUpdateWrapper.eq("id_card", zdry.getZJHM()); - metaImpUserInfoService.update(metaImpUserInfo, metaImpUserInfoUpdateWrapper); - logger.info("zdry-" + zdry.getZJHM() + ":更新成功"); - } - } - } catch (Exception e) { - logger.info("zdrys:" + e.getMessage()); - } - logger.info("zdryMap数据总量:" + countzdry + "," + "当前处理下标:" + zdryMap.get("rowStart") + "/" + zdryMap.get("rowEnd")); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.isNull("status"); + Page page = new Page<>(1, 1000); + List list = zdryMysqlService.page(page,wrapper).getRecords(); + CountDownLatch latch = new CountDownLatch(list.size()); + ExecutorService zdryPool = Executors.newFixedThreadPool(5); + for (ZhxfZdrygkRyjbxxViewMysql zdry : list) { + MetaImpUserInfo metaImpUserInfo = new MetaImpUserInfo(); + metaImpUserInfo.setUserName(zdry.getXM()); + metaImpUserInfo.setIdCard(zdry.getZJHM()); + if (zdry.getXB() != null) { + metaImpUserInfo.setSex(Integer.parseInt(zdry.getXB())); + } + metaImpUserInfo.setPhone(zdry.getSJHM()); + String s = "000000"; + if (zdry.getZDRYXL() != null && !zdry.getZDRYXL().contains(",")) { + String substring = zdry.getZDRYXL().substring(0, 4); + substring = substring + s; + metaImpUserInfo.setImpUserType(substring); + } else if (zdry.getZDRYXL().contains(",")) { + String[] split = zdry.getZDRYXL().split(","); + String substring = split[0].substring(0, 4); + String substring1 = split[1].substring(0, 4); + substring = substring + s + "," + substring1 + s; + metaImpUserInfo.setImpUserType(substring); + } + metaImpUserInfo.setImpUserSubType(zdry.getZDRYXL()); + metaImpUserInfo.setHouseHoldRegister(zdry.getHJDQH()); + metaImpUserInfo.setHouseHoldAddress(zdry.getHJDXZ()); + metaImpUserInfo.setHouseHoldAddress(zdry.getHJDXZ()); + metaImpUserInfo.setHabitationRegister(zdry.getXZDHQ()); + metaImpUserInfo.setHabitationAddress(zdry.getXZDXZ()); + metaImpUserInfo.setRegisterUnitCode(zdry.getDJRDWDM()); + metaImpUserInfo.setRegisterUnitName(zdry.getDJRDWMC()); + boolean save = metaImpUserInfoService.save(metaImpUserInfo); + if (save){ + zdry.setStatus("1"); + zdryMysqlService.updateZdryjbxxById(zdry); } } - + try { + // Wait for all threads to complete + latch.await(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + zdryPool.shutdown(); } catch (Exception e) { - logger.info(StringKit.getTrace(e)); + logger.info("zdrys:" + e.getMessage()); } } diff --git a/src/main/java/com/ssf/mysqloracletest/task/VSwryGjxxTask.java b/src/main/java/com/ssf/mysqloracletest/task/VSwryGjxxTask.java new file mode 100644 index 0000000..0d8d52c --- /dev/null +++ b/src/main/java/com/ssf/mysqloracletest/task/VSwryGjxxTask.java @@ -0,0 +1,181 @@ +package com.ssf.mysqloracletest.task; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.ssf.mysqloracletest.domain.TransitImpUserRecord; +import com.ssf.mysqloracletest.domain.TransitImpVehicleRecord; +import com.ssf.mysqloracletest.domain.VSwryGjxxOracle; +import com.ssf.mysqloracletest.service.TransitImpUserRecordService; +import com.ssf.mysqloracletest.service.TransitImpVehicleRecordService; +import com.ssf.mysqloracletest.service.VSySwryGjxxOracleService; +import com.ssf.mysqloracletest.utils.ConfigParam; +import com.ssf.mysqloracletest.utils.NumKit; +import com.ssf.mysqloracletest.utils.StringKit; + +import lombok.RequiredArgsConstructor; +import oracle.sql.TRANSDUMP; +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.text.SimpleDateFormat; +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 +@RequiredArgsConstructor +public class VSwryGjxxTask { + + private static final Logger logger = LoggerFactory.getLogger(VSwryGjxxTask.class); + + + String pattern = "yyyyMMddHHmmss"; + + SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); + + + + private final VSySwryGjxxOracleService vSySwryGjxxOracleService; + + private final TransitImpUserRecordService transitImpUserRecordService; + + private final TransitImpVehicleRecordService transitImpVehicleRecordService; + + final int oncesCounts = NumKit.checkInt(ConfigParam.oncesCounts) == 0 ? 1000 : NumKit.checkInt(ConfigParam.oncesCounts); + + private boolean SwryTag = false; + + /** + * 连云港 对接海康平台获取人员基础数据 + * // + */ + @Scheduled(initialDelay = 100, fixedDelay = 3000) + public void transSwry() { + + if (SwryTag) { + return; + } + + if (!"true".equals(ConfigParam.SwrySwitch)) { + return; + } + + + try { + int countSwry = vSySwryGjxxOracleService.countSwry(); + logger.info("countSwry:" + countSwry); + + logger.info("countSwry:" + countSwry); + if (countSwry > 0) { + + SwryTag = true; + + int count = countSwry / oncesCounts; + CountDownLatch latch = new CountDownLatch(count); + ExecutorService SwryPool = Executors.newFixedThreadPool(50); + + for (int i = 0; i <= count; i++) { + Map SwryMap = new HashMap(); + SwryMap.put("rowStart", i * oncesCounts); + SwryMap.put("rowEnd", (i + 1) * oncesCounts); + SwryPool.submit(() -> { + try { + List Swrys = vSySwryGjxxOracleService.getSwryList(SwryMap); + for (VSwryGjxxOracle swry : Swrys) { + if ("02".equals(swry.getGJLX())){ + TransitImpVehicleRecord transitImpVehicleRecord = new TransitImpVehicleRecord(); + transitImpVehicleRecord.setDeviceCode(swry.getVALUE3()); + transitImpVehicleRecord.setLongitude(NumKit.checkBigDecimal(swry.getJDZB())); + transitImpVehicleRecord.setLatitude(NumKit.checkBigDecimal(swry.getWDZB())); + transitImpVehicleRecord.setDeviceAddress(swry.getVALUE1()); + transitImpVehicleRecord.setPlateNo(swry.getVALUE2()); + transitImpVehicleRecord.setGlobalPic(swry.getVALUE5()); + transitImpVehicleRecord.setUserPic(swry.getVALUE4()); + transitImpVehicleRecord.setOwnerName(swry.getZDRYXM()); + transitImpVehicleRecord.setIdCard(swry.getZDRYSFZH()); + transitImpVehicleRecord.setPassTime(NumKit.checkLong(swry.getRYWKSJ())); + transitImpVehicleRecord.setPartitionField(dateFormat.parse(swry.getRYWKSJ())); + TransitImpVehicleRecord one = transitImpVehicleRecordService.lambdaQuery().eq(TransitImpVehicleRecord::getGlobalPic, swry.getVALUE5()).one(); + if (one==null){ + boolean save = transitImpVehicleRecordService.save(transitImpVehicleRecord); + if (save) { + logger.info("Swry-" + swry.getGJXXID() + ":插入成功"); + } + }else { + UpdateWrapper transitImpVehicleRecordUpdateWrapper = new UpdateWrapper<>(); + transitImpVehicleRecordUpdateWrapper.eq("global_pic",swry.getVALUE5()); + boolean update = transitImpVehicleRecordService.update(transitImpVehicleRecord, transitImpVehicleRecordUpdateWrapper); + if (update) { + logger.info("Swry-" + swry.getGJXXID() + ":更新成功"); + } + } + + } + if ("03".equals(swry.getGJSJ())){ + TransitImpUserRecord transitImpUserRecord = new TransitImpUserRecord(); + transitImpUserRecord.setDeviceCode(swry.getVALUE6()); + transitImpUserRecord.setLongitude(NumKit.checkBigDecimal(swry.getJDZB())); + transitImpUserRecord.setLatitude(NumKit.checkBigDecimal(swry.getWDZB())); + transitImpUserRecord.setDeviceAddress(swry.getVALUE1()); + transitImpUserRecord.setGlobalPic(swry.getVALUE4()); + transitImpUserRecord.setUserPic(swry.getVALUE3()); + transitImpUserRecord.setSimilarity(swry.getVALUE2()); + transitImpUserRecord.setOwnerName(swry.getZDRYXM()); + transitImpUserRecord.setIdCard(swry.getZDRYSFZH()); + transitImpUserRecord.setPassTime(NumKit.checkLong(swry.getRYWKSJ())); + transitImpUserRecord.setPartitionField(dateFormat.parse(swry.getRYWKSJ())); + TransitImpUserRecord one = transitImpUserRecordService.lambdaQuery().eq(TransitImpUserRecord::getGlobalPic,swry.getVALUE4()).one(); + if (one==null) { + boolean save = transitImpUserRecordService.save(transitImpUserRecord); + if (save) { + logger.info("Swry-" + swry.getGJXXID() + ":插入成功"); + } + }else { + UpdateWrapper transitImpUserRecordUpdateWrapper = new UpdateWrapper<>(); + transitImpUserRecordUpdateWrapper.eq("global_pic",swry.getVALUE4()); + boolean update = transitImpUserRecordService.update(transitImpUserRecord, transitImpUserRecordUpdateWrapper); + if (update) { + logger.info("Swry-" + swry.getGJXXID() + ":更新成功"); + } + } + + } + + } + } catch (Exception e) { + logger.info("Swrys:" + StringKit.getTrace(e)); + } + latch.countDown(); + }); + logger.info("SwryMap数据总量:" + countSwry + "," + "当前处理下标:" + SwryMap.get("rowStart") + "/" + SwryMap.get("rowEnd")); + } + + try { + // Wait for all threads to complete + latch.await(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + // 关闭线程池 + SwryPool.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 3529764..405018e 100644 --- a/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java +++ b/src/main/java/com/ssf/mysqloracletest/utils/ConfigParam.java @@ -14,6 +14,7 @@ public class ConfigParam { public static String syfwSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("syfwSwitch")); public static String syrkSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("syrkSwitch")); + public static String SwrySwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("SwrySwitch")); public static String jksbSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("jksbSwitch")); public static String cjxxSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("cjxxSwitch")); @@ -36,8 +37,8 @@ public class ConfigParam { //CJ实时数据开关 public static String actualTimecjxxSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("actualTimecjxxSwitch")); public static String actualTimejjxxSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("actualTimejjxxSwitch")); -//rentalHouse数据清洗开关 -public static String RentalHouseSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("RentalHouseSwitch")); + //rentalHouse数据清洗开关 + public static String RentalHouseSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("RentalHouseSwitch")); public static String metaRealEstateInfoSwitch = StringKit.toString(PropertiesUtil.queryPropertiesByKey("metaRealEstateInfoSwitch")); diff --git a/src/main/resources/mapper/VSwryGjxxOracleMapper.xml b/src/main/resources/mapper/VSwryGjxxOracleMapper.xml new file mode 100644 index 0000000..7bf4a87 --- /dev/null +++ b/src/main/resources/mapper/VSwryGjxxOracleMapper.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/VSySydwCyryMysqlMapper.xml b/src/main/resources/mapper/VSySydwCyryMysqlMapper.xml index 70d5237..ae0f7cf 100644 --- a/src/main/resources/mapper/VSySydwCyryMysqlMapper.xml +++ b/src/main/resources/mapper/VSySydwCyryMysqlMapper.xml @@ -19,9 +19,11 @@ + +