Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
master
sjh 1 year ago
parent
commit
1a43b35cea
  1. 122
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 5
      src/main/java/com/biutag/supervisiondata/pojo/ClueData.java
  3. 2
      src/main/java/com/biutag/supervisiondata/pojo/constants/RedisKey.java
  4. 4
      src/main/java/com/biutag/supervisiondata/pojo/entity/mine/RiskModelTaskClue.java
  5. 2
      src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcGrjdXfsj.java
  6. 2
      src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcGrjdXfsjCs.java
  7. 5
      src/main/java/com/biutag/supervisiondata/rest/ApiController.java
  8. 6
      src/main/java/com/biutag/supervisiondata/service/PersonalService.java
  9. 2
      src/main/java/com/biutag/supervisiondata/service/PointService.java
  10. 2
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java
  11. 40
      src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java
  12. 13
      src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java
  13. 109
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java
  14. 26
      src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java
  15. 17
      src/main/java/com/biutag/supervisiondata/service/impl/RiskModelTaskClueServiceImpl.java
  16. 2
      src/main/java/com/biutag/supervisiondata/service/impl/RiskScoreRuleServiceImpl.java
  17. 51
      src/main/java/com/biutag/supervisiondata/task/TaskService.java
  18. 36
      src/main/java/com/biutag/supervisiondata/util/DataUtil.java

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

@ -19,6 +19,7 @@ import org.springframework.context.event.EventListener;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -98,83 +99,52 @@ public class ApplicationEvent {
@EventListener(ApplicationReadyEvent.class) @EventListener(ApplicationReadyEvent.class)
public void serviceReady() { public void serviceReady() {
RedisDao.getInstance().init(redisTemplate); RedisDao.getInstance().init(redisTemplate);
LocalDateTime end = LocalDate.now().minusDays(1).atTime(23,59,59);
LocalDateTime start = LocalDateTime.of(2023, 12, 6, 0, 0, 0);
LocalDateTime end = LocalDateTime.now();
CompletableFutureUtil.runSync(() -> { CompletableFutureUtil.runSync(() -> {
personalService.init(); personalService.init();
// personalService.pullInvestigate(); personalService.pullInvestigate();
// personalService.pullPsychosis(); personalService.pullPsychosis();
// gBaseSHRWFRService.pullAndSave(start, end); gBaseSHRWFRService.pullAndSave(LocalDateTime.of(2019,12,6,0,0,0), end);
// petitionService.personPullAndSave(start, end); petitionService.personPullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end);
// personalService.pullPetitionAgain(); personalService.pullPetitionAgain(LocalDateTime.of(2000, 12, 6, 0, 0, 0), end);
// pointService.personPullAndSave(start, end); pointService.personPullAndSave();
// gBaseJJDService.pullAndSave(start, end); gBaseJJDService.pullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end);
// riskPersonalService.fixed(); riskPersonalService.fixed();
// personalService.syncPerson(); personalService.syncPerson(LocalDate.now());
// petitionService.petitionModelTask(initDomain(List.of(40))); petitionService.petitionModelTask(initDomain(List.of(40)));
// riskTaskService.eduAndAreaModelTask(initDomain(List.of(34,41))); riskTaskService.eduAndAreaModelTask(initDomain(List.of(34,41)));
// riskTaskService.infoModelTask(initDomain(List.of(32,33))); riskTaskService.infoModelTask(initDomain(List.of(32,33)));
// marriageService.marriageModelTask(initDomain(List.of(39,51))); marriageService.marriageModelTask(initDomain(List.of(39,51)));
// pointService.syncSecurity(initDomain(List.of(37))); pointService.syncSecurity(initDomain(List.of(37)));
// habitService.habitModelTask(start, initDomain(List.of(36,60,61,62))); habitService.habitModelTask(LocalDateTime.of(2023, 12, 6, 0, 0, 0), initDomain(List.of(36,60,61,62)));
// pointService.syncCarUser(initDomain(List.of(53))); pointService.syncCarUser(initDomain(List.of(53)));
// 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))); noControlService.syncNoControlData(initDomain(List.of(45)));
// 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.syncOilBuy(initDomain(List.of(52))); pointService.syncOilBuy(initDomain(List.of(52)));
// gBaseJJDService.pullPoliceInstance(start, end, initDomain(List.of(55,56,57,58))); gBaseJJDService.pullPoliceInstance(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end, initDomain(List.of(55,56,57,58)));
// jsbryService.syncPys(initDomain(List.of(59))); jsbryService.syncPys(initDomain(List.of(59)));
// gBaseSHRWFRService.combatCrime(initDomain(List.of(63))); gBaseSHRWFRService.combatCrime(initDomain(List.of(63)));
// gBaseJJDService.syncPoliceAttack(initDomain(List.of(64))); gBaseJJDService.syncPoliceAttack(initDomain(List.of(64)));
// gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66))); gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66)));
// pointService.syncPointType(initDomain(List.of(67))); pointService.syncPointType(initDomain(List.of(67)));
// gBaseSHRWFRService.hadWork(initDomain(List.of(68))); gBaseSHRWFRService.hadWork(initDomain(List.of(68)));
// gBaseJJDService.syncParentRelation(initDomain(List.of(69,70))); gBaseJJDService.syncParentRelation(initDomain(List.of(69,70)));
// gBaseJJDService.syncLove(initDomain(List.of(71))); gBaseJJDService.syncLove(initDomain(List.of(71)));
// gBaseJJDService.syncMarryDispute(initDomain(List.of(72))); gBaseJJDService.syncMarryDispute(initDomain(List.of(72)));
// gBaseJJDService.syncNeighborAndColleagueDispute(initDomain(List.of(73))); gBaseJJDService.syncNeighborAndColleagueDispute(initDomain(List.of(73)));
// gBaseJJDService.syncBullying(initDomain(List.of(74))); gBaseJJDService.syncBullying(initDomain(List.of(74)));
// gBaseSHRWFRService.crimeName(initDomain(List.of(76))); gBaseSHRWFRService.crimeName(initDomain(List.of(76)));
// pointService.syncIsPetition(initDomain(List.of(40))); pointService.syncIsPetition(initDomain(List.of(40)));
// petitionService.petitionModelTask(initDomain(List.of(40))); pointService.syncFatherEducation(initDomain(List.of(112)));
// riskTaskService.eduAndAreaModelTask(initDomain(List.of(34,41))); pointService.syncMotherEducation(initDomain(List.of(113)));
// riskTaskService.eduModelTask(initDomain(List.of(34))); pointService.syncDomicileType(initDomain(List.of(114)));
// riskTaskService.infoModelTask(initDomain(List.of(32,33))); pointService.syncCriminalPunishment(initDomain(List.of(115)));
// marriageService.marriageModelTask(initDomain(List.of(39,51))); pointService.syncAdministrativePunishment(initDomain(List.of(116)));
// pointService.syncSecurity(initDomain(List.of(37))); pointService.syncParentsDivorce(initDomain(List.of(117)));
// habitService.habitModelTask(start, initDomain(List.of(36,60,61,62)));
// pointService.syncCarUser(initDomain(List.of(53)));
// riskTaskService.riskAreaModelTask(initDomain(List.of(41)));
// pointService.syncScore(initDomain(List.of(43)));
// pointService.syncViolence(initDomain(List.of(44)));
// noControlService.syncNoControlData(initDomain(List.of(45)));
// pointService.syncDrug(initDomain(List.of(37)));
// pointService.syncControlNoPower(initDomain(List.of(48)));
// pointService.syncOilBuy(initDomain(List.of(52)));
// gBaseJJDService.pullPoliceInstance(start, end, initDomain(List.of(55,56,57,58)));
// jsbryService.syncPys(initDomain(List.of(59)));
// gBaseSHRWFRService.combatCrime(initDomain(List.of(63)));
// gBaseJJDService.syncPoliceAttack(initDomain(List.of(64)));
// gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66)));
// pointService.syncPointType(initDomain(List.of(67)));
// gBaseSHRWFRService.hadWork(initDomain(List.of(68)));
// gBaseJJDService.syncParentRelation(initDomain(List.of(69,70)));
// gBaseJJDService.syncLove(initDomain(List.of(71)));
// gBaseJJDService.syncMarryDispute(initDomain(List.of(72)));
// gBaseJJDService.syncNeighborAndColleagueDispute(initDomain(List.of(73)));
// gBaseJJDService.syncBullying(initDomain(List.of(74)));
// gBaseSHRWFRService.crimeName(initDomain(List.of(76)));
// pointService.syncIsPetition(initDomain(List.of(40)));
// pointService.syncFatherEducation(initDomain(List.of(112)));
// pointService.syncMotherEducation(initDomain(List.of(113)));
// pointService.syncDomicileType(initDomain(List.of(114)));
// 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)));
pointService.syncFatherDie(initDomain(List.of(119))); pointService.syncFatherDie(initDomain(List.of(119)));
pointService.syncMotherDie(initDomain(List.of(120))); pointService.syncMotherDie(initDomain(List.of(120)));
@ -182,7 +152,7 @@ public class ApplicationEvent {
pointService.syncXIDU(initDomain(List.of(122))); pointService.syncXIDU(initDomain(List.of(122)));
pointService.syncFiliation(initDomain(List.of(123))); pointService.syncFiliation(initDomain(List.of(123)));
// 必须在123后面 // 必须在123后面
// gBaseJJDService.syncOtherContradict(initDomain(List.of(75))); gBaseJJDService.syncOtherContradict(initDomain(List.of(75)));
pointService.syncPetitionContent(initDomain(List.of(124))); pointService.syncPetitionContent(initDomain(List.of(124)));
pointService.syncMedicalPressure(initDomain(List.of(125))); pointService.syncMedicalPressure(initDomain(List.of(125)));

5
src/main/java/com/biutag/supervisiondata/pojo/ClueData.java

@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* @author kami on 2024-11-13 13:08:18 * @author kami on 2024-11-13 13:08:18
@ -44,4 +45,8 @@ public class ClueData implements Serializable {
Integer personId; Integer personId;
String sourceData; String sourceData;
List<String> tags;
Integer score;
} }

2
src/main/java/com/biutag/supervisiondata/pojo/constants/RedisKey.java

@ -25,4 +25,6 @@ public class RedisKey {
public static final String REVENGE = "revenge"; public static final String REVENGE = "revenge";
public static final String REVENGE_INFO = "revenge:info"; public static final String REVENGE_INFO = "revenge:info";
public static final String WEIGHT_SCORE = "weight:score";
} }

4
src/main/java/com/biutag/supervisiondata/pojo/entity/mine/RiskModelTaskClue.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.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* @author kami on 2024-11-11 11:37:50 * @author kami on 2024-11-11 11:37:50
@ -111,6 +112,9 @@ public class RiskModelTaskClue implements Serializable {
@TableField("update_time") @TableField("update_time")
LocalDateTime updateTime; LocalDateTime updateTime;
@TableField(exist = false)
List<String> tags;
/** /**
* 逻辑删除键 * 逻辑删除键
*/ */

2
src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcGrjdXfsj.java

@ -17,4 +17,6 @@ public class WdpcGrjdXfsj {
String name; String name;
@TableField("`id_code`") @TableField("`id_code`")
String idCode; String idCode;
@TableField("`create_time`")
String createTime;
} }

2
src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcGrjdXfsjCs.java

@ -17,4 +17,6 @@ public class WdpcGrjdXfsjCs {
String name; String name;
@TableField("`id_code`") @TableField("`id_code`")
String idCode; String idCode;
@TableField("`create_time`")
String createTime;
} }

5
src/main/java/com/biutag/supervisiondata/rest/ApiController.java

@ -9,6 +9,7 @@ import com.biutag.supervisiondata.common.response.RS;
import com.biutag.supervisiondata.config.cache.RedisDao; import com.biutag.supervisiondata.config.cache.RedisDao;
import com.biutag.supervisiondata.lock.LocalLock; import com.biutag.supervisiondata.lock.LocalLock;
import com.biutag.supervisiondata.pojo.constants.Prompt; import com.biutag.supervisiondata.pojo.constants.Prompt;
import com.biutag.supervisiondata.pojo.constants.RedisKey;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; 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.wdpc.WdpcJJDAi; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDAi;
@ -47,9 +48,11 @@ public class ApiController {
CompletableFutureUtil.runSync(() -> { CompletableFutureUtil.runSync(() -> {
try { try {
if(idCodes == null) { if(idCodes == null) {
RedisDao.getInstance().set(RedisKey.WEIGHT_SCORE, weight);
riskScoreRuleService.runScore(new ArrayList<>(), weight); riskScoreRuleService.runScore(new ArrayList<>(), weight);
} else { } else {
riskScoreRuleService.runScore(List.of(idCodes.split(",")), weight); String we = Optional.ofNullable(weight).orElse((String)RedisDao.getInstance().get(RedisKey.WEIGHT_SCORE));
riskScoreRuleService.runScore(List.of(idCodes.split(",")), we);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("", e); log.error("", e);

6
src/main/java/com/biutag/supervisiondata/service/PersonalService.java

@ -1,5 +1,6 @@
package com.biutag.supervisiondata.service; package com.biutag.supervisiondata.service;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -37,7 +38,7 @@ public interface PersonalService {
/** /**
* 另一个表的信访 * 另一个表的信访
*/ */
void pullPetitionAgain(); void pullPetitionAgain(LocalDateTime startTime, LocalDateTime end);
/** /**
* 推送排查人员四无 * 推送排查人员四无
*/ */
@ -52,8 +53,9 @@ public interface PersonalService {
/** /**
* 同步人员到gbase * 同步人员到gbase
* @param date 哪一天入库的
*/ */
void syncPerson(); void syncPerson(LocalDate date);
/** /**
* 同步人员证照 * 同步人员证照

2
src/main/java/com/biutag/supervisiondata/service/PointService.java

@ -11,7 +11,7 @@ import java.time.LocalDateTime;
*/ */
public interface PointService { public interface PointService {
void personPullAndSave(LocalDateTime start, LocalDateTime end); void personPullAndSave();
/** /**
* 重点人员类型 * 重点人员类型

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

@ -78,7 +78,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
CompletableFuture.allOf( CompletableFuture.allOf(
CompletableFutureUtil.runSyncObject(() -> shrTmp.addAll(shrxxRepository.getBaseMapper().selectSHData(start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), CompletableFutureUtil.runSyncObject(() -> shrTmp.addAll(shrxxRepository.getBaseMapper().selectSHData(start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))))), end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))))),
CompletableFutureUtil.runSyncObject(() -> wfrTmp.addAll(wfrxxRepository.getBaseMapper().selectWFData("2019-12-06 00:00:00", CompletableFutureUtil.runSyncObject(() -> wfrTmp.addAll(wfrxxRepository.getBaseMapper().selectWFData(start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))))) end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))))
).join(); ).join();
// 信息全的数据 // 信息全的数据

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

@ -92,12 +92,9 @@ public class HabitServiceImpl implements HabitService {
ajNos3.add(gBaseAJJBXX.getAjbh()); ajNos3.add(gBaseAJJBXX.getAjbh());
} }
} }
RiskTask task = createTask(ajNos.size(), 36); RiskTask task = riskTaskRepository.create(ajNos.size(), 36);
riskTaskRepository.save(task); RiskTask task2 = riskTaskRepository.create(ajNos2.size(), 60);
RiskTask task2 = createTask(ajNos2.size(), 60); RiskTask task3 = riskTaskRepository.create(ajNos3.size(), 61);
riskTaskRepository.save(task2);
RiskTask task3 = createTask(ajNos3.size(), 61);
riskTaskRepository.save(task3);
log.info("共计案件:{} | {} | {}", ajNos.size(), ajNos2.size(), ajNos3.size()); log.info("共计案件:{} | {} | {}", ajNos.size(), ajNos2.size(), ajNos3.size());
@ -123,13 +120,12 @@ public class HabitServiceImpl implements HabitService {
riskModelTaskClueService.saveClues(toInsert3, Default.HABBIT_IG); riskModelTaskClueService.saveClues(toInsert3, Default.HABBIT_IG);
} }
updateTask(task.getId(), toInsert1.size(), 0); riskTaskRepository.updateTask(task.getId(), toInsert1.size(), 0);
updateTask(task2.getId(), toInsert2.size(), 0); riskTaskRepository.updateTask(task2.getId(), toInsert2.size(), 0);
updateTask(task3.getId(), toInsert3.size(), 0); riskTaskRepository.updateTask(task3.getId(), toInsert3.size(), 0);
// 近一年酗酒 // 近一年酗酒
RiskTask task4 = createTask(toInsert1.size(), 62); RiskTask task4 = riskTaskRepository.create(toInsert1.size(), 62);
riskTaskRepository.save(task4);
Map<String, RiskModelTaskClue> old = domain.getOldMap(task4.getModelId(), true); Map<String, RiskModelTaskClue> old = domain.getOldMap(task4.getModelId(), true);
@ -170,7 +166,7 @@ public class HabitServiceImpl implements HabitService {
if(!toUpdate.isEmpty()) { if(!toUpdate.isEmpty()) {
riskModelTaskClueService.deleteCluesAndDeleteTag(toUpdate, idCodes, Default.YEAR_DRINK); riskModelTaskClueService.deleteCluesAndDeleteTag(toUpdate, idCodes, Default.YEAR_DRINK);
} }
updateTask(task4.getId(), toInsertYears.size(), toUpdate.size()); riskTaskRepository.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) {
@ -239,26 +235,6 @@ public class HabitServiceImpl implements HabitService {
return toInsert; return toInsert;
} }
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;
}
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());
riskTaskRepository.updateById(updateTask);
}
RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) {
RiskModelTaskClue clue = new RiskModelTaskClue(); RiskModelTaskClue clue = new RiskModelTaskClue();
clue.setModelId(modelId); clue.setModelId(modelId);

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

@ -317,9 +317,12 @@ public class PersonalServiceImpl implements PersonalService {
private final WdpcGrjdXfsjRepository xfsjRepository; private final WdpcGrjdXfsjRepository xfsjRepository;
@Override @Override
public void pullPetitionAgain() { public void pullPetitionAgain(LocalDateTime startTime, LocalDateTime end) {
List<String> idCodes = new ArrayList<>(); List<String> idCodes = new ArrayList<>();
CompletableFuture.allOf(CompletableFutureUtil.runSyncObject(() -> idCodes.addAll(xfsjRepository.list(new LambdaQueryWrapper<WdpcGrjdXfsj>().select(WdpcGrjdXfsj::getIdCode, WdpcGrjdXfsj::getName)).stream().map(WdpcGrjdXfsj::getIdCode).toList())), CompletableFutureUtil.runSyncObject(() -> idCodes.addAll(xfsjCsRepository.list(new LambdaQueryWrapper<WdpcGrjdXfsjCs>().select(WdpcGrjdXfsjCs::getIdCode, WdpcGrjdXfsjCs::getName)).stream().map(WdpcGrjdXfsjCs::getIdCode).toList()))).join(); CompletableFuture.allOf(
CompletableFutureUtil.runSyncObject(() -> idCodes.addAll(xfsjRepository.list(new LambdaQueryWrapper<WdpcGrjdXfsj>().select(WdpcGrjdXfsj::getIdCode, WdpcGrjdXfsj::getName).between(WdpcGrjdXfsj::getCreateTime, startTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")), end.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")))).stream().map(WdpcGrjdXfsj::getIdCode).toList())),
CompletableFutureUtil.runSyncObject(() -> idCodes.addAll(xfsjCsRepository.list(new LambdaQueryWrapper<WdpcGrjdXfsjCs>().select(WdpcGrjdXfsjCs::getIdCode, WdpcGrjdXfsjCs::getName).between(WdpcGrjdXfsjCs::getCreateTime, startTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")), end.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")))).stream().map(WdpcGrjdXfsjCs::getIdCode).toList()))
).join();
List<String> idCards = idCodes.stream().distinct().toList(); List<String> idCards = idCodes.stream().distinct().toList();
List<List<String>> idCards2 = IntStream.range(0, (idCards.size() + 9999) / 10000) List<List<String>> idCards2 = IntStream.range(0, (idCards.size() + 9999) / 10000)
@ -482,12 +485,9 @@ public class PersonalServiceImpl implements PersonalService {
@Override @Override
public void init() { public void init() {
riskTestRepository.getBaseMapper().truncateControl();
riskTestRepository.getBaseMapper().truncateClue(); riskTestRepository.getBaseMapper().truncateClue();
// riskTestRepository.getBaseMapper().truncatePerson();
riskTestRepository.getBaseMapper().truncateTag(); riskTestRepository.getBaseMapper().truncateTag();
riskTestRepository.getBaseMapper().truncateTask(); riskTestRepository.getBaseMapper().truncateTask();
riskTestRepository.getBaseMapper().truncateTable();
} }
private final WdpcPersonRepository wdpcPersonRepository; private final WdpcPersonRepository wdpcPersonRepository;
@ -495,8 +495,7 @@ public class PersonalServiceImpl implements PersonalService {
private final RiskPersonalRepository personalRepository; private final RiskPersonalRepository personalRepository;
@Override @Override
public void syncPerson() { public void syncPerson(LocalDate date) {
wdpcPersonRepository.getBaseMapper().truncateTable();
List<RiskPersonal> personals = personalRepository.list(new LambdaQueryWrapper<RiskPersonal>() List<RiskPersonal> personals = personalRepository.list(new LambdaQueryWrapper<RiskPersonal>()
.select(RiskPersonal::getIdCode, RiskPersonal::getId) .select(RiskPersonal::getIdCode, RiskPersonal::getId)
.eq(RiskPersonal::getDel, 0)); .eq(RiskPersonal::getDel, 0));

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

@ -6,7 +6,6 @@ import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.common.utils.StreamUtil; import com.biutag.supervisiondata.common.utils.StreamUtil;
import com.biutag.supervisiondata.config.cache.RedisDao; import com.biutag.supervisiondata.config.cache.RedisDao;
import com.biutag.supervisiondata.mapper.dwd.ModelClueDataMapper; import com.biutag.supervisiondata.mapper.dwd.ModelClueDataMapper;
import com.biutag.supervisiondata.mapper.mine.SupDepartMapper;
import com.biutag.supervisiondata.pojo.ClueData; 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.MuchCall; import com.biutag.supervisiondata.pojo.database.MuchCall;
@ -23,6 +22,7 @@ import com.biutag.supervisiondata.service.PointService;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; 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.BhUtil;
import com.biutag.supervisiondata.util.DataUtil;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
import com.biutag.supervisiondata.util.PatternUtil; import com.biutag.supervisiondata.util.PatternUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -94,7 +94,7 @@ public class PointServiceImpl implements PointService {
private final RiskModelTaskClueRepository riskModelTaskClueRepository; private final RiskModelTaskClueRepository riskModelTaskClueRepository;
@Override @Override
public void personPullAndSave(LocalDateTime start, LocalDateTime end) { public void personPullAndSave() {
riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE);
} }
@ -121,15 +121,26 @@ public class PointServiceImpl implements PointService {
for (RiskPersonal personal : personals) { for (RiskPersonal personal : personals) {
sb.append(personal.getTags()).append(","); sb.append(personal.getTags()).append(",");
} }
if(sb.isEmpty()){ if (sb.isEmpty()) {
continue; continue;
} }
toInsert.add(createClue(task.getModelId(), 5, task.getId(), ClueData.builder() // toInsert.add(createClue(task.getModelId(), 5, task.getId(), ClueData.builder()
.tag("重点人员") // .tag("重点人员")
// .name(personals.getFirst().getName())
// .idCode(personals.getFirst().getIdCode())
// .eventTime(Optional.ofNullable(personals.getFirst().getControlTime()).orElse(LocalDateTime.now()))
// .sourceData("发现该人员为重点人员,存在" + personals.size() + "个标签")
// .build()));
toInsert.add(DataUtil.createClueData(task, ClueData.builder()
// 案件编号、接警单编号之类
.id("")
.score(5)
.personId(personals.getFirst().getId())
.tags(List.of("重点人员"))
.sourceData("发现该人员为重点人员,存在" + personals.size() + "个标签")
.name(personals.getFirst().getName()) .name(personals.getFirst().getName())
.idCode(personals.getFirst().getIdCode()) .idCode(personals.getFirst().getIdCode())
.eventTime(Optional.ofNullable(personals.getFirst().getControlTime()).orElse(LocalDateTime.now())) .eventTime(personals.getFirst().getControlTime())
.sourceData("该人员存在标签:" +sb.substring(0,sb.length()-1) + ",属于重点人员")
.build())); .build()));
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
@ -156,10 +167,10 @@ public class PointServiceImpl implements PointService {
List<RiskModelTaskClue> olds = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); List<RiskModelTaskClue> olds = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>());
Map<String, List<RiskModelTaskClue>> personMap = olds.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); Map<String, List<RiskModelTaskClue>> personMap = olds.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode));
List<RiskModelTaskClue> toInsert = new ArrayList<>(); List<RiskModelTaskClue> toInsert = new ArrayList<>();
Map<String, List<RiskModelTaskClue>> mapPerson = new WeakHashMap<>(); Map<String, List<ClueData>> mapPerson = new WeakHashMap<>();
for (GBaseZDRY ry : list) { for (GBaseZDRY ry : list) {
RiskPersonal person = personalMap.get(ry.getSfzh()); RiskPersonal person = personalMap.get(ry.getSfzh());
if(person==null) { if (person == null) {
continue; continue;
} }
List<String> codes = PatternUtil.takeMarkPositionToString(ry.getZdrylbbj()); List<String> codes = PatternUtil.takeMarkPositionToString(ry.getZdrylbbj());
@ -171,7 +182,7 @@ public class PointServiceImpl implements PointService {
codes = codes.stream().distinct().toList(); codes = codes.stream().distinct().toList();
for (String index : codes) { for (String index : codes) {
WdpcGrjdZblx zblx = map.get(index); WdpcGrjdZblx zblx = map.get(index);
if(oldClue.get(index) != null || zblx == null) { if (oldClue.get(index) != null || zblx == null) {
continue; continue;
} }
ClueData data = ClueData.builder() ClueData data = ClueData.builder()
@ -180,18 +191,43 @@ public class PointServiceImpl implements PointService {
.tag(zblx.getDmmc()) .tag(zblx.getDmmc())
.name(person.getName()) .name(person.getName())
.idCode(person.getIdCode()) .idCode(person.getIdCode())
.sourceData("该人员存在标签:" + zblx.getDmmc() ) .score(zblx.getScore().intValue())
.build(); .build();
try { try {
data.setEventTime(LocalDateTime.parse(ry.getJlbgsj(), DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); data.setEventTime(LocalDateTime.parse(ry.getJlbgsj(), DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
} catch (Exception e) { } catch (Exception ignored) {
data.setEventTime(LocalDateTime.now());
} }
mapPerson.computeIfAbsent(person.getIdCode(), k -> new ArrayList<>()).add(createClue(task.getModelId(), zblx.getScore().intValue(), task.getId(), data)); mapPerson.computeIfAbsent(person.getIdCode(), k -> new ArrayList<>()).add(data);
} }
} }
for (Map.Entry<String, List<RiskModelTaskClue>> entry : mapPerson.entrySet()) { for (Map.Entry<String, List<ClueData>> entry : mapPerson.entrySet()) {
toInsert.addAll(entry.getValue().stream().filter(StreamUtil.distinctByKey(RiskModelTaskClue::getRiskReason)).toList()); LocalDateTime tmpDateTime = null;
List<ClueData> tmp = entry.getValue().stream().filter(StreamUtil.distinctByKey(ClueData::getTag)).toList();
StringBuilder sb = new StringBuilder();
int score = 0;
List<String> tags = new ArrayList<>();
for (ClueData clue : tmp) {
if (tmpDateTime == null) {
tmpDateTime = clue.getEventTime();
}
if (tmpDateTime.isBefore(clue.getEventTime())) {
tmpDateTime = clue.getEventTime();
}
tags.add(clue.getTag());
sb.append(clue.getTag()).append(",");
score += clue.getScore();
}
toInsert.add(DataUtil.createClueData(task, ClueData.builder()
// 案件编号、接警单编号之类
.id("")
.score(Math.min(5, score))
.personId(tmp.getFirst().getPersonId())
.tags(tags)
.sourceData(sb.substring(0, sb.length() - 1))
.name(tmp.getFirst().getName())
.idCode(tmp.getFirst().getIdCode())
.eventTime(tmpDateTime)
.build()));
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
log.info("保存重点人员标签 {}", toInsert.size()); log.info("保存重点人员标签 {}", toInsert.size());
@ -330,7 +366,7 @@ public class PointServiceImpl implements PointService {
.tag("受到行政处罚") .tag("受到行政处罚")
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员涉及" + wfrwfxxList.size() + "个行政处罚,案件编号为:“" + context + "”" ) .sourceData("发现该人员涉及" + wfrwfxxList.size() + "个行政处罚,案件编号为:“" + context + "”")
.build(); .build();
toInsert.add(createClue(task.getModelId(), score, task.getId(), data)); toInsert.add(createClue(task.getModelId(), score, task.getId(), data));
} }
@ -378,7 +414,7 @@ public class PointServiceImpl implements PointService {
.tag("受到刑事处罚") .tag("受到刑事处罚")
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员涉及" + wfrwfxxList.size() + "个刑事案件,案件编号为:“" + context + "”" ) .sourceData("发现该人员涉及" + wfrwfxxList.size() + "个刑事案件,案件编号为:“" + context + "”")
.build(); .build();
toInsert.add(createClue(task.getModelId(), score, task.getId(), data)); toInsert.add(createClue(task.getModelId(), score, task.getId(), data));
} }
@ -644,7 +680,8 @@ public class PointServiceImpl implements PointService {
Map<String, Integer> idCode = new HashMap<>(); Map<String, Integer> idCode = new HashMap<>();
log.info("模型129开始查询"); log.info("模型129开始查询");
List<WdpcGrjdJsbry> list1 = jsbryRepository.getBaseMapper().selectByIdNos(); List<WdpcGrjdJsbry> list1 = jsbryRepository.getBaseMapper().selectByIdNos();
List<WdpcJZJLB> list2 = jZJLBRepository.getBaseMapper().selectForModel129();; List<WdpcJZJLB> list2 = jZJLBRepository.getBaseMapper().selectForModel129();
;
List<WdpcXdry> list3 = xdryRepository.getBaseMapper().selectXIDU(); List<WdpcXdry> list3 = xdryRepository.getBaseMapper().selectXIDU();
List<WdpcSqjzry> list4 = sqjzryRepository.getBaseMapper().selectByIdNos(); List<WdpcSqjzry> list4 = sqjzryRepository.getBaseMapper().selectByIdNos();
List<WdpcXmsfry> list5 = xmsfryRepository.getBaseMapper().selectByIdNos(); List<WdpcXmsfry> list5 = xmsfryRepository.getBaseMapper().selectByIdNos();
@ -767,7 +804,8 @@ public class PointServiceImpl implements PointService {
Map<String, Integer> idCode = new HashMap<>(); Map<String, Integer> idCode = new HashMap<>();
log.info("模型130开始查询"); log.info("模型130开始查询");
List<WdpcGrjdJsbry> list1 = jsbryRepository.getBaseMapper().selectByIdNos(); List<WdpcGrjdJsbry> list1 = jsbryRepository.getBaseMapper().selectByIdNos();
List<WdpcJZJLB> list2 = jZJLBRepository.getBaseMapper().selectForModel129();; List<WdpcJZJLB> list2 = jZJLBRepository.getBaseMapper().selectForModel129();
;
List<WdpcXdry> list3 = xdryRepository.getBaseMapper().selectXIDU(); List<WdpcXdry> list3 = xdryRepository.getBaseMapper().selectXIDU();
List<WdpcSqjzry> list4 = sqjzryRepository.getBaseMapper().selectByIdNos(); List<WdpcSqjzry> list4 = sqjzryRepository.getBaseMapper().selectByIdNos();
List<WdpcXmsfry> list5 = xmsfryRepository.getBaseMapper().selectByIdNos(); List<WdpcXmsfry> list5 = xmsfryRepository.getBaseMapper().selectByIdNos();
@ -999,7 +1037,7 @@ public class PointServiceImpl implements PointService {
.tag("父母关系状况") .tag("父母关系状况")
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员父母关系状况不佳,关联接警单单号为" + domicileType.get("jjdbh") ) .sourceData("发现该人员父母关系状况不佳,关联接警单单号为" + domicileType.get("jjdbh"))
.build(); .build();
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
@ -1274,7 +1312,7 @@ public class PointServiceImpl implements PointService {
if (oldMap.get(domicileType.getGmsfhm()) != null) continue; if (oldMap.get(domicileType.getGmsfhm()) != null) continue;
idCode.put(domicileType.getGmsfhm(), 1); idCode.put(domicileType.getGmsfhm(), 1);
if (domicileType.getScore() == 0){ if (domicileType.getScore() == 0) {
continue; continue;
} }
int realScore = 0; int realScore = 0;
@ -1292,7 +1330,7 @@ public class PointServiceImpl implements PointService {
.tag("行为人子女数") .tag("行为人子女数")
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员子女数为" + domicileType.getScore() ) .sourceData("发现该人员子女数为" + domicileType.getScore())
.build(); .build();
toInsert.add(createClue(task.getModelId(), realScore, task.getId(), data)); toInsert.add(createClue(task.getModelId(), realScore, task.getId(), data));
} }
@ -1391,7 +1429,7 @@ public class PointServiceImpl implements PointService {
.tag("户籍类型") .tag("户籍类型")
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员户籍类型为" + domicileType.getHlxmc() ) .sourceData("发现该人员户籍类型为" + domicileType.getHlxmc())
.build(); .build();
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
@ -1433,7 +1471,7 @@ public class PointServiceImpl implements PointService {
.tag("父亲文化程度") .tag("父亲文化程度")
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员父亲文化程度为" + fatherEducation.getFatherEducation() ) .sourceData("发现该人员父亲文化程度为" + fatherEducation.getFatherEducation())
.build(); .build();
toInsert.add(createClue(task.getModelId(), eduScore, task.getId(), data)); toInsert.add(createClue(task.getModelId(), eduScore, task.getId(), data));
} }
@ -1502,10 +1540,11 @@ public class PointServiceImpl implements PointService {
case "研究生", "研究生肄业", "研究生毕业", "大学毕业", "大学本科", "大学肄业", "相当大学毕业" -> 1;// 本科 case "研究生", "研究生肄业", "研究生毕业", "大学毕业", "大学本科", "大学肄业", "相当大学毕业" -> 1;// 本科
case "大学专科和专科学校", "相当专科毕业", "专科毕业", "专科肄业" -> 2;// 大专 case "大学专科和专科学校", "相当专科毕业", "专科毕业", "专科肄业" -> 2;// 大专
case "相当高中毕业", "相当中专或中技毕业", "中专中技肄业", "职业高中毕业", "中专毕业", "高中肄业", case "相当高中毕业", "相当中专或中技毕业", "中专中技肄业", "职业高中毕业", "中专毕业", "高中肄业",
"中技毕业", "中等专科学校", "高中", "高中毕业", "农业高中毕业" -> 3;// 高中中专 "中技毕业", "中等专科学校", "高中", "高中毕业", "农业高中毕业" -> 3;// 高中中专
case "农业初中毕业", "技工学校", "技工学校肄业", "技工学校毕业", "初中", "职业初中毕业", "初中毕业", case "农业初中毕业", "技工学校", "技工学校肄业", "技工学校毕业", "初中", "职业初中毕业", "初中毕业",
"初中肆业", "相当初中毕业" -> 4;// 初中 "初中肆业", "相当初中毕业" -> 4;// 初中
case "小学", "小学肄业", "小学肆业", "小学毕业", "相当小学毕业", "文盲", "文盲或半文盲", "学龄前儿童" -> 5;// 小学 case "小学", "小学肄业", "小学肆业", "小学毕业", "相当小学毕业", "文盲", "文盲或半文盲", "学龄前儿童" ->
5;// 小学
default -> 0; default -> 0;
}; };
} }
@ -1843,7 +1882,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() ); data.setSourceData("发现该人员属于无车人员,于" + item.getTime() + "在" + item.getCompanyName() + "购买容量为" + item.getNumber() + "L的" + item.getType() + ",用作" + item.getUseTo());
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
} }
@ -1977,7 +2016,7 @@ public class PointServiceImpl implements PointService {
List<String> idCodes = new ArrayList<>(); List<String> idCodes = new ArrayList<>();
for (RiskPersonal person : domain.getPersons()) { for (RiskPersonal person : domain.getPersons()) {
// 增加 // 增加
if(exist.get(person.getIdCode())!=null && clueMap.get(person.getIdCode()) == null) { if (exist.get(person.getIdCode()) != null && clueMap.get(person.getIdCode()) == null) {
ClueData data = ClueData.builder() ClueData data = ClueData.builder()
.name(person.getName()) .name(person.getName())
.id("car_man") .id("car_man")
@ -1992,7 +2031,7 @@ public class PointServiceImpl implements PointService {
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
} }
// 减少 // 减少
if(exist.get(person.getIdCode())==null && clueMap.get(person.getIdCode())!=null) { if (exist.get(person.getIdCode()) == null && clueMap.get(person.getIdCode()) != null) {
RiskModelTaskClue old = clueMap.get(person.getIdCode()); RiskModelTaskClue old = clueMap.get(person.getIdCode());
RiskModelTaskClue delete = new RiskModelTaskClue(); RiskModelTaskClue delete = new RiskModelTaskClue();
delete.setId(old.getId()); delete.setId(old.getId());
@ -2093,7 +2132,7 @@ public class PointServiceImpl implements PointService {
} }
Map<Integer, String> lbMap = new WeakHashMap<>(); Map<Integer, String> lbMap = new WeakHashMap<>();
Map<String, SupExternalDepart> supExternalDepartMap = supDeparts.stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val,old) -> val)); Map<String, SupExternalDepart> supExternalDepartMap = supDeparts.stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
for (GBaseTbDZdrylb lb : lbList) { for (GBaseTbDZdrylb lb : lbList) {
@ -2133,7 +2172,7 @@ public class PointServiceImpl implements PointService {
Map<String, Integer> tmp = Optional.ofNullable(map.get(ry.getSfzh())).orElse(new HashMap<>()); Map<String, Integer> tmp = Optional.ofNullable(map.get(ry.getSfzh())).orElse(new HashMap<>());
PointOrg org = orgCodeMap.get(ry.getGxdwjgdm()); PointOrg org = orgCodeMap.get(ry.getGxdwjgdm());
org = findOrg(org, orgIdMap); org = findOrg(org, orgIdMap);
if(org == null) { if (org == null) {
noOrgCount++; noOrgCount++;
continue; continue;
} }
@ -2191,10 +2230,10 @@ public class PointServiceImpl implements PointService {
} }
PointOrg findOrg(PointOrg org, Map<String, PointOrg> orgIdMap) { PointOrg findOrg(PointOrg org, Map<String, PointOrg> orgIdMap) {
if(org == null) { if (org == null) {
return null; return null;
} }
if(org.getPcs() == null || !org.getPcs().equals("1")) { if (org.getPcs() == null || !org.getPcs().equals("1")) {
return findOrg(orgIdMap.get(org.getPid()), orgIdMap); return findOrg(orgIdMap.get(org.getPid()), orgIdMap);
} }
return org; return org;

26
src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java

@ -55,8 +55,7 @@ public class PoliceServiceImpl implements PoliceService {
@Override @Override
public void contradictModelTask(TaskParamDomain domain) { public void contradictModelTask(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 38); RiskTask task = riskTaskRepository.create(domain.getPersons().size(), 38);
riskTaskRepository.save(task);
List<GBaseJJD> jjds = new ArrayList<>(); List<GBaseJJD> jjds = new ArrayList<>();
for (List<String> idCard : domain.getIdCards()) { for (List<String> idCard : domain.getIdCards()) {
@ -140,22 +139,10 @@ public class PoliceServiceImpl implements PoliceService {
riskPersonalRepository.updateBatchById(toUpdatePerson, 5000); riskPersonalRepository.updateBatchById(toUpdatePerson, 5000);
} }
// if(!toInsertTags.isEmpty()) {
// log.info("操作新增标签数据:{}",toInsertTags.size());
// tagService.saveBatchTag(toInsertTags, Default.BIG_TAG_TRUBO);
// }
if(!updateClueList.isEmpty()) { if(!updateClueList.isEmpty()) {
taskClueRepository.updateBatchById(updateClueList, 10000); taskClueRepository.updateBatchById(updateClueList, 10000);
} }
riskTaskRepository.updateTask(task.getId(), toInsert.size(), toUpdatePerson.size());
RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size());
updateTask.setUpdateSize(toUpdatePerson.size());
updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now());
riskTaskRepository.updateById(updateTask);
} }
private static RiskPersonal getRiskPersonal(RiskPersonal person, RiskPersonalControlRecord tmpRecord) { private static RiskPersonal getRiskPersonal(RiskPersonal person, RiskPersonalControlRecord tmpRecord) {
@ -186,15 +173,6 @@ public class PoliceServiceImpl implements PoliceService {
return clue; return clue;
} }
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;
}
RiskPersonalControlRecord createControlRecord(RiskPersonal person, GBaseJJD jjd, String tag) { RiskPersonalControlRecord createControlRecord(RiskPersonal person, GBaseJJD jjd, String tag) {
RiskPersonalControlRecord controlRecord = new RiskPersonalControlRecord(); RiskPersonalControlRecord controlRecord = new RiskPersonalControlRecord();
controlRecord.setName(person.getName()); controlRecord.setName(person.getName());

17
src/main/java/com/biutag/supervisiondata/service/impl/RiskModelTaskClueServiceImpl.java

@ -106,20 +106,13 @@ public class RiskModelTaskClueServiceImpl implements RiskModelTaskClueService {
oldMap.put(tag.getSmallTag(), new Byte[0]); oldMap.put(tag.getSmallTag(), new Byte[0]);
} }
for (RiskModelTaskClue clue : entry.getValue()) { for (RiskModelTaskClue clue : entry.getValue()) {
if (bigTag.equals(Default.BIG_TAG_SHWFR)) { for (String tag : clue.getTags()) {
String[] strs = clue.getRiskReason().split(","); if (oldMap.get(tag) == null) {
for (int i = 0, len = strs.length; i < len; i++) { tags.add(creatTag(bigTag, tag, clue));
if (oldMap.get(strs[i]) == null) { oldMap.put(tag, new Byte[0]);
tags.add(creatTag(bigTag, strs[i], clue));
oldMap.put(strs[i], new Byte[0]);
}
} }
continue;
}
if (oldMap.get(clue.getRiskReason()) == null) {
tags.add(creatTag(bigTag, clue.getRiskReason(), clue));
oldMap.put(clue.getRiskReason(), new Byte[0]);
} }
} }
} }
if (!tags.isEmpty()) { if (!tags.isEmpty()) {

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

@ -3,6 +3,8 @@ package com.biutag.supervisiondata.service.impl;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervisiondata.config.cache.RedisDao;
import com.biutag.supervisiondata.pojo.constants.RedisKey;
import com.biutag.supervisiondata.pojo.entity.mine.Model; import com.biutag.supervisiondata.pojo.entity.mine.Model;
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.RiskPersonal;

51
src/main/java/com/biutag/supervisiondata/task/TaskService.java

@ -1,6 +1,6 @@
package com.biutag.supervisiondata.task; package com.biutag.supervisiondata.task;
import com.biutag.supervisiondata.service.ModelClueService; import com.biutag.supervisiondata.service.*;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
@ -8,12 +8,13 @@ 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.repository.RiskModelTaskClueRepository; import com.biutag.supervisiondata.repository.RiskModelTaskClueRepository;
import com.biutag.supervisiondata.repository.RiskPersonalRepository; import com.biutag.supervisiondata.repository.RiskPersonalRepository;
import com.biutag.supervisiondata.service.PointService;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -29,9 +30,6 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class TaskService { public class TaskService {
@Resource
private PointService pointService;
@Resource @Resource
private RiskPersonalRepository riskPersonalRepository; private RiskPersonalRepository riskPersonalRepository;
private final ModelClueService modelClueService; private final ModelClueService modelClueService;
@ -39,12 +37,49 @@ public class TaskService {
@Resource @Resource
private RiskModelTaskClueRepository riskModelTaskClueRepository; private RiskModelTaskClueRepository riskModelTaskClueRepository;
@Resource
private PersonalService personalService;
@Resource
private final GBaseSHRWFRService gBaseSHRWFRService;
@Resource
private PetitionService petitionService;
@Resource
private PointService pointService;
@Resource
private GBaseJJDService gBaseJJDService;
@Resource
private RiskPersonalService riskPersonalService;
/** /**
* 1点半执行 * 1点半更新人员
*/ */
@Scheduled(cron = "0 30 01 * * ?") @Scheduled(cron = "0 30 01 * * ?")
public void ageModel() { public void personRefresh() {
// pointService.syncPointCall(initDomain()); LocalDateTime start = LocalDate.now().minusDays(1).atTime(0,0,0);
LocalDateTime end = LocalDate.now().minusDays(1).atTime(23,59,59);
personalService.pullInvestigate();
personalService.pullPsychosis();
petitionService.personPullAndSave(start, end);
gBaseSHRWFRService.pullAndSave(start, end);
personalService.pullPetitionAgain(start, end);
pointService.personPullAndSave();
gBaseJJDService.pullAndSave(start, end);
riskPersonalService.fixed();
personalService.syncPerson(LocalDate.now());
}
/**
* 1点更新机构缓存
*/
@Scheduled(cron = "0 0 01 * * ?")
public void cacheRefresh() {
} }
TaskParamDomain initDomain() { TaskParamDomain initDomain() {

36
src/main/java/com/biutag/supervisiondata/util/DataUtil.java

@ -0,0 +1,36 @@
package com.biutag.supervisiondata.util;
import com.biutag.supervisiondata.pojo.ClueData;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskTask;
import lombok.experimental.UtilityClass;
import java.time.LocalDateTime;
import java.util.Optional;
/**
* @author kami on 2024-12-13 16:30:46
* @version 0.0.1
* @since 1.8
*/
@UtilityClass
public class DataUtil {
public static RiskModelTaskClue createClueData(RiskTask task, ClueData data) {
RiskModelTaskClue clue = new RiskModelTaskClue();
clue.setModelId(task.getModelId());
clue.setScore(data.getScore());
clue.setName(data.getName());
clue.setIdCode(data.getIdCode());
clue.setTaskId(task.getId());
clue.setData(data.getSourceData());
clue.setEventTime(data.getEventTime());
clue.setCreateTime(LocalDateTime.now());
clue.setUpdateTime(LocalDateTime.now());
clue.setCaseIds(data.getId());
clue.setRiskReason(data.getTag());
clue.setEventTime(Optional.ofNullable(data.getEventTime()).orElse(LocalDateTime.now()));
clue.setTags(data.getTags());
return clue;
}
}
Loading…
Cancel
Save