Browse Source

优化学历和地区的查询速度

master
kami 1 year ago
parent
commit
927c17d48c
  1. 2
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 8
      src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java
  3. 1
      src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java
  4. 3
      src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java
  5. 2
      src/main/java/com/biutag/supervisiondata/service/RiskTaskService.java
  6. 2
      src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java
  7. 7
      src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java
  8. 168
      src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java

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

@ -114,7 +114,7 @@ public class ApplicationEvent {
// personalService.syncPerson(); // personalService.syncPerson();
// //
// petitionService.petitionModelTask(initDomain(List.of(40))); // petitionService.petitionModelTask(initDomain(List.of(40)));
// riskTaskService.eduModelTask(initDomain(List.of(34))); // riskTaskService.eduModelTask(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)));

8
src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java

@ -63,7 +63,11 @@ public interface GBaseSYRKXXMapper extends BaseMapper<GBaseSYRKXX> {
"</script>") "</script>")
List<FightMan> selectListByIdCode(@Param("list")List<String> list); List<FightMan> selectListByIdCode(@Param("list")List<String> list);
@Select("select distinct sspcsdm from ads_ssxx_syrkxx where sspcsdm is not null") /**
List<GBaseSYRKXX> selectOrg(); * 风险人员的学历和职业
* @return
*/
@Select(" select a.gmsfhm as gmsfhm, a.xlmc as xlmc, a.csdxzqhdm as csdxzqhdm, a.csdxzqhmc as csdxzqhmc from csga_ads.ads_ssxx_syrkxx as a inner join csga_wdpcdb.wdpc_person as b on a.gmsfhm = b.id_code ")
List<GBaseSYRKXX> selectEduAndArea();
} }

1
src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java

@ -27,4 +27,5 @@ public interface WdpcPersonMapper extends BaseMapper<WdpcPerson> {
@Select(" select a.GMSFHM as idCode,a.sdxp as image from csga_dwd.dwd_ry_qbpt_sfzzzxx as a inner join csga_wdpcdb.wdpc_person as b " + @Select(" select a.GMSFHM as idCode,a.sdxp as image from csga_dwd.dwd_ry_qbpt_sfzzzxx as a inner join csga_wdpcdb.wdpc_person as b " +
"on a.GMSFHM = b.id_code limit #{pageNo}, #{pageSize}") "on a.GMSFHM = b.id_code limit #{pageNo}, #{pageSize}")
List<PersonImageInfo> selectPersonImagePage(@Param("pageNo")Integer pageNo, @Param("pageSize")Integer pageSize); List<PersonImageInfo> selectPersonImagePage(@Param("pageNo")Integer pageNo, @Param("pageSize")Integer pageSize);
} }

3
src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java

@ -13,7 +13,4 @@ import org.springframework.stereotype.Service;
@Service @Service
public class WdpcPersonRepository extends ServiceImpl<WdpcPersonMapper, WdpcPerson> { public class WdpcPersonRepository extends ServiceImpl<WdpcPersonMapper, WdpcPerson> {
void selectAndSave(int pageNo, int pageSize) {
}
} }

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

@ -20,6 +20,8 @@ public interface RiskTaskService {
*/ */
void eduModelTask(TaskParamDomain domain); void eduModelTask(TaskParamDomain domain);
void eduAndAreaModelTask(TaskParamDomain domain);
/** /**
* 行为因素 * 行为因素
* @param domain 参数 * @param domain 参数

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

@ -58,7 +58,7 @@ public class MarriageServiceImpl implements MarriageService {
RiskTask task2 = riskTaskRepository.create(data.size(), 51); RiskTask task2 = riskTaskRepository.create(data.size(), 51);
Map<String, WdpcGrjdHyqkb> dataMap = data.stream().collect(Collectors.toMap(WdpcGrjdHyqkb::getIdCode, Function.identity(), (val, old) -> val)); Map<String, WdpcGrjdHyqkb> dataMap = data.stream().collect(Collectors.toMap(WdpcGrjdHyqkb::getIdCode, Function.identity(), (val, old) -> val));
log.info("开始查询结婚数据:{}", domain.getIdCards().size()); log.info("开始查询结婚数据:{}", dataMap.size());
Map<String, RiskModelTaskClue> old1 = domain.getOldMap(39, true); Map<String, RiskModelTaskClue> old1 = domain.getOldMap(39, true);
Map<String, RiskModelTaskClue> old2 = domain.getOldMap(51, true); Map<String, RiskModelTaskClue> old2 = domain.getOldMap(51, true);

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

@ -519,6 +519,7 @@ public class PersonalServiceImpl implements PersonalService {
log.info("有效头像共:{}", total); log.info("有效头像共:{}", total);
List<PersonImageInfo> infoList; List<PersonImageInfo> infoList;
List<RiskPersonInfo> infos; List<RiskPersonInfo> infos;
Map<String, Byte[]> p = new WeakHashMap<>();
for (int page = 1;; page++) { for (int page = 1;; page++) {
log.info("{}", page); log.info("{}", page);
int pageNo = (page- 1) * 10000; int pageNo = (page- 1) * 10000;
@ -527,12 +528,16 @@ public class PersonalServiceImpl implements PersonalService {
infos = new ArrayList<>(); infos = new ArrayList<>();
log.info("图像转base64开始:{}",infoList.size()); log.info("图像转base64开始:{}",infoList.size());
for (PersonImageInfo item : infoList) { for (PersonImageInfo item : infoList) {
if(p.get(item.getIdCode().toUpperCase()) != null) {
continue;
}
p.put(item.getIdCode().toUpperCase(), new Byte[0]);
RiskPersonInfo info = new RiskPersonInfo(); RiskPersonInfo info = new RiskPersonInfo();
info.setIdCode(item.getIdCode()); info.setIdCode(item.getIdCode());
info.setImageBase64(Media.JPEG.concat(Base64.getEncoder().encodeToString(item.getImage()))); info.setImageBase64(Media.JPEG.concat(Base64.getEncoder().encodeToString(item.getImage())));
infos.add(info); infos.add(info);
} }
infoRepository.saveBatch(infos, 1000); infoRepository.saveOrUpdateBatch(infos, 1000);
if(pageNo + pageSize >= total) { if(pageNo + pageSize >= total) {
break; break;
} }

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

@ -56,22 +56,12 @@ public class RiskTaskServiceImpl implements RiskTaskService {
private final GBaseSYRKXXRepository syrkxxRepository; private final GBaseSYRKXXRepository syrkxxRepository;
private final GBaseWFRXXRepository wfrxxRepository;
private final GBaseAJJBXXRepository ajjbxxRepository;
private final RiskPersonalRepository riskPersonalRepository;
private final RiskPersonalControlRecordService controlRecordRepository;
private final RiskModelTaskClueRepository clueRepository; private final RiskModelTaskClueRepository clueRepository;
private final RiskModelTaskClueService riskModelTaskClueService; private final RiskModelTaskClueService riskModelTaskClueService;
private final RiskPersonalService riskPersonalService; private final RiskPersonalService riskPersonalService;
private final RiskPersonalControlRecordService controlRecordService;
@Override @Override
public void infoModelTask(TaskParamDomain domain) { public void infoModelTask(TaskParamDomain domain) {
RiskTask genderTask = riskTaskRepository.create(domain.getPersons().size(), 32); RiskTask genderTask = riskTaskRepository.create(domain.getPersons().size(), 32);
@ -116,9 +106,11 @@ public class RiskTaskServiceImpl implements RiskTaskService {
String edu = switch (xx.getXlmc()) { String edu = switch (xx.getXlmc()) {
case "小学教育", "文盲", "小学毕业", "小学肄业", "其他" -> "小学及以下"; case "小学教育", "文盲", "小学毕业", "小学肄业", "其他" -> "小学及以下";
case "初中毕业", "初级中等教育", "初中肄业" -> "初中"; case "初中毕业", "初级中等教育", "初中肄业" -> "初中";
case "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业","中等专科结业", "中等专科教育", "中等专业毕业", "技工学校肄业" -> "高中/中专"; case "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业", "中等专科结业", "中等专科教育", "中等专业毕业", "技工学校肄业" ->
case "大学专科毕业", "大学专科结业", "大学本科/专科教育", "大学生本科结业", "大学生普通班毕业","大学生本科肄业","大学生本科毕业" -> "大学"; "高中/中专";
case "硕士研究生毕业", "研究生教育","研究生班肄业" -> "大学以上"; case "大学专科毕业", "大学专科结业", "大学本科/专科教育", "大学生本科结业", "大学生普通班毕业", "大学生本科肄业", "大学生本科毕业" ->
"大学";
case "硕士研究生毕业", "研究生教育", "研究生班肄业" -> "大学以上";
default -> null; default -> null;
}; };
@ -136,16 +128,16 @@ public class RiskTaskServiceImpl implements RiskTaskService {
.name(person.getName()) .name(person.getName())
.idCode(person.getIdCode()) .idCode(person.getIdCode())
.tag(edu) .tag(edu)
.sourceData("该人员的学历为"+xx.getXlmc()+",属于"+edu) .sourceData("该人员的学历为" + xx.getXlmc() + ",属于" + edu)
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(person.getId()) .personId(person.getId())
.build(), "edu"+person.getId().toString())); .build(), "edu" + person.getId().toString()));
continue; continue;
} }
RiskModelTaskClue tmp = new RiskModelTaskClue(); RiskModelTaskClue tmp = new RiskModelTaskClue();
tmp.setId(old.getId()); tmp.setId(old.getId());
tmp.setRiskReason(edu); tmp.setRiskReason(edu);
tmp.setData("该人员的学历为"+xx.getXlmc()+",属于"+edu); tmp.setData("该人员的学历为" + xx.getXlmc() + ",属于" + edu);
tmp.setScore(Edu.contains(edu)); tmp.setScore(Edu.contains(edu));
toUpdate.add(tmp); toUpdate.add(tmp);
} }
@ -160,6 +152,78 @@ public class RiskTaskServiceImpl implements RiskTaskService {
riskTaskRepository.updateTask(eduTask.getId(), toInsert.size(), toUpdate.size()); riskTaskRepository.updateTask(eduTask.getId(), toInsert.size(), toUpdate.size());
} }
@Override
public void eduAndAreaModelTask(TaskParamDomain domain) {
// 学历
RiskTask eduTask = riskTaskRepository.create(domain.getPersons().size(), 34);
// 区域
RiskTask areaTask = riskTaskRepository.create(domain.getPersons().size(), 41);
List<GBaseSYRKXX> xxList = syrkxxRepository.getBaseMapper().selectEduAndArea();
Map<String, RiskModelTaskClue> oldEduMap = domain.getOldMap(34, true);
Map<String, RiskModelTaskClue> oldAreaMap = domain.getOldMap(41, true);
Map<String, GBaseSYRKXX> xxMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
List<RiskModelTaskClue> toInsert1 = new ArrayList<>();
List<RiskModelTaskClue> toInsert2 = new ArrayList<>();
String areCode = "431122,431322,433127,431382,430525,430722";
for (RiskPersonal person : domain.getPersons()) {
GBaseSYRKXX xx = xxMap.get(person.getIdCode());
if (xx == null) {
continue;
}
if (xx.getXlmc() != null && oldEduMap.get(person.getIdCode()) == null) {
String edu = switch (xx.getXlmc()) {
case "小学教育", "文盲", "小学毕业", "小学肄业", "其他" -> "小学及以下";
case "初中毕业", "初级中等教育", "初中肄业" -> "初中";
case "普通高中结业", "普通高级中学教育", "普通高中毕业", "普通高中肄业", "中等专科结业", "中等专科教育", "中等专业毕业", "技工学校肄业" ->
"高中/中专";
case "大学专科毕业", "大学专科结业", "大学本科/专科教育", "大学生本科结业", "大学生普通班毕业", "大学生本科肄业", "大学生本科毕业" ->
"大学";
case "硕士研究生毕业", "研究生教育", "研究生班肄业" -> "大学以上";
default -> null;
};
if (edu != null) {
Integer score = Edu.contains(edu);
//创建新的
toInsert1.add(createClue(eduTask.getModelId(), score, eduTask.getId(), ClueData.builder()
.name(person.getName())
.idCode(person.getIdCode())
.tag(edu)
.sourceData("该人员的学历为" + xx.getXlmc() + ",属于" + edu)
.eventTime(LocalDateTime.now())
.personId(person.getId())
.build(), "edu" + person.getId().toString()));
}
}
if(xx.getCsdxzqhdm() != null && oldAreaMap.get(person.getIdCode()) == null) {
if(!areCode.contains(xx.getCsdxzqhdm())) {
continue;
}
toInsert2.add(createClue(areaTask.getModelId(), 5, areaTask.getId(), ClueData.builder()
.id(BhUtil.sfBh(person.getId().toString()))
.name(person.getName())
.idCode(person.getIdCode())
.personId(person.getId())
.eventTime(LocalDateTime.now())
.sourceData("发现该人员在" + xx.getCsdxzqhmc() + "成长,该地区暴力警情情况较多")
.tag(xx.getCsdxzqhmc())
.build(), "area___" + person.getId().toString()));
}
}
if(!toInsert1.isEmpty()) {
log.info("保存学历:{}", toInsert1.size());
riskModelTaskClueService.saveClues(toInsert1, Default.EDU_IG);
}
riskTaskRepository.updateTask(eduTask.getId(), toInsert1.size(), 0);
if(!toInsert2.isEmpty()) {
log.info("保存风险区域:{}", toInsert2.size());
riskModelTaskClueService.saveClues(toInsert2, Default.FIGHT_IG);
}
riskTaskRepository.updateTask(areaTask.getId(), toInsert2.size(), 0);
}
@Override @Override
public void behavior(TaskParamDomain domain) { public void behavior(TaskParamDomain domain) {
RiskTask task = riskTaskRepository.create(domain.getPersons().size(), 20); RiskTask task = riskTaskRepository.create(domain.getPersons().size(), 20);
@ -275,17 +339,17 @@ public class RiskTaskServiceImpl implements RiskTaskService {
Map<String, RiskPersonal> personMap = new HashMap<>(); Map<String, RiskPersonal> personMap = new HashMap<>();
// 将旧clue的人剔除出去,一个人的出生地一般不会变 // 将旧clue的人剔除出去,一个人的出生地一般不会变
for (RiskPersonal person : domain.getPersons()) { for (RiskPersonal person : domain.getPersons()) {
if(map.get(person.getIdCode()) != null) { if (map.get(person.getIdCode()) != null) {
continue; continue;
} }
if(idCards.isEmpty() || idCards.getLast().size() >= 10000) { if (idCards.isEmpty() || idCards.getLast().size() >= 10000) {
idCards.add(new ArrayList<>()); idCards.add(new ArrayList<>());
} }
idCards.getLast().add(person.getIdCode()); idCards.getLast().add(person.getIdCode());
personMap.put(person.getIdCode(), person); personMap.put(person.getIdCode(), person);
} }
if(idCards.isEmpty()) { if (idCards.isEmpty()) {
riskTaskRepository.updateTask(task.getId(), 0,0); riskTaskRepository.updateTask(task.getId(), 0, 0);
return; return;
} }
@ -301,8 +365,8 @@ public class RiskTaskServiceImpl implements RiskTaskService {
log.info("地区进度 | {}", count); log.info("地区进度 | {}", count);
} }
if(xxList.isEmpty()) { if (xxList.isEmpty()) {
riskTaskRepository.updateTask(task.getId(), 0,0); riskTaskRepository.updateTask(task.getId(), 0, 0);
return; return;
} }
@ -316,11 +380,11 @@ public class RiskTaskServiceImpl implements RiskTaskService {
.idCode(person.getIdCode()) .idCode(person.getIdCode())
.personId(person.getId()) .personId(person.getId())
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.sourceData("发现该人员在"+gBaseSYRKXX.getCsdxzqhmc()+"成长,该地区暴力警情情况较多,增加风险分5分") .sourceData("发现该人员在" + gBaseSYRKXX.getCsdxzqhmc() + "成长,该地区暴力警情情况较多,增加风险分5分")
.tag(gBaseSYRKXX.getCsdxzqhmc()) .tag(gBaseSYRKXX.getCsdxzqhmc())
.build(), "area___"+person.getId().toString())); .build(), "area___" + person.getId().toString()));
} }
if(!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
log.info("开始操作新增项:{}", toInsert.size()); log.info("开始操作新增项:{}", toInsert.size());
riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_IG); riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_IG);
} }
@ -371,26 +435,26 @@ public class RiskTaskServiceImpl implements RiskTaskService {
List<String> manList = new ArrayList<>(); List<String> manList = new ArrayList<>();
int count = 0; int count = 0;
for (FightMan fightMan : fightMans) { for (FightMan fightMan : fightMans) {
if(fightMan.getFightCount() < 5) { if (fightMan.getFightCount() < 5) {
continue; continue;
} }
count++; count++;
RiskModelTaskClue old = oldMap.get(fightMan.getGmsfhm()); RiskModelTaskClue old = oldMap.get(fightMan.getGmsfhm());
if(old != null) { if (old != null) {
RiskModelTaskClue update = new RiskModelTaskClue(); RiskModelTaskClue update = new RiskModelTaskClue();
update.setId(old.getId()); update.setId(old.getId());
update.setData("该人员在近期发生"+fightMan.getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); update.setData("该人员在近期发生" + fightMan.getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分");
toUpdates.add(update); toUpdates.add(update);
continue; continue;
} }
// 看看人员信息是否存在,决定需要增加人员不 // 看看人员信息是否存在,决定需要增加人员不
RiskPersonal person = personalMap.get(fightMan.getGmsfhm()); RiskPersonal person = personalMap.get(fightMan.getGmsfhm());
if(person == null) { if (person == null) {
fightManMap.put(fightMan.getGmsfhm(), fightMan); fightManMap.put(fightMan.getGmsfhm(), fightMan);
manList.add(fightMan.getGmsfhm()); manList.add(fightMan.getGmsfhm());
continue; continue;
} }
RiskModelTaskClue clue = createClue(task.getModelId(),3, person,task.getId(), fightMan.getFightCount()+"起纠纷", "该人员在近期发生"+fightMan.getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), fightMan.getFightCount() + "起纠纷", "该人员在近期发生" + fightMan.getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分");
toInsert.add(clue); toInsert.add(clue);
person.setId(null); person.setId(null);
person.setTags(Default.FIGHT_MUCH); person.setTags(Default.FIGHT_MUCH);
@ -400,35 +464,35 @@ public class RiskTaskServiceImpl implements RiskTaskService {
List<GBaseSYRKXX> list = syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>() List<GBaseSYRKXX> list = syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm) .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm)
.in(GBaseSYRKXX::getGmsfhm, manList)); .in(GBaseSYRKXX::getGmsfhm, manList));
Map<String, GBaseSYRKXX> map = list.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); Map<String, GBaseSYRKXX> map = list.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
for (Map.Entry<String, FightMan> s : fightManMap.entrySet()) { for (Map.Entry<String, FightMan> s : fightManMap.entrySet()) {
GBaseSYRKXX xx = map.get(s.getKey()); GBaseSYRKXX xx = map.get(s.getKey());
if(xx == null) { if (xx == null) {
xx = syrkxxMap.get(s.getKey()); xx = syrkxxMap.get(s.getKey());
} }
if(xx == null) { if (xx == null) {
continue; continue;
} }
RiskPersonal personal = createPerson(xx, Default.FIGHT_MUCH,orgCodeMap,orgIdMap, jqExternalDepart); RiskPersonal personal = createPerson(xx, Default.FIGHT_MUCH, orgCodeMap, orgIdMap, jqExternalDepart);
toInsertPeople.add(personal); toInsertPeople.add(personal);
RiskModelTaskClue clue = createClue(task.getModelId(),3, personal,task.getId(), s.getValue().getFightCount()+"起纠纷", "该人员在近期发生"+s.getValue().getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); RiskModelTaskClue clue = createClue(task.getModelId(), 3, personal, task.getId(), s.getValue().getFightCount() + "起纠纷", "该人员在近期发生" + s.getValue().getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分");
toInsert.add(clue); toInsert.add(clue);
} }
if(!toInsertPeople.isEmpty()) { if (!toInsertPeople.isEmpty()) {
log.info("新增人员 | {}", toInsertPeople.size()); log.info("新增人员 | {}", toInsertPeople.size());
riskPersonalService.formatAndSave(toInsertPeople, Default.FIGHT_MUCH); riskPersonalService.formatAndSave(toInsertPeople, Default.FIGHT_MUCH);
} }
if(!toUpdates.isEmpty()) { if (!toUpdates.isEmpty()) {
log.info("修改线索 | {}", toUpdates.size()); log.info("修改线索 | {}", toUpdates.size());
clueRepository.updateBatchById(toUpdates); clueRepository.updateBatchById(toUpdates);
} }
if(!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
log.info("新增线索 | {}", toInsert.size()); log.info("新增线索 | {}", toInsert.size());
riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_MUCH_IG); riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_MUCH_IG);
} }
@ -464,32 +528,32 @@ public class RiskTaskServiceImpl implements RiskTaskService {
} }
// 符合条件但是又没有旧数据 | 新增 // 符合条件但是又没有旧数据 | 新增
if (age >= 16 && age <= 24) { if (age >= 16 && age <= 24) {
RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于16岁至24岁之间", "该人员年龄为"+age+",属于16岁至24岁之间,增加风险分1分"); RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于16岁至24岁之间", "该人员年龄为" + age + ",属于16岁至24岁之间,增加风险分1分");
taskClue.add(clue); taskClue.add(clue);
continue; continue;
} }
if (age >= 25 && age <= 34) { if (age >= 25 && age <= 34) {
RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于25岁至34岁之间", "该人员年龄为"+age+",属于25岁至34岁之间,增加风险分3分"); RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于25岁至34岁之间", "该人员年龄为" + age + ",属于25岁至34岁之间,增加风险分3分");
taskClue.add(clue); taskClue.add(clue);
continue; continue;
} }
if (age >= 35 && age <= 55) { if (age >= 35 && age <= 55) {
RiskModelTaskClue clue = createClue(task.getModelId(), 5, person, task.getId(), "年龄处于35岁至55岁之间", "该人员年龄为"+age+",属于35岁至55岁之间,增加风险分5分"); RiskModelTaskClue clue = createClue(task.getModelId(), 5, person, task.getId(), "年龄处于35岁至55岁之间", "该人员年龄为" + age + ",属于35岁至55岁之间,增加风险分5分");
taskClue.add(clue); taskClue.add(clue);
continue; continue;
} }
if (age >= 56 && age <= 65) { if (age >= 56 && age <= 65) {
RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于56岁至66岁之间", "该人员年龄为"+age+",属于56岁至66岁之间,增加风险分3分"); RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于56岁至66岁之间", "该人员年龄为" + age + ",属于56岁至66岁之间,增加风险分3分");
taskClue.add(clue); taskClue.add(clue);
continue; continue;
} }
if (age >= 66 && age <= 75) { if (age >= 66 && age <= 75) {
RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于66岁至75岁之间", "该人员年龄为"+age+",属于66岁至75岁之间,增加风险分1分"); RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于66岁至75岁之间", "该人员年龄为" + age + ",属于66岁至75岁之间,增加风险分1分");
taskClue.add(clue); taskClue.add(clue);
} }
} }
riskModelTaskClueService.saveClues(taskClue, Default.AGE_IG); riskModelTaskClueService.saveClues(taskClue, Default.AGE_IG);
if(!toHidden.isEmpty()) { if (!toHidden.isEmpty()) {
clueRepository.updateBatchById(toHidden); clueRepository.updateBatchById(toHidden);
} }
riskTaskRepository.updateTask(task.getId(), taskClue.size(), toHidden.size()); riskTaskRepository.updateTask(task.getId(), taskClue.size(), toHidden.size());
@ -552,13 +616,13 @@ public class RiskTaskServiceImpl implements RiskTaskService {
return clue; return clue;
} }
RiskPersonal createPerson(GBaseSYRKXX xx, String tag, Map<String, PointOrg> orgCodeMap, Map<String, PointOrg> orgIdMap,Map<String, SupExternalDepart> jqExternalDepart) { RiskPersonal createPerson(GBaseSYRKXX xx, String tag, Map<String, PointOrg> orgCodeMap, Map<String, PointOrg> orgIdMap, Map<String, SupExternalDepart> jqExternalDepart) {
RiskPersonal person = new RiskPersonal(); RiskPersonal person = new RiskPersonal();
person.setName(xx.getXm()); person.setName(xx.getXm());
person.setMobileNumber(xx.getLxdh()); person.setMobileNumber(xx.getLxdh());
person.setIdCode(xx.getGmsfhm()); person.setIdCode(xx.getGmsfhm());
if(xx.getSspcsdm()!= null) { if (xx.getSspcsdm() != null) {
PointOrg org = orgCodeMap.get(xx.getSspcsdm()); PointOrg org = orgCodeMap.get(xx.getSspcsdm());
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(item -> jqExternalDepart.get(item)).orElse(null);
@ -570,20 +634,20 @@ public class RiskTaskServiceImpl implements RiskTaskService {
} }
} }
try{ try {
int age = IdCodeUtil.idCard2Age(person.getIdCode(), LocalDate.now()); int age = IdCodeUtil.idCard2Age(person.getIdCode(), LocalDate.now());
if(age <= 6) { if (age <= 6) {
return null; return null;
} }
person.setAge(age); person.setAge(age);
} catch (Exception e) { } catch (Exception e) {
return null; return null;
} }
if(person.getGender() == null) { if (person.getGender() == null) {
try{ try {
int gender = person.getIdCode().length() == 18 ? Integer.valueOf(person.getIdCode().substring(16, 17)) : Integer.valueOf(person.getIdCode().substring(14, 15)); int gender = person.getIdCode().length() == 18 ? Integer.valueOf(person.getIdCode().substring(16, 17)) : Integer.valueOf(person.getIdCode().substring(14, 15));
// 结果0男1女 余数偶女奇男 // 结果0男1女 余数偶女奇男
person.setGender(gender % 2 == 0 ?"2":"1"); person.setGender(gender % 2 == 0 ? "2" : "1");
} catch (Exception e) { } catch (Exception e) {
return null; return null;
} }

Loading…
Cancel
Save