Browse Source

新标准

master
kami 1 year ago
parent
commit
d9489be206
  1. 74
      src/main/java/com/biutag/supervisiondata/config/db/WdpcMySql.java
  2. 36
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  3. 13
      src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseWFRXXMapper.java
  4. 4
      src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcGrjdJsbryMapper.java
  5. 12
      src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java
  6. 8
      src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseWFRXX.java
  7. 2
      src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcGrjdJsbry.java
  8. 8
      src/main/java/com/biutag/supervisiondata/pojo/enums/Edu.java
  9. 10
      src/main/java/com/biutag/supervisiondata/repository/RiskTaskRepository.java
  10. 4
      src/main/java/com/biutag/supervisiondata/repository/WdpcGrjdJsbryRepository.java
  11. 8
      src/main/java/com/biutag/supervisiondata/service/GBaseSHRWFRService.java
  12. 77
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java
  13. 72
      src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java
  14. 69
      src/main/java/com/biutag/supervisiondata/service/impl/NoControlServiceImpl.java
  15. 2
      src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java
  16. 6
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java
  17. 11
      src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java
  18. 12
      src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java
  19. 12
      src/main/resources/application.yml

74
src/main/java/com/biutag/supervisiondata/config/db/WdpcMySql.java

@ -0,0 +1,74 @@
package com.biutag.supervisiondata.config.db;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.zaxxer.hikari.HikariDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
/**
* @author kami
* @since 10:22 2020/4/5
*/
@Configuration
@MapperScan(basePackages = {"com.biutag.supervisiondata.mapper.wdpc2"},
sqlSessionFactoryRef = "wdpcMysqlSessionFactory")
public class WdpcMySql {
@Bean(name = "wdpcMysqlBean")
@ConfigurationProperties(prefix = "spring.datasource.wdpc2")
public DataSource mysqlDataSource() {
return DataSourceBuilder.create()
.type(HikariDataSource.class).build();
}
@Bean(name = "wdpcMysqlTransactionManager")
public DataSourceTransactionManager transactionManager() {
return new DataSourceTransactionManager(mysqlDataSource());
}
@Bean(name = "wdpcMysqlSessionFactory")
public SqlSessionFactory mysqlSqlSessionFactory(@Qualifier("wdpcMysqlBean") DataSource mysqlDataSource) throws Exception {
final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
sessionFactory.setPlugins(mybatisPlusInterceptor);
sessionFactory.setDataSource(mysqlDataSource);
GlobalConfig globalConfig = GlobalConfigUtils
.defaults();
sessionFactory.setGlobalConfig(globalConfig);
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.setJdbcTypeForNull(JdbcType.NULL);
configuration.setMapUnderscoreToCamelCase(true);
configuration.setDatabaseId(DbType.MYSQL.getDb());
sessionFactory.setConfiguration(configuration);
return sessionFactory.getObject();
}
/**
* mp分页配置
* @return MybatisPlusInterceptor
*/
@Bean(name = "wdpcMysqlInterceptor")
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}

36
src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java

@ -91,6 +91,9 @@ public class ApplicationEvent {
@Resource @Resource
private PersonalService personalService; private PersonalService personalService;
@Resource
private WdpcGrjdJsbryService jsbryService;
@EventListener(ApplicationReadyEvent.class) @EventListener(ApplicationReadyEvent.class)
public void serviceReady() { public void serviceReady() {
@ -105,6 +108,7 @@ public class ApplicationEvent {
// personalService.init(); // personalService.init();
// personalService.pullInvestigate(); // personalService.pullInvestigate();
// personalService.pullPsychosis();
// gBaseJJDService.pullAndSave(start, end); // gBaseJJDService.pullAndSave(start, end);
// gBaseSHRWFRService.pullAndSave(start, end); // gBaseSHRWFRService.pullAndSave(start, end);
// petitionService.personPullAndSave(start, end); // petitionService.personPullAndSave(start, end);
@ -114,33 +118,41 @@ public class ApplicationEvent {
// //
// gBaseJJDService.pullPoliceInstance(start, end); // gBaseJJDService.pullPoliceInstance(start, end);
// //
// riskTaskService.heightFight(initDomain(List.of(42)));
// petitionService.petitionModelTask(initDomain(List.of(40))); // petitionService.petitionModelTask(initDomain(List.of(40)));
// riskTaskService.eduModelTask(initDomain(List.of(34))); // riskTaskService.eduModelTask(initDomain(List.of(34)));
// riskTaskService.infoModelTask(initDomain(List.of(32,33))); // riskTaskService.infoModelTask(initDomain(List.of(32,33)));
// marriageService.marriageModelTask(initDomain(List.of(39,51)));
// riskTaskService.caseModelTask(initDomain(List.of(35))); // riskTaskService.caseModelTask(initDomain(List.of(35)));
// pointService.syncSecurity(initDomain(List.of(37))); // pointService.syncSecurity(initDomain(List.of(37)));
// policeService.contradictModelTask(initDomain(List.of(38))); // policeService.contradictModelTask(initDomain(List.of(38)));
// habitService.habitModelTask(initDomain(List.of(36))); // habitService.habitModelTask(initDomain(List.of(36,60,61,62)));
// marriageService.marriageModelTask(initDomain(List.of(39,51)));
// pointService.syncCarUser(initDomain(List.of(53))); // pointService.syncCarUser(initDomain(List.of(53)));
// riskTaskService.riskAreaModelTask(initDomain(List.of(41))); // riskTaskService.riskAreaModelTask(initDomain(List.of(41)));
// pointService.syncScore(initDomain(List.of(43))); // pointService.syncScore(initDomain(List.of(43)));
// pointService.syncViolence(initDomain(List.of(44))); // pointService.syncViolence(initDomain(List.of(44)));
// noControlService.syncNoControlData(initDomain(List.of(45,49))); // noControlService.syncNoControlData(initDomain(List.of(45)));
// pointService.syncKillSelf(initDomain(List.of(46))); // pointService.syncKillSelf(initDomain(List.of(46)));
// pointService.syncDrug(initDomain(List.of(37))); // pointService.syncDrug(initDomain(List.of(37)));
// pointService.syncControlNoPower(initDomain(List.of(48))); // pointService.syncControlNoPower(initDomain(List.of(48)));
// pointService.syncPointCall(initDomain(List.of(50)));
// pointService.syncOilBuy(initDomain(List.of(52))); // pointService.syncOilBuy(initDomain(List.of(52)));
pointService.syncIsPetition(initDomain(List.of(40))); // jsbryService.syncPys(initDomain(List.of(59)));
// pointService.syncFatherEducation(initDomain(List.of(112)));
// pointService.syncMotherEducation(initDomain(List.of(113))); // pointService.syncIsPetition(initDomain(List.of(101)));
pointService.syncDomicileType(initDomain(List.of(114))); // pointService.syncFatherEducation(initDomain(List.of(102)));
pointService.syncCriminalPunishment(initDomain(List.of(115))); // pointService.syncMotherEducation(initDomain(List.of(103)));
pointService.syncAdministrativePunishment(initDomain(List.of(116))); // pointService.syncDomicileType(initDomain(List.of(104)));
pointService.syncParentsDivorce(initDomain(List.of(117))); // pointService.syncCriminalPunishment(initDomain(List.of(115)));
// pointService.syncAdministrativePunishment(initDomain(List.of(116)));
// pointService.syncParentsDivorce(initDomain(List.of(117)));
// pointService.syncFamilyDie(initDomain(List.of(118))); // 未完成 // pointService.syncFamilyDie(initDomain(List.of(118))); // 未完成
// *********暂时不要**********
// riskTaskService.heightFight(initDomain(List.of(42)));
// pointService.syncPointCall(initDomain(List.of(50)));
}); });
} }

13
src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseWFRXXMapper.java

@ -21,11 +21,22 @@ public interface GBaseWFRXXMapper extends BaseMapper<GBaseWFRXX> {
* @param endTime 查询结束时间处警时间 * @param endTime 查询结束时间处警时间
* @return 列表 * @return 列表
*/ */
@Select(" select ajbh,zjhm,xm,xbdm,lxdh from dwd_ry_zfba_wfryxx " + @Select(" select ajbh,zjhm,xm,lxdh from dwd_ry_zfba_wfryxx " +
" where lrsj between #{startTime} and #{endTime} " + " where lrsj between #{startTime} and #{endTime} " +
" and ajbh is not null") " and ajbh is not null")
List<GBaseWFRXX> selectDataToRisk(@Param("startTime")String startTime, @Param("endTime")String endTime); List<GBaseWFRXX> selectDataToRisk(@Param("startTime")String startTime, @Param("endTime")String endTime);
/**
* 5年内犯罪
* @param startTime 查询开始时间处警时间
* @param endTime 查询结束时间处警时间
* @return 列表
*/
@Select(" select ajbh,zjhm,sxzm,lrsj from dwd_ry_zfba_wfryxx " +
" where lrsj between #{startTime} and #{endTime} " +
" and ajbh is not null")
List<GBaseWFRXX> selectFiveYearsCombatCrime(@Param("startTime")String startTime, @Param("endTime")String endTime);
/** /**
* @return 列表 * @return 列表
*/ */

4
src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcGrjdJsbryMapper.java → src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcGrjdJsbryMapper.java

@ -1,7 +1,7 @@
package com.biutag.supervisiondata.mapper.wdpc; package com.biutag.supervisiondata.mapper.wdpc2;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdJsbry; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdJsbry;
/** /**
* @author kami on 2024-12-06 10:23:13 * @author kami on 2024-12-06 10:23:13

12
src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java

@ -66,7 +66,15 @@ public class Default {
public static final String TRUBO_IG = "涉矛盾纠纷因素"; public static final String TRUBO_IG = "涉矛盾纠纷因素";
public static final String HABBIT_IG = "不良嗜好因素"; public static final String HABBIT_IG = "成瘾性行为";
public static final String DRINK = "酗酒";
public static final String YEAR_DRINK = "近一年酗酒";
public static final String GAMBLING = "赌博";
public static final String OTHER_HABIT = "其他成瘾行为";
public static final String FIGHT_IG = "民风习俗因素"; public static final String FIGHT_IG = "民风习俗因素";
@ -92,6 +100,8 @@ public class Default {
public static final String CAR_IG ="有车因素"; public static final String CAR_IG ="有车因素";
public static final String WF_IG = "涉访涉诉、前科劣迹";
public static final String IS_PETITION = "信访、投诉-信访局信访"; public static final String IS_PETITION = "信访、投诉-信访局信访";
public static final String FATHER_EDUCATION = "父亲文化程度"; public static final String FATHER_EDUCATION = "父亲文化程度";

8
src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseWFRXX.java

@ -6,6 +6,7 @@ import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* 违法人信息 * 违法人信息
@ -24,11 +25,6 @@ public class GBaseWFRXX implements Serializable {
*/ */
@TableField("xm") @TableField("xm")
String xm; String xm;
/**
* 性别代码
*/
@TableField("xbdm")
String xbdm;
/** /**
* 证件号码 * 证件号码
*/ */
@ -49,4 +45,6 @@ public class GBaseWFRXX implements Serializable {
*/ */
@TableField("sxzm") @TableField("sxzm")
String sxzm; String sxzm;
@TableField("lrsj")
Date lrsj;
} }

2
src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcGrjdJsbry.java → src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcGrjdJsbry.java

@ -1,4 +1,4 @@
package com.biutag.supervisiondata.pojo.entity.wdpc; package com.biutag.supervisiondata.pojo.entity.wdpc2;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;

8
src/main/java/com/biutag/supervisiondata/pojo/enums/Edu.java

@ -14,9 +14,11 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public enum Edu { public enum Edu {
LOW("小学及以下", 3), LOW("小学及以下", 5),
MIDDLE("初中/高中", 2), MIDDLE("初中", 4),
HEIGHT("中专/大专", 1); MIDDLE_HEIGHT("高中/中专", 3),
HEIGHT("大学", 2),
OTHER("大学以上", 1);
private final String desc; private final String desc;

10
src/main/java/com/biutag/supervisiondata/repository/RiskTaskRepository.java

@ -24,4 +24,14 @@ public class RiskTaskRepository extends ServiceImpl<RiskTaskMapper, RiskTask> {
save(task); save(task);
return task; return task;
} }
public void updateTask(Integer taskId, Integer size, Integer updateSize) {
RiskTask updateTask = new RiskTask();
updateTask.setId(taskId);
updateTask.setInsertSize(size);
updateTask.setUpdateSize(updateSize);
updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now());
updateById(updateTask);
}
} }

4
src/main/java/com/biutag/supervisiondata/repository/WdpcGrjdJsbryRepository.java

@ -1,8 +1,8 @@
package com.biutag.supervisiondata.repository; package com.biutag.supervisiondata.repository;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervisiondata.mapper.wdpc.WdpcGrjdJsbryMapper; import com.biutag.supervisiondata.mapper.wdpc2.WdpcGrjdJsbryMapper;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdJsbry; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdJsbry;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**

8
src/main/java/com/biutag/supervisiondata/service/GBaseSHRWFRService.java

@ -1,5 +1,7 @@
package com.biutag.supervisiondata.service; package com.biutag.supervisiondata.service;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -13,4 +15,10 @@ public interface GBaseSHRWFRService {
* 拉取和转存 * 拉取和转存
*/ */
void pullAndSave(LocalDateTime start, LocalDateTime end); void pullAndSave(LocalDateTime start, LocalDateTime end);
/**
* 打击5年内犯罪
* @param domain
*/
void combatCrime(TaskParamDomain domain);
} }

77
src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java

@ -2,18 +2,24 @@ package com.biutag.supervisiondata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.pojo.ClueData;
import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.database.PointOrg; import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseSHRXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseSHRXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.pojo.entity.mine.RiskTask;
import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart; import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart;
import com.biutag.supervisiondata.pojo.enums.DepartType; import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.GBaseSHRWFRService; import com.biutag.supervisiondata.service.GBaseSHRWFRService;
import com.biutag.supervisiondata.service.RiskModelTaskClueService;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.util.BhUtil;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -274,7 +280,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
} }
PointOrg org = orgCodeMap.get(jjx.getBadwiddm()); PointOrg org = orgCodeMap.get(jjx.getBadwiddm());
org = findOrg(org, orgIdMap); org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null); SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(jqExternalDepart::get).orElse(null);
if (depart == null) { if (depart == null) {
personal.setControlDepartId(null); personal.setControlDepartId(null);
personal.setControlDepartName(null); personal.setControlDepartName(null);
@ -299,6 +305,59 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
riskPersonalService.formatAndSave(personals, Default.BIG_TAG_SHWFR); riskPersonalService.formatAndSave(personals, Default.BIG_TAG_SHWFR);
} }
private final RiskTaskRepository taskRepository;
private final RiskModelTaskClueService clueService;
@Override
public void combatCrime(TaskParamDomain domain) {
LocalDateTime start = LocalDateTime.of(2019,12,6,0,0,0);
LocalDateTime end = LocalDate.now().atTime(0,0,0);
List<GBaseWFRXX> xxList = wfrxxRepository.getBaseMapper().selectFiveYearsCombatCrime(start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
RiskTask task = taskRepository.create(xxList.size(), 63);
List<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>());
// 按人分
Map<String, List<RiskModelTaskClue>> personOldMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode));
Map<String, List<GBaseWFRXX>> wfrMap = xxList.stream().collect(Collectors.groupingBy(GBaseWFRXX::getZjhm));
List<RiskModelTaskClue> toInsert = new ArrayList<>();
for (RiskPersonal person : domain.getPersons()) {
List<GBaseWFRXX> wfxxList = wfrMap.get(person.getIdCode());
if(wfxxList == null) {
continue;
}
List<RiskModelTaskClue> olds = Optional.ofNullable(personOldMap.get(person.getIdCode())).orElse(new ArrayList<>());
Map<String, RiskModelTaskClue> oldMap = olds.stream().collect(Collectors.toMap(RiskModelTaskClue::getCaseIds, Function.identity(), (val, old) -> val));
for (GBaseWFRXX xx : wfxxList) {
if(oldMap.get(BhUtil.ajBh(xx.getAjbh())) != null) {
continue;
}
ClueData data = ClueData.builder()
.name(person.getName())
.id(BhUtil.ajBh(xx.getAjbh()))
.idCode(person.getIdCode())
.tag("被打击处理")
.personId(person.getId())
.sourceData("该人员因" + xx.getSxzm() + "被打击处理,案件编号:" + xx.getAjbh()+ ",增加风险分5分")
.build();
try {
data.setEventTime(xx.getLrsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
} catch (Exception ignored) {}
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
}
}
if(!toInsert.isEmpty()) {
clueService.saveClues(toInsert, Default.WF_IG);
}
taskRepository.updateTask(task.getId(), toInsert.size(), 0);
}
/** /**
* 多身份证对比名称 * 多身份证对比名称
* @param infos 信息 * @param infos 信息
@ -353,4 +412,20 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
return org; return org;
} }
RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) {
RiskModelTaskClue clue = new RiskModelTaskClue();
clue.setModelId(modelId);
clue.setScore(score);
clue.setName(data.getName());
clue.setIdCode(data.getIdCode());
clue.setTaskId(taskId);
clue.setData(data.getSourceData());
clue.setEventTime(data.getEventTime());
clue.setCreateTime(LocalDateTime.now());
clue.setUpdateTime(LocalDateTime.now());
clue.setCaseIds(data.getId());
clue.setRiskReason(data.getTag());
return clue;
}
} }

72
src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java

@ -50,7 +50,6 @@ public class HabitServiceImpl implements HabitService {
private final RiskModelTaskClueService riskModelTaskClueService; private final RiskModelTaskClueService riskModelTaskClueService;
@Override @Override
public void habitModelTask(LocalDateTime targetTime, TaskParamDomain domain) { public void habitModelTask(LocalDateTime targetTime, TaskParamDomain domain) {
List<GBaseAJJBXX> ajjbxxList = gBaseAJJBXXRepository.getBaseMapper().selectHabit(targetTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); List<GBaseAJJBXX> ajjbxxList = gBaseAJJBXXRepository.getBaseMapper().selectHabit(targetTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
@ -69,8 +68,6 @@ public class HabitServiceImpl implements HabitService {
List<GBaseAJJBXX> targetAjList3 = new ArrayList<>(); List<GBaseAJJBXX> targetAjList3 = new ArrayList<>();
List<String> ajNos3 = new ArrayList<>(); List<String> ajNos3 = new ArrayList<>();
for (GBaseAJJBXX gBaseAJJBXX : ajjbxxList) { for (GBaseAJJBXX gBaseAJJBXX : ajjbxxList) {
if (gBaseAJJBXX.getAjlbmc() == null) { if (gBaseAJJBXX.getAjlbmc() == null) {
continue; continue;
@ -101,7 +98,6 @@ public class HabitServiceImpl implements HabitService {
riskTaskRepository.save(task3); riskTaskRepository.save(task3);
log.info("共计案件:{} | {} | {}", ajNos.size(), ajNos2.size(), ajNos3.size()); log.info("共计案件:{} | {} | {}", ajNos.size(), ajNos2.size(), ajNos3.size());
List<RiskModelTaskClue> toInsert = new ArrayList<>();
List<RiskModelTaskClue> toInsert1 = new ArrayList<>(); List<RiskModelTaskClue> toInsert1 = new ArrayList<>();
List<RiskModelTaskClue> toInsert2 = new ArrayList<>(); List<RiskModelTaskClue> toInsert2 = new ArrayList<>();
@ -114,17 +110,65 @@ public class HabitServiceImpl implements HabitService {
).join(); ).join();
log.info("开始进行数据库操作"); log.info("开始进行数据库操作");
toInsert.addAll(toInsert1);
toInsert.addAll(toInsert2);
toInsert.addAll(toInsert3);
if(!toInsert.isEmpty()) { if(!toInsert1.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert, Default.HABBIT_IG); riskModelTaskClueService.saveClues(toInsert1, Default.HABBIT_IG);
}
if(!toInsert2.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert1, Default.HABBIT_IG);
}
if(!toInsert3.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert1, Default.HABBIT_IG);
} }
updateTask(task.getId(), toInsert1.size()); updateTask(task.getId(), toInsert1.size(), 0);
updateTask(task2.getId(), toInsert2.size()); updateTask(task2.getId(), toInsert2.size(), 0);
updateTask(task3.getId(), toInsert3.size()); updateTask(task3.getId(), toInsert3.size(), 0);
// 近一年酗酒
RiskTask task4 = createTask(toInsert1.size(), 62);
riskTaskRepository.save(task4);
Map<String, RiskModelTaskClue> old = domain.getOldMap(task4.getModelId(), true);
List<RiskModelTaskClue> toInsertYears = new ArrayList<>();
for (RiskModelTaskClue clue : toInsert1) {
if(!limit.isBefore(clue.getEventTime())) {
continue;
}
if(old.get(clue.getIdCode()) == null) {
clue.setModelId(task4.getModelId());
clue.setTaskId(task4.getId());
clue.setData(clue.getData().replace(",存在"+clue.getRiskReason()+",", ",近一年内存在"+clue.getRiskReason()+"行为,"));
clue.setRiskReason(Default.YEAR_DRINK);
toInsertYears.add(clue);
continue;
}
old.remove(clue.getIdCode());
}
if(!toInsertYears.isEmpty()) {
riskModelTaskClueService.saveClues(toInsertYears, Default.HABBIT_IG);
}
List<RiskModelTaskClue> toUpdate = new ArrayList<>();
List<String> idCodes = new ArrayList<>();
// 酗酒 看看有没有过期
for (Map.Entry<String, RiskModelTaskClue> entry : old.entrySet()) {
if(entry.getValue().getEventTime() == null) {
continue;
}
if(entry.getValue().getEventTime().isBefore(limit)) {
RiskModelTaskClue update = new RiskModelTaskClue();
update.setId(entry.getValue().getId());
update.setDel(1);
toUpdate.add(update);
idCodes.add(entry.getValue().getIdCode());
}
}
if(!toUpdate.isEmpty()) {
riskModelTaskClueService.deleteCluesAndDeleteTag(toUpdate, idCodes, Default.YEAR_DRINK);
}
updateTask(task4.getId(), toInsertYears.size(), toUpdate.size());
} }
List<RiskModelTaskClue> findBadHabit(List<String> ajNos, List<GBaseAJJBXX> targetAjList, RiskTask task, TaskParamDomain domain, String tag) { List<RiskModelTaskClue> findBadHabit(List<String> ajNos, List<GBaseAJJBXX> targetAjList, RiskTask task, TaskParamDomain domain, String tag) {
@ -190,11 +234,11 @@ public class HabitServiceImpl implements HabitService {
return task; return task;
} }
void updateTask(Integer taskId, Integer size) { void updateTask(Integer taskId, Integer size, Integer updateSize) {
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(taskId); updateTask.setId(taskId);
updateTask.setInsertSize(size); updateTask.setInsertSize(size);
updateTask.setUpdateSize(0); updateTask.setUpdateSize(updateSize);
updateTask.setState(1); updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now()); updateTask.setEndTime(LocalDateTime.now());
riskTaskRepository.updateById(updateTask); riskTaskRepository.updateById(updateTask);

69
src/main/java/com/biutag/supervisiondata/service/impl/NoControlServiceImpl.java

@ -40,8 +40,6 @@ public class NoControlServiceImpl implements NoControlService {
private final RiskTaskRepository riskTaskRepository; private final RiskTaskRepository riskTaskRepository;
private final RiskPersonalTagService tagService;
private final RiskPersonalRepository personalRepository; private final RiskPersonalRepository personalRepository;
private final RiskModelTaskClueService clueService; private final RiskModelTaskClueService clueService;
@ -50,10 +48,7 @@ public class NoControlServiceImpl implements NoControlService {
public void syncNoControlData(TaskParamDomain domain) { public void syncNoControlData(TaskParamDomain domain) {
// 婚姻不用管管控 // 婚姻不用管管控
// clue 应该要看结婚状态 // clue 应该要看结婚状态
RiskTask task = createTask(domain.getPersons().size(), 45); RiskTask task = riskTaskRepository.create(domain.getPersons().size(), 45);
riskTaskRepository.save(task);
RiskTask task2 = createTask(domain.getPersons().size(), 49);
riskTaskRepository.save(task2);
List<ClueData> clueData = new ArrayList<>(); List<ClueData> clueData = new ArrayList<>();
Map<String, RiskPersonal> idCodes = new HashMap<>(); Map<String, RiskPersonal> idCodes = new HashMap<>();
@ -69,7 +64,6 @@ public class NoControlServiceImpl implements NoControlService {
CompletableFutureUtil.runSyncObject(() -> clueData.addAll(zyControl(idCodes))), CompletableFutureUtil.runSyncObject(() -> clueData.addAll(zyControl(idCodes))),
CompletableFutureUtil.runSyncObject(() -> clueData.addAll(crazyLevelThreeControl(idCodes, mobiles))) CompletableFutureUtil.runSyncObject(() -> clueData.addAll(crazyLevelThreeControl(idCodes, mobiles)))
).join(); ).join();
List<RiskPersonalTag> tags = new ArrayList<>();
List<RiskPersonal> toUpdate = new ArrayList<>(); List<RiskPersonal> toUpdate = new ArrayList<>();
List<RiskModelTaskClue> clues = new ArrayList<>(); List<RiskModelTaskClue> clues = new ArrayList<>();
@ -83,24 +77,9 @@ public class NoControlServiceImpl implements NoControlService {
idCodes.put(clueDatum.getIdCode(), personal); idCodes.put(clueDatum.getIdCode(), personal);
toUpdate.add(newOne); toUpdate.add(newOne);
} }
// RiskPersonalTag tag = new RiskPersonalTag(); clues.add(createClue(task.getModelId(), 5, task.getId(), clueDatum));
// tag.setBigTag(Default.NO_CONTROL);
// tag.setTagTime(Optional.ofNullable(clueDatum.getEventTime()).orElse(LocalDateTime.now()));
// tag.setName(clueDatum.getName());
// tag.setIdCode(clueDatum.getIdCode());
// tag.setSmallTag(clueDatum.getTag());
// tag.setCreateTime(LocalDateTime.now());
// tags.add(tag);
if(clueDatum.getTag().equals("神疾病三级以上人员管控不到位")) {
clues.add(createClue(task2.getModelId(), 3, task.getId(), clueDatum));
} else {
clues.add(createClue(task.getModelId(), 5, task.getId(), clueDatum));
}
} }
if(!tags.isEmpty()) {
tagService.saveBatchTag(tags, Default.NO_CONTROL);
}
if(!toUpdate.isEmpty()) { if(!toUpdate.isEmpty()) {
log.info("修改人数:{}", toUpdate.size()); log.info("修改人数:{}", toUpdate.size());
personalRepository.updateBatchById(toUpdate); personalRepository.updateBatchById(toUpdate);
@ -108,22 +87,7 @@ public class NoControlServiceImpl implements NoControlService {
if(!clues.isEmpty()) { if(!clues.isEmpty()) {
clueService.saveClues(clues, Default.CONTROLLER2_IG); clueService.saveClues(clues, Default.CONTROLLER2_IG);
} }
RiskTask updateTask = new RiskTask(); riskTaskRepository.updateTask(task.getId(), clues.size(), toUpdate.size());
updateTask.setId(task.getId());
updateTask.setInsertSize(clues.size());
updateTask.setUpdateSize(toUpdate.size());
updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now());
riskTaskRepository.updateById(updateTask);
}
RiskTask createTask(Integer size, Integer modelId) {
RiskTask task = new RiskTask();
task.setModelId(modelId);
task.setStartTime(LocalDateTime.now());
task.setState(0);
task.setScanSize(size);
return task;
} }
RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) {
@ -268,31 +232,4 @@ public class NoControlServiceImpl implements NoControlService {
} }
return clueData; return clueData;
} }
RiskPersonal createPerson(String idCode, String name, String mobile, String controlDepartId, String controlDepartName, Date controlTime) {
RiskPersonal personal = new RiskPersonal();
personal.setIdCode(idCode);
personal.setName(name);
personal.setMobileNumber(mobile);
personal.setControlDepartId(controlDepartId);
personal.setControlDepartName(controlDepartName);
// 如果有报警时间,暂时填报警时间 处理标签回正
try {
LocalDateTime time = controlTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
personal.setCreateTime(time);
personal.setControlTime(time);
} catch (Exception e) {
log.info("报警时间处理异常");
}
try {
int gender = idCode.length() == 18 ? Integer.valueOf(idCode.substring(16, 17)) : Integer.valueOf(idCode.substring(14, 15));
// 结果0男1女 余数偶女奇男
personal.setGender(gender % 2 == 0 ? "2" : "1");
} catch (Exception e) {
log.info("性别异常");
}
personal.setAge(Optional.ofNullable(IdCodeUtil.idCard2Age(personal.getIdCode(), LocalDate.now())).orElse(-1));
// 这里暂时将小标签放到预览属性 处理标签回正
return personal;
}
} }

2
src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java

@ -9,7 +9,7 @@ import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseZDRY; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseZDRY;
import com.biutag.supervisiondata.pojo.entity.mine.*; import com.biutag.supervisiondata.pojo.entity.mine.*;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdJsbry; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdJsbry;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsjCs; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsjCs;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcRyLgXX; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcRyLgXX;

6
src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

@ -629,7 +629,7 @@ public class PointServiceImpl implements PointService {
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员于" + drug.getGzdw() + "工作,属于特种工种中的涉药人员,增加风险分2分") .sourceData("发现该人员于" + drug.getGzdw() + "工作,属于特种工种中的涉药人员,增加风险分2分")
.build(); .build();
toInsert.add(createClue(task.getModelId(), 2, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
modelTaskClueService.saveClues(toInsert, Default.IMPORT_IG); modelTaskClueService.saveClues(toInsert, Default.IMPORT_IG);
@ -854,7 +854,7 @@ public class PointServiceImpl implements PointService {
data.setTag(Default.NO_CAR_OIL_BUY); data.setTag(Default.NO_CAR_OIL_BUY);
data.setSourceData("发现该人员属于无车人员,于" + item.getTime() + "在" + item.getCompanyName() + "购买容量为" + item.getNumber() + "L的" + item.getType() + ",用作" + item.getUseTo() + ",风险分增加3分"); data.setSourceData("发现该人员属于无车人员,于" + item.getTime() + "在" + item.getCompanyName() + "购买容量为" + item.getNumber() + "L的" + item.getType() + ",用作" + item.getUseTo() + ",风险分增加3分");
toInsert.add(createClue(task.getModelId(), 3, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
} }
@ -951,7 +951,7 @@ public class PointServiceImpl implements PointService {
} catch (Exception e) { } catch (Exception e) {
log.info("保安日期异常"); log.info("保安日期异常");
} }
toInsert.add(createClue(task.getModelId(), 2, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
// 新增 // 新增

11
src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java

@ -118,12 +118,13 @@ public class RiskTaskServiceImpl implements RiskTaskService {
continue; continue;
} }
String edu = switch (xx.getXlmc()) { String edu = switch (xx.getXlmc()) {
case "小学教育", "文盲", "小学毕业", "小学肄业" -> "小学及以下"; case "小学教育", "文盲", "小学毕业", "小学肄业", "其他" -> "小学及以下";
case "初中毕业", "初级中等教育", "初中肄业", "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业" -> case "初中毕业", "初级中等教育", "初中肄业" -> "初中";
"初中/高中"; case "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业","中等专科结业", "中等专科教育", "中等专业毕业", "技工学校肄业" -> "高中/中专";
case "中等专科结业", "中等专科教育", "大学专科毕业", "技工学校肄业", "大学专科结业", "中等专业毕业" -> case "大学专科毕业", "大学专科结业", "大学本科/专科教育", "大学生本科结业", "大学生普通班毕业","大学生本科肄业","大学生本科毕业" -> "大学";
"中专/大专"; case "硕士研究生毕业", "研究生教育","研究生班肄业" -> "大学以上";
default -> null; default -> null;
}; };
if (edu == null) { if (edu == null) {
continue; continue;

12
src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java

@ -5,11 +5,11 @@ import com.biutag.supervisiondata.pojo.ClueData;
import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.pojo.entity.mine.RiskTask; import com.biutag.supervisiondata.pojo.entity.mine.RiskTask;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdJsbry; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdJsbry;
import com.biutag.supervisiondata.repository.RiskTaskRepository; import com.biutag.supervisiondata.repository.RiskTaskRepository;
import com.biutag.supervisiondata.repository.WdpcGrjdJsbryRepository; import com.biutag.supervisiondata.repository.WdpcGrjdJsbryRepository;
import com.biutag.supervisiondata.service.RiskModelTaskClueService;
import com.biutag.supervisiondata.service.WdpcGrjdJsbryService; import com.biutag.supervisiondata.service.WdpcGrjdJsbryService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -39,6 +39,8 @@ public class WdpcGrjdJsbryServiceService implements WdpcGrjdJsbryService {
private final RiskTaskRepository taskRepository; private final RiskTaskRepository taskRepository;
private final RiskModelTaskClueService clueService;
@Override @Override
public void syncPys(TaskParamDomain domain) { public void syncPys(TaskParamDomain domain) {
List<WdpcGrjdJsbry> jsbryList = jsbryRepository.list(new LambdaQueryWrapper<WdpcGrjdJsbry>() List<WdpcGrjdJsbry> jsbryList = jsbryRepository.list(new LambdaQueryWrapper<WdpcGrjdJsbry>()
@ -81,7 +83,6 @@ public class WdpcGrjdJsbryServiceService implements WdpcGrjdJsbryService {
} catch (Exception e) { } catch (Exception e) {
log.error("精神病转化时间异常"); log.error("精神病转化时间异常");
} }
} }
if(tag2.length() > 0) { if(tag2.length() > 0) {
text.append("症状为:").append(tag2); text.append("症状为:").append(tag2);
@ -101,6 +102,11 @@ public class WdpcGrjdJsbryServiceService implements WdpcGrjdJsbryService {
} }
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
if(!toInsert.isEmpty()) {
clueService.saveClues(toInsert, Default.WF_IG);
}
taskRepository.updateTask(task.getId(), toInsert.size(), 0);
} }
RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) {

12
src/main/resources/application.yml

@ -78,6 +78,18 @@ spring:
max-lifetime: 30000 max-lifetime: 30000
connection-timeout: 30000 connection-timeout: 30000
connection-test-query: SELECT 1 connection-test-query: SELECT 1
wdpc2:
jdbc-url: jdbc:mysql://65.47.6.109:3306/csga_wdpcdb?useSSL=false&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2b8
username: root
password: ip12341234
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 5
idle-timeout: 30000
max-lifetime: 30000
connection-timeout: 30000
connection-test-query: SELECT 1
data: data:
redis: redis:
host: 65.47.6.109 host: 65.47.6.109

Loading…
Cancel
Save