Browse Source

Merge remote-tracking branch 'origin/master'

master
sjh 1 year ago
parent
commit
de0374cef3
  1. 18
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 12
      src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java
  3. 2
      src/main/java/com/biutag/supervisiondata/service/GBaseJJDService.java
  4. 145
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java
  5. 4
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java

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

@ -116,7 +116,6 @@ public class ApplicationEvent {
// pointService.personPullAndSave(start, end);
// riskPersonalService.fixed();
//
// gBaseJJDService.pullPoliceInstance(start, end);
//
//
// petitionService.petitionModelTask(initDomain(List.of(40)));
@ -136,6 +135,7 @@ public class ApplicationEvent {
// 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)));
@ -154,14 +154,14 @@ public class ApplicationEvent {
// 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.syncFatherDie(initDomain(List.of(119)));
// pointService.syncMotherDie(initDomain(List.of(120)));
// pointService.syncChildNo(initDomain(List.of(121)));
// pointService.syncXIDU(initDomain(List.of(122)));
// pointService.syncFiliation(initDomain(List.of(123)));
// pointService.syncPetitionContent(initDomain(List.of(124)));
pointService.syncParentsDivorce(initDomain(List.of(117)));
pointService.syncFamilyDie(initDomain(List.of(118)));
pointService.syncFatherDie(initDomain(List.of(119)));
pointService.syncMotherDie(initDomain(List.of(120)));
pointService.syncChildNo(initDomain(List.of(121)));
pointService.syncXIDU(initDomain(List.of(122)));
pointService.syncFiliation(initDomain(List.of(123)));
pointService.syncPetitionContent(initDomain(List.of(124)));
// *********暂时不要**********
// riskTaskService.caseModelTask(initDomain(List.of(35)));

12
src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java

@ -91,11 +91,15 @@ public interface GBaseJJDMapper extends BaseMapper<GBaseJJD> {
" bjnr like '%和父亲%' or cjqk like '%和父亲%' or " +
" bjnr like '%与爸爸%' or cjqk like '%与爸爸%' or " +
" bjnr like '%和爸爸%' or cjqk like '%和爸爸%' or " +
" ((bjnr like '%和儿子%' or cjqk like '%和儿子%' or bjnr like '%与儿子%' or cjqk like '%与儿子%' or " +
" (" +
" (bjnr like '%和儿子%' or cjqk like '%和儿子%' or bjnr like '%与儿子%' or cjqk like '%与儿子%' or " +
" bjnr like '%和女儿%' or cjqk like '%和女儿%' or bjnr like '%与女儿%' or cjqk like '%与女儿%' or" +
" bjnr like '%和子女%' or cjqk like '%和子女%' or bjnr like '%与子女%' or cjqk like '%与子女%') and ( " +
" bjnr like '%和子女%' or cjqk like '%和子女%' or bjnr like '%与子女%' or cjqk like '%与子女%'" +
" ) and ( " +
" bjnr like '%系父亲%' or cjqk like '%系父亲%' or bjnr like '%系爸爸%' or cjqk like '%系爸爸%' or " +
" bjnr like '%是父亲%' or cjqk like '%是父亲%' or bjnr like '%是爸爸%' or cjqk like '%是爸爸%')) ")
" bjnr like '%是父亲%' or cjqk like '%是父亲%' or bjnr like '%是爸爸%' or cjqk like '%是爸爸%'" +
" )" +
") )")
List<GBaseJJD> selectFatherRelation(@Param("start")String start);
@Select(" select jjdbh, bjdh,bjrxm ,bjrzjhm, bjnr, cjqk, bjsj from dwd_asj_zhtx_jjd " +
@ -108,7 +112,7 @@ public interface GBaseJJDMapper extends BaseMapper<GBaseJJD> {
" bjnr like '%和女儿%' or cjqk like '%和女儿%' or bjnr like '%与女儿%' or cjqk like '%与女儿%' or" +
" bjnr like '%和子女%' or cjqk like '%和子女%' or bjnr like '%与子女%' or cjqk like '%与子女%') and (" +
" bjnr like '%系母亲%' or cjqk like '%系母亲%' or bjnr like '%系妈妈%' or cjqk like '%系妈妈%' or " +
" bjnr like '%是母亲%' or cjqk like '%是母亲%' or bjnr like '%是妈妈%' or cjqk like '%是妈妈%')) ")
" bjnr like '%是母亲%' or cjqk like '%是母亲%' or bjnr like '%是妈妈%' or cjqk like '%是妈妈%'))) ")
List<GBaseJJD> selectMotherRelation(@Param("start")String start);
/**

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

@ -23,7 +23,7 @@ public interface GBaseJJDService {
*/
void pullDataAndSaveRedis(LocalDateTime start, LocalDateTime end);
void pullPoliceInstance(LocalDateTime start, LocalDateTime end);
void pullPoliceInstance(LocalDateTime start, LocalDateTime end,TaskParamDomain domain);
/**
* 攻击警察
* @param domain domain

145
src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java

@ -303,16 +303,64 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
@Override
public void pullPoliceInstance(LocalDateTime start, LocalDateTime end) {
public void pullPoliceInstance(LocalDateTime start, LocalDateTime end, TaskParamDomain domain) {
String startTime = start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String endTime = end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
List<RiskModelTaskClue> list1 = new ArrayList<>();
List<RiskModelTaskClue> list2 = new ArrayList<>();
List<RiskModelTaskClue> list3 = new ArrayList<>();
List<RiskModelTaskClue> list4 = new ArrayList<>();
List<Integer> tasks = new ArrayList<>(4);
CompletableFuture.allOf(
CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectRevenge(startTime, endTime), RedisKey.REVENGE)),
CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectHater(startTime, endTime), RedisKey.HATER)),
CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectInjustice(startTime, endTime), RedisKey.INJUSTICE)),
CompletableFutureUtil.runSyncObject(() -> toRedisCache(gBaseJJDRepository.getBaseMapper().selectSuicide(startTime, endTime), RedisKey.SUICIDE))
CompletableFutureUtil.runSyncObject(() -> {
List<GBaseJJD> jjdList = gBaseJJDRepository.getBaseMapper().selectRevenge(startTime, endTime);
RiskTask task = taskRepository.create(jjdList.size(), 58);
list1.addAll(collectJJD(task, "表达报复社会", jjdList, domain));
tasks.set(0, task.getId());
}),
CompletableFutureUtil.runSyncObject(() -> {
List<GBaseJJD> jjdList = gBaseJJDRepository.getBaseMapper().selectHater(startTime, endTime);
RiskTask task = taskRepository.create(jjdList.size(), 55);
list2.addAll(collectJJD(task, "表达厌世情绪", gBaseJJDRepository.getBaseMapper().selectHater(startTime, endTime), domain));
tasks.set(1, task.getId());
}),
CompletableFutureUtil.runSyncObject(() -> {
List<GBaseJJD> jjdList = gBaseJJDRepository.getBaseMapper().selectInjustice(startTime, endTime);
RiskTask task = taskRepository.create(jjdList.size(), 57);
list3.addAll(collectJJD(task, "表达遭受不公", gBaseJJDRepository.getBaseMapper().selectInjustice(startTime, endTime), domain));
tasks.set(2, task.getId());
}),
CompletableFutureUtil.runSyncObject(() -> {
List<GBaseJJD> jjdList = gBaseJJDRepository.getBaseMapper().selectSuicide(startTime, endTime);
RiskTask task = taskRepository.create(jjdList.size(), 56);
list4.addAll(collectJJD(task, "尝试自杀", gBaseJJDRepository.getBaseMapper().selectSuicide(startTime, endTime), domain));
tasks.set(3, task.getId());
})
).join();
if (!list1.isEmpty()) {
log.info("保存复仇者联盟:{}", list1.size());
clueService.saveClues(list1, "表达报复社会");
}
if (!list2.isEmpty()) {
log.info("厌世强者:{}", list2.size());
clueService.saveClues(list2, "表达厌世情绪");
}
if (!list3.isEmpty()) {
log.info("我命由我不由天:{}", list3.size());
clueService.saveClues(list3, "表达遭受不公");
}
if (!list4.isEmpty()) {
log.info("毁灭吧:{}", list4.size());
clueService.saveClues(list4, "尝试自杀");
}
taskRepository.updateTask(tasks.get(0), list1.size(), 0);
taskRepository.updateTask(tasks.get(1), list2.size(), 0);
taskRepository.updateTask(tasks.get(2), list3.size(), 0);
taskRepository.updateTask(tasks.get(3), list4.size(), 0);
}
private final RiskTaskRepository taskRepository;
@ -624,7 +672,8 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
List<String> tmp = Arrays.stream(mobile.split(",")).toList();
switch (tmp.size()) {
case 0 -> {}
case 0 -> {
}
case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD);
case 2 -> {
mobilesMap.computeIfAbsent(tmp.get(0), k -> new ArrayList<>()).add(gBaseJJD);
@ -712,7 +761,8 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
List<String> tmp = Arrays.stream(mobile.split(",")).toList();
switch (tmp.size()) {
case 0 -> {}
case 0 -> {
}
case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD);
case 2 -> {
mobilesMap.computeIfAbsent(tmp.get(0), k -> new ArrayList<>()).add(gBaseJJD);
@ -800,7 +850,8 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
List<String> tmp = Arrays.stream(mobile.split(",")).toList();
switch (tmp.size()) {
case 0 -> {}
case 0 -> {
}
case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD);
case 2 -> {
mobilesMap.computeIfAbsent(tmp.get(0), k -> new ArrayList<>()).add(gBaseJJD);
@ -882,6 +933,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
others.add(gBaseJJD);
}
if (!mobiles.isEmpty()) {
List<GBaseSYRKXX> xxList = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getLxdh).in(GBaseSYRKXX::getLxdh, mobiles));
Map<String, List<GBaseSYRKXX>> mobileRkMap = xxList.stream().collect(Collectors.groupingBy(GBaseSYRKXX::getLxdh));
@ -907,11 +959,12 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
idCodesMap.computeIfAbsent(s, k -> new ArrayList<>()).add(other);
}
}
List<RiskModelTaskClue> oldList = domain.getMap().get(task.getModelId());
}
List<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>());
Map<String, List<RiskModelTaskClue>> personMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode));
List<RiskModelTaskClue> toInsert = new ArrayList<>();
for (RiskPersonal person : domain.getPersons()) {
List<GBaseJJD> jjdList = idCodesMap.get(person.getIdCode());
List<GBaseJJD> jjdList = Optional.ofNullable(idCodesMap.get(person.getIdCode())).orElse(new ArrayList<>());
jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList();
if (jjdList == null) {
continue;
@ -982,6 +1035,70 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
// }
}
/**
* 遍历接警单
*
* @param modelId 模型id
* @param tag 标签
* @param result 接警单数据
* @param domain domain
* @return 要新增的结果
*/
List<RiskModelTaskClue> collectJJD(RiskTask task, String tag, List<GBaseJJD> result, TaskParamDomain domain) {
Map<String, List<GBaseJJD>> idCodesMap = new WeakHashMap<>();
Map<String, List<GBaseJJD>> mobilesMap = new WeakHashMap<>();
for (GBaseJJD gBaseJJD : result) {
String idCard = PatternUtil.takeIdCard(gBaseJJD.getCjqk());
if (idCard.isEmpty()) {
idCard = PatternUtil.takeIdCard(gBaseJJD.getBjnr());
}
boolean mobileContinue = false;
if (!idCard.isEmpty()) {
List<String> tmp = Arrays.stream(idCard.split(",")).toList();
switch (tmp.size()) {
case 0 -> mobileContinue = true;
case 1 -> idCodesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD);
default -> {
for (int i = 1; i < tmp.size(); i++) {
idCodesMap.computeIfAbsent(tmp.get(i), k -> new ArrayList<>()).add(gBaseJJD);
}
}
}
if (!mobileContinue) {
continue;
}
}
String mobile = PatternUtil.takeMobile(gBaseJJD.getCjqk());
if (mobile.isEmpty()) {
mobile = PatternUtil.takeMobile(gBaseJJD.getBjnr());
}
if (mobile.isEmpty()) {
continue;
}
List<String> tmp = Arrays.stream(mobile.split(",")).toList();
switch (tmp.size()) {
case 0 -> {
}
case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD);
default -> {
for (int i = 1; i < tmp.size(); i++) {
mobilesMap.computeIfAbsent(tmp.get(i), k -> new ArrayList<>()).add(gBaseJJD);
}
}
}
}
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));
List<RiskModelTaskClue> toInsert = new ArrayList<>();
for (RiskPersonal person : domain.getPersons()) {
toInsert.addAll(collectionClue(idCodesMap, mobilesMap, person, personOldMap, task, tag));
}
return toInsert;
}
Map<String, List<GBaseJJD>> findTargetJJD(List<GBaseJJD> jjdList) {
Map<String, List<GBaseJJD>> fatherIdCodeMap = new WeakHashMap<>();
@ -1019,6 +1136,9 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
others.add(gBaseJJD);
}
}
if (mobiles.isEmpty()) {
return fatherIdCodeMap;
}
List<GBaseSYRKXX> xxList = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getLxdh).in(GBaseSYRKXX::getLxdh, mobiles));
@ -1044,11 +1164,11 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
List<RiskModelTaskClue> eachClue2Save(TaskParamDomain domain, RiskTask task, Map<String, List<GBaseJJD>> fatherIdCodeMap, String tag) {
List<RiskModelTaskClue> oldList = domain.getMap().get(task.getModelId());
List<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>());
Map<String, List<RiskModelTaskClue>> personMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode));
List<RiskModelTaskClue> toInsert = new ArrayList<>();
for (RiskPersonal person : domain.getPersons()) {
List<GBaseJJD> jjdList = fatherIdCodeMap.get(person.getIdCode());
List<GBaseJJD> jjdList = Optional.ofNullable(fatherIdCodeMap.get(person.getIdCode())).orElse(new ArrayList<>());
jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList();
if (jjdList == null) {
continue;
@ -1107,6 +1227,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
/**
* 手机要搜索的clue数据
*
* @param idCode 身份证Map
* @param mobile 手机号map
* @param personal 人员

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

@ -8,6 +8,7 @@ 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.dwd.GBaseAJJBXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseSHRXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
@ -356,7 +357,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
}
if (!toInsert.isEmpty()) {
clueService.saveClues(toInsert, "B24是否被打击处理");
clueService.saveClues(toInsert, "B24被打击处理");
}
taskRepository.updateTask(task.getId(), toInsert.size(), 0);
}
@ -517,6 +518,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
log.info("实有人口进度{}", count);
xxList.addAll(gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getZydm, GBaseSYRKXX::getGmsfhm)
.isNotNull(GBaseSYRKXX::getZydm)
.in(GBaseSYRKXX::getGmsfhm, srIdCode)));
}

Loading…
Cancel
Save