Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/biutag/supervisiondata/task/TaskService.java
master
sjh 1 year ago
parent
commit
0c9d3c8eea
  1. 65
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 10
      src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java
  3. 4
      src/main/java/com/biutag/supervisiondata/mapper/mine/RiskTestMapper.java
  4. 51
      src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java
  5. 18
      src/main/java/com/biutag/supervisiondata/pojo/database/MuchCall.java
  6. 2
      src/main/java/com/biutag/supervisiondata/pojo/enums/Dispute.java
  7. 2
      src/main/java/com/biutag/supervisiondata/service/RiskModelTaskClueService.java
  8. 1
      src/main/java/com/biutag/supervisiondata/service/RiskPersonalService.java
  9. 3
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseBAServiceImpl.java
  10. 5
      src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java
  11. 72
      src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java
  12. 20
      src/main/java/com/biutag/supervisiondata/service/impl/NoControlServiceImpl.java
  13. 2
      src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java
  14. 106
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java
  15. 20
      src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java
  16. 81
      src/main/java/com/biutag/supervisiondata/service/impl/RiskModelTaskClueServiceImpl.java
  17. 47
      src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java
  18. 29
      src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java
  19. 35
      src/main/java/com/biutag/supervisiondata/task/TaskService.java

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

@ -98,39 +98,40 @@ public class ApplicationEvent {
public void serviceReady() { public void serviceReady() {
RedisDao.getInstance().init(redisTemplate); RedisDao.getInstance().init(redisTemplate);
// LocalDateTime start = LocalDateTime.of(2024, 1, 1, 0, 0, 0); LocalDateTime start = LocalDateTime.of(2024, 1, 1, 0, 0, 0);
// LocalDateTime end = LocalDateTime.now(); LocalDateTime end = LocalDateTime.now();
CompletableFutureUtil.runSync(() -> { CompletableFutureUtil.runSync(() -> {
// gBaseJJDService.pullAndSave(start, end); gBaseJJDService.pullAndSave(start, end);
// gBaseSHRWFRService.pullAndSave(start, end); gBaseSHRWFRService.pullAndSave(start, end);
// petitionService.personPullAndSave(start, end); petitionService.personPullAndSave(start, end);
// pointService.personPullAndSave(start, end); pointService.personPullAndSave(start, end);
// riskPersonalService.fixed(); riskPersonalService.fixed();
// List<RiskPersonal> persons = riskPersonalRepository.list(); List<RiskPersonal> persons = riskPersonalRepository.list();
// List<RiskModelTaskClue> clues = riskModelTaskClueRepository.list(new LambdaQueryWrapper<RiskModelTaskClue>() List<RiskModelTaskClue> clues = riskModelTaskClueRepository.list(new LambdaQueryWrapper<RiskModelTaskClue>()
// .eq(RiskModelTaskClue::getDel, 0)); .eq(RiskModelTaskClue::getDel, 0));
// Map<Integer, List<RiskModelTaskClue>> map = clues.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getModelId)); Map<Integer, List<RiskModelTaskClue>> map = clues.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getModelId));
// TaskParamDomain domain = new TaskParamDomain(persons, map); TaskParamDomain domain = new TaskParamDomain(persons, map);
// riskTaskService.eduModelTask(domain); petitionService.petitionModelTask(domain);
// riskTaskService.infoModelTask(domain); riskTaskService.heightFight(domain);
// riskTaskService.caseModelTask(domain); riskTaskService.eduModelTask(domain);
// gBaseBAService.baModelTask(domain); riskTaskService.infoModelTask(domain);
// policeService.contradictModelTask(domain); riskTaskService.caseModelTask(domain);
// habitService.habitModelTask(domain); gBaseBAService.baModelTask(domain);
// marriageService.marriageModelTask(domain); policeService.contradictModelTask(domain);
// petitionService.petitionModelTask(domain); habitService.habitModelTask(domain);
// riskTaskService.riskAreaModelTask(domain); marriageService.marriageModelTask(domain);
// riskTaskService.heightFight(domain);
// pointService.syncScore(domain); riskTaskService.riskAreaModelTask(domain);
// pointService.syncViolence(domain); pointService.syncScore(domain);
// noControlService.syncNoControlData(domain); pointService.syncViolence(domain);
// pointService.syncKillSelf(domain); noControlService.syncNoControlData(domain);
// pointService.syncDrug(domain); pointService.syncKillSelf(domain);
// pointService.syncControlNoPower(domain); pointService.syncDrug(domain);
// riskScoreRuleService.runScore(); // riskPersonalService.fixed2();
// pointService.syncPointCall(domain); pointService.syncControlNoPower(domain);
personalService.syncOrg(); pointService.syncPointCall(domain);
// personalService.syncOrg();
}); });
} }

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

@ -1,6 +1,7 @@
package com.biutag.supervisiondata.mapper.dwd; package com.biutag.supervisiondata.mapper.dwd;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervisiondata.pojo.database.MuchCall;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -21,7 +22,10 @@ public interface GBaseJJDMapper extends BaseMapper<GBaseJJD> {
List<GBaseJJD> selectDataToRisk(@Param("startTime")String startTime, @Param("endTime")String endTime); List<GBaseJJD> selectDataToRisk(@Param("startTime")String startTime, @Param("endTime")String endTime);
@Select(" select bjrlxdh, bjdh, jqxzdm, bjrzjhm from dwd_asj_zhtx_jjd " + @Select(" select bjdh, " +
" where bjsj >= '2024-01-01 00:00:00'") " sum(IF(SUBSTR(jqxzdm, 1, 1) != '9',1,0)) as normal, " +
List<GBaseJJD> selectPointCall(); " sum(IF(SUBSTR(jqxzdm, 1, 1) = '9',1,0)) as unNormal " +
" from dwd_asj_zhtx_jjd where bjsj >= '2024-01-01 00:00:00' and bjdh is not null " +
" group by bjdh HAVING sum(IF(SUBSTR(jqxzdm, 1, 1) != '9',1,0)) > 5 or sum(IF(SUBSTR(jqxzdm, 1, 1) = '9',1,0)) > 100")
List<MuchCall> selectPointCall();
} }

4
src/main/java/com/biutag/supervisiondata/mapper/mine/RiskTestMapper.java

@ -2,6 +2,7 @@ package com.biutag.supervisiondata.mapper.mine;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervisiondata.pojo.entity.mine.RiskTest; import com.biutag.supervisiondata.pojo.entity.mine.RiskTest;
import org.apache.ibatis.annotations.Update;
/** /**
* @author kami on 2024-11-13 16:17:36 * @author kami on 2024-11-13 16:17:36
@ -9,4 +10,7 @@ import com.biutag.supervisiondata.pojo.entity.mine.RiskTest;
* @since 1.8 * @since 1.8
*/ */
public interface RiskTestMapper extends BaseMapper<RiskTest> { public interface RiskTestMapper extends BaseMapper<RiskTest> {
@Update("truncate table risk_test")
int truncateTable();
} }

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

@ -18,19 +18,19 @@ public class Default {
public static final String BIG_TAG_SHWFR = "涉违法犯罪人员"; public static final String BIG_TAG_SHWFR = "涉违法犯罪人员";
public static final String PETITION_CASE_TAG = "案件核查"; public static final String PETITION_CASE_TAG = "信访、投诉-案件核查";
public static final String PETITION_12337_TAG = "12337"; public static final String PETITION_12337_TAG = "信访、投诉-12337";
public static final String PETITION_TAG = "信访投诉"; public static final String PETITION_TAG = "信访、投诉-其他信访投诉";
public static final String BIG_TAG_PETITION = "涉投诉举报信访人员"; public static final String BIG_TAG_PETITION = "涉投诉举报信访人员";
public static final String BA_TAG = "从事特种职业-保安"; public static final String BA_TAG = "保安";
public static final String BIG_TAG_TRUBO = "涉矛盾纠纷"; public static final String DRUG_TAG = "涉药";
public static final String FIGHT_BORN = "成长地区暴力警情高于平均水平"; public static final String BIG_TAG_TRUBO = "涉矛盾纠纷";
public static final String FIGHT_MUCH = "多次矛盾纠纷"; public static final String FIGHT_MUCH = "多次矛盾纠纷";
@ -40,4 +40,43 @@ public class Default {
public static final String CALL_REDIS = "call:point"; public static final String CALL_REDIS = "call:point";
public static final String BASIC = "基础信息";
public static final String MUCH_CALL = "重点人员报警异常";
// ***********因素*************
public static final String AGE_IG = "年龄因素";
public static final String GENDER_IG = "性别因素";
public static final String EDU_IG = "学历因素";
public static final String WFR_IG = "犯罪前科因素";
public static final String IMPORT_IG = "特种职业因素";
public static final String TRUBO_IG = "涉矛盾纠纷因素";
public static final String HABBIT_IG = "不良嗜好因素";
public static final String FIGHT_IG = "民风习俗因素";
public static final String POINT_IG = "重点对象因素";
public static final String VIOLENCE_IG ="暴力伤害行为因素";
public static final String CONTROLLER_IG ="重点对象日常管控不到位因素";
public static final String CONTROLLER2_IG ="风险人员排查不到位因素";
public static final String KILL_IG = "个人极端因素";
public static final String MAIL_IG = "诉求不满或长期未化解因素";
public static final String FIGHT_MUCH_IG = "高频矛盾纠纷因素";
public static final String MARRAY_IG = "婚姻因素";
public static final String NO_LOVE_IG = "感情失意因素";
} }

18
src/main/java/com/biutag/supervisiondata/pojo/database/MuchCall.java

@ -0,0 +1,18 @@
package com.biutag.supervisiondata.pojo.database;
import lombok.Data;
/**
* @author kami on 2024-11-26 14:40:51
* @version 0.0.1
* @since 1.8
*/
@Data
public class MuchCall {
String mobile;
Integer normal;
Integer unNormal;
}

2
src/main/java/com/biutag/supervisiondata/pojo/enums/Dispute.java

@ -22,7 +22,7 @@ public enum Dispute {
TUDI("土地", "涉土地纠纷"), TUDI("土地", "涉土地纠纷"),
MONEY2("劳资", "涉劳资纠纷"), MONEY2("劳资", "涉劳资纠纷"),
HOME("家庭暴力", "涉家庭暴力纠纷"), HOME("家庭暴力", "涉家庭暴力纠纷"),
NEIBER("邻里纠纷", "涉邻里纠纷纠纷"); NEIBER("邻里纠纷", "涉邻里纠纷");
private final String title; private final String title;

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

@ -12,5 +12,5 @@ import java.util.List;
*/ */
public interface RiskModelTaskClueService { public interface RiskModelTaskClueService {
void saveClues(List<RiskModelTaskClue> list); void saveClues(List<RiskModelTaskClue> list, String bigTag);
} }

1
src/main/java/com/biutag/supervisiondata/service/RiskPersonalService.java

@ -25,4 +25,5 @@ public interface RiskPersonalService {
void saveDistinct(List<RiskPersonal> riskPersonals); void saveDistinct(List<RiskPersonal> riskPersonals);
void fixed(); void fixed();
void fixed2();
} }

3
src/main/java/com/biutag/supervisiondata/service/impl/GBaseBAServiceImpl.java

@ -66,7 +66,6 @@ public class GBaseBAServiceImpl implements GBaseBAService {
Map<String, List<GBaseBAXX>> map = xxList.stream().collect(Collectors.groupingBy(GBaseBAXX::getSfzhm)); Map<String, List<GBaseBAXX>> map = xxList.stream().collect(Collectors.groupingBy(GBaseBAXX::getSfzhm));
Map<String, RiskPersonal> personMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (oldValue, newValue) -> newValue)); Map<String, RiskPersonal> personMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (oldValue, newValue) -> newValue));
log.info("开干");
for (Map.Entry<String, List<GBaseBAXX>> entry : map.entrySet()) { for (Map.Entry<String, List<GBaseBAXX>> entry : map.entrySet()) {
GBaseBAXX tmp = entry.getValue().getFirst(); GBaseBAXX tmp = entry.getValue().getFirst();
if (tmp.getRyztdm() == null) { if (tmp.getRyztdm() == null) {
@ -129,7 +128,7 @@ public class GBaseBAServiceImpl implements GBaseBAService {
log.info("数据库操作阶段"); log.info("数据库操作阶段");
// 新增 // 新增
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert); riskModelTaskClueService.saveClues(toInsert, Default.IMPORT_IG);
} }
// 修改 // 修改
if (!toUpdate.isEmpty()) { if (!toUpdate.isEmpty()) {

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

@ -3,6 +3,7 @@ package com.biutag.supervisiondata.service.impl;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.pojo.ClueData; import com.biutag.supervisiondata.pojo.ClueData;
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.dwd.GBaseAJJBXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX;
@ -134,7 +135,7 @@ public class HabitServiceImpl implements HabitService {
.departName(aj.getBadwidmc()) .departName(aj.getBadwidmc())
.name(person.getName()) .name(person.getName())
.idCode(person.getIdCode()) .idCode(person.getIdCode())
.tag(aj.getAjlbmc()) .tag("不良嗜好-"+aj.getAjlbmc())
.personId(person.getId()) .personId(person.getId())
.sourceData("结合案件信息和违法人信息相关数据,发现该人员有:"+aj.getAjlbmc()+"类型的案件,案件编号为:"+aj.getAjbh()+",属于存在不良嗜好,增加风险分1分(存在涉赌、涉酒、涉黄不良嗜好的,每项+1分,最高3分)") .sourceData("结合案件信息和违法人信息相关数据,发现该人员有:"+aj.getAjlbmc()+"类型的案件,案件编号为:"+aj.getAjbh()+",属于存在不良嗜好,增加风险分1分(存在涉赌、涉酒、涉黄不良嗜好的,每项+1分,最高3分)")
.build(); .build();
@ -192,7 +193,7 @@ public class HabitServiceImpl implements HabitService {
} }
log.info("开始进行数据库操作"); log.info("开始进行数据库操作");
if(!toInsert.isEmpty()) { if(!toInsert.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert); riskModelTaskClueService.saveClues(toInsert, Default.HABBIT_IG);
} }
if(!toInsertRecord.isEmpty()) { if(!toInsertRecord.isEmpty()) {
controlRecordService.batchInsert(toInsertRecord); controlRecordService.batchInsert(toInsertRecord);

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

@ -3,6 +3,7 @@ package com.biutag.supervisiondata.service.impl;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.pojo.ClueData; import com.biutag.supervisiondata.pojo.ClueData;
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.dwd.GBaseAJJBXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseHY; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseHY;
@ -48,7 +49,9 @@ public class MarriageServiceImpl implements MarriageService {
// 婚姻不用管管控 // 婚姻不用管管控
// clue 应该要看结婚状态 // clue 应该要看结婚状态
RiskTask task = createTask(domain.getPersons().size(), 39); RiskTask task = createTask(domain.getPersons().size(), 39);
riskTaskRepository.save(task); RiskTask task2 = createTask(domain.getPersons().size(), 51);
riskTaskRepository.saveBatch(List.of(task,task2));
List<GBaseHY> hyList = new ArrayList<>(); List<GBaseHY> hyList = new ArrayList<>();
log.info("开始查询结婚数据:{}", domain.getIdCards().size()); log.info("开始查询结婚数据:{}", domain.getIdCards().size());
int count = 0; int count = 0;
@ -81,11 +84,19 @@ public class MarriageServiceImpl implements MarriageService {
log.info("男性数据:{}", manMap.size()); log.info("男性数据:{}", manMap.size());
log.info("女性数据:{}", femanMap.size()); log.info("女性数据:{}", femanMap.size());
// 旧线索 // 旧线索
List<RiskModelTaskClue> oldClues = Optional.ofNullable(domain.getMap().get(39)).orElse(new ArrayList<>()); List<RiskModelTaskClue> oldClues = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>());
Map<String, RiskModelTaskClue> oldClueMap = oldClues.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue)); Map<String, RiskModelTaskClue> oldClueMap = oldClues.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue));
// 旧线索
List<RiskModelTaskClue> oldClues2 = Optional.ofNullable(domain.getMap().get(task2.getModelId())).orElse(new ArrayList<>());
Map<String, RiskModelTaskClue> oldClueMap2 = oldClues2.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (oldValue, newValue) -> newValue));
// 遍历了 // 遍历了
List<ClueData> toInsertData = new ArrayList<>(); List<ClueData> toInsertData = new ArrayList<>();
List<RiskModelTaskClue> toUpdateData = new ArrayList<>(); List<RiskModelTaskClue> toUpdateData = new ArrayList<>();
List<ClueData> toInsertData2 = new ArrayList<>();
List<RiskModelTaskClue> toUpdateData2 = new ArrayList<>();
long targetTime = System.currentTimeMillis() - 31536000000l;
for (RiskPersonal person : domain.getPersons()) { for (RiskPersonal person : domain.getPersons()) {
List<GBaseHY> tmpList = manMap.get(person.getIdCode()); List<GBaseHY> tmpList = manMap.get(person.getIdCode());
if(tmpList == null) { if(tmpList == null) {
@ -116,8 +127,12 @@ public class MarriageServiceImpl implements MarriageService {
} }
if(last.getYwlxdmdm().toUpperCase().contains("IB") || last.getYwlxdmdm().toUpperCase().contains("ICB")) { if(last.getYwlxdmdm().toUpperCase().contains("IB") || last.getYwlxdmdm().toUpperCase().contains("ICB")) {
// 离婚 如果旧数据不存在就要新增 // 离婚 如果旧数据不存在就要新增
if(last.getDjrq().getTime() > targetTime) {
// 近365天的离婚
RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); RiskModelTaskClue clue = oldClueMap.get(person.getIdCode());
if(clue == null) { if(clue != null) {
continue;
}
ClueData data = ClueData.builder() ClueData data = ClueData.builder()
.personId(person.getId()) .personId(person.getId())
.tag(last.getYwlxdmmc()) .tag(last.getYwlxdmmc())
@ -128,32 +143,75 @@ public class MarriageServiceImpl implements MarriageService {
.build(); .build();
data.setEventTime(last.getDjrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); data.setEventTime(last.getDjrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
toInsertData.add(data); toInsertData.add(data);
} else {
// 365天之前的离婚,进基础因素
RiskModelTaskClue clue = oldClueMap2.get(person.getIdCode());
if(clue != null) {
continue;
}
ClueData data = ClueData.builder()
.personId(person.getId())
.tag(last.getYwlxdmmc())
.id(last.getXlzjdjzh())
.idCode(person.getIdCode())
.name(person.getName())
.sourceData("根据该人员最新的婚姻登记信息,发现该人员登记为离婚,存在感情失意的可能,增加风险分3分")
.build();
data.setEventTime(last.getDjrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
toInsertData2.add(data);
} }
} else if(last.getYwlxdmdm().toUpperCase().contains("IA") || last.getYwlxdmdm().toUpperCase().contains("ICA")) { } else if(last.getYwlxdmdm().toUpperCase().contains("IA") || last.getYwlxdmdm().toUpperCase().contains("ICA")) {
// 结婚 如果旧数据存在就要修改为0 // 结婚 如果旧数据存在就要修改为0
// 近365天的离婚
if(last.getDjrq().getTime() > targetTime) {
RiskModelTaskClue clue = oldClueMap.get(person.getIdCode()); RiskModelTaskClue clue = oldClueMap.get(person.getIdCode());
if(clue != null) { if(clue == null) {
continue;
}
RiskModelTaskClue update = new RiskModelTaskClue(); RiskModelTaskClue update = new RiskModelTaskClue();
update.setId(clue.getId()); update.setId(clue.getId());
update.setDel(1); update.setDel(1);
toUpdateData.add(update); toUpdateData.add(update);
} else {
RiskModelTaskClue clue = oldClueMap2.get(person.getIdCode());
if(clue == null) {
continue;
} }
RiskModelTaskClue update = new RiskModelTaskClue();
update.setId(clue.getId());
update.setDel(1);
toUpdateData2.add(update);
}
} }
} }
List<RiskModelTaskClue> toInsert = new ArrayList<>(); List<RiskModelTaskClue> toInsert = new ArrayList<>();
log.info("插入数据条数: {}", toInsertData.size()); List<RiskModelTaskClue> toInsert2 = new ArrayList<>();
log.info("插入数据条数: {} | {}", toInsertData.size(), toInsertData2.size());
for (ClueData toInsertDatum : toInsertData) { for (ClueData toInsertDatum : toInsertData) {
toInsert.add(createClue(task.getModelId(), 3, task.getId(), toInsertDatum)); toInsert.add(createClue(task.getModelId(), 3, task.getId(), toInsertDatum));
} }
for (ClueData toInsertDatum : toInsertData2) {
toInsert2.add(createClue(task2.getModelId(), 1, task2.getId(), toInsertDatum));
}
if(!toInsertData.isEmpty()) { if(!toInsert.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert); riskModelTaskClueService.saveClues(toInsert, Default.NO_LOVE_IG);
}
if(!toInsert2.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert2, Default.MARRAY_IG);
} }
if(!toUpdateData.isEmpty()) { if(!toUpdateData.isEmpty()) {
log.info("修改线索 | {}", toUpdateData.size()); log.info("修改线索 | {}", toUpdateData.size());
clueRepository.updateBatchById(toUpdateData); clueRepository.updateBatchById(toUpdateData);
} }
if(!toUpdateData2.isEmpty()) {
log.info("修改线索2 | {}", toUpdateData2.size());
clueRepository.updateBatchById(toUpdateData2);
}
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size()); updateTask.setInsertSize(toInsert.size());

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

@ -52,7 +52,7 @@ public class NoControlServiceImpl implements NoControlService {
// clue 应该要看结婚状态 // clue 应该要看结婚状态
RiskTask task = createTask(domain.getPersons().size(), 45); RiskTask task = createTask(domain.getPersons().size(), 45);
riskTaskRepository.save(task); riskTaskRepository.save(task);
RiskTask task2 = createTask(domain.getPersons().size(), 47); RiskTask task2 = createTask(domain.getPersons().size(), 49);
riskTaskRepository.save(task2); riskTaskRepository.save(task2);
List<ClueData> clueData = new ArrayList<>(); List<ClueData> clueData = new ArrayList<>();
@ -83,14 +83,14 @@ 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(); // RiskPersonalTag tag = new RiskPersonalTag();
tag.setBigTag(Default.NO_CONTROL); // tag.setBigTag(Default.NO_CONTROL);
tag.setTagTime(Optional.ofNullable(clueDatum.getEventTime()).orElse(LocalDateTime.now())); // tag.setTagTime(Optional.ofNullable(clueDatum.getEventTime()).orElse(LocalDateTime.now()));
tag.setName(clueDatum.getName()); // tag.setName(clueDatum.getName());
tag.setIdCode(clueDatum.getIdCode()); // tag.setIdCode(clueDatum.getIdCode());
tag.setSmallTag(clueDatum.getTag()); // tag.setSmallTag(clueDatum.getTag());
tag.setCreateTime(LocalDateTime.now()); // tag.setCreateTime(LocalDateTime.now());
tags.add(tag); // tags.add(tag);
if(clueDatum.getTag().equals("神疾病三级以上人员管控不到位")) { if(clueDatum.getTag().equals("神疾病三级以上人员管控不到位")) {
clues.add(createClue(task2.getModelId(), 3, task.getId(), clueDatum)); clues.add(createClue(task2.getModelId(), 3, task.getId(), clueDatum));
} else { } else {
@ -106,7 +106,7 @@ public class NoControlServiceImpl implements NoControlService {
personalRepository.updateBatchById(toUpdate); personalRepository.updateBatchById(toUpdate);
} }
if(!clues.isEmpty()) { if(!clues.isEmpty()) {
clueService.saveClues(clues); clueService.saveClues(clues, Default.CONTROLLER2_IG);
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());

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

@ -467,7 +467,7 @@ public class PetitionServiceImpl implements PetitionService {
} }
} }
if(!toInsert.isEmpty()) { if(!toInsert.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert); riskModelTaskClueService.saveClues(toInsert, Default.MAIL_IG);
} }
if(!toUpdates.isEmpty()) { if(!toUpdates.isEmpty()) {

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

@ -6,6 +6,7 @@ import com.biutag.supervisiondata.config.cache.RedisDao;
import com.biutag.supervisiondata.mapper.mine.SupDepartMapper; 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.domain.*; import com.biutag.supervisiondata.pojo.domain.*;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseTbDZdrylb; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseTbDZdrylb;
@ -82,7 +83,7 @@ public class PointServiceImpl implements PointService {
.eventTime(Optional.ofNullable(personal.getControlTime()).orElse(LocalDateTime.now())) .eventTime(Optional.ofNullable(personal.getControlTime()).orElse(LocalDateTime.now()))
.departId(personal.getControlDepartId()) .departId(personal.getControlDepartId())
.departName(personal.getControlDepartName()) .departName(personal.getControlDepartName())
.sourceData("该人员存在标签:" + personal.getTags() + ",属于特定人员,增加风险分5分") .sourceData("该人员存在标签:" + personal.getTags() + ",属于重点人员,增加风险分5分")
.build())); .build()));
} }
continue; continue;
@ -97,13 +98,13 @@ public class PointServiceImpl implements PointService {
.eventTime(Optional.ofNullable(personal.getControlTime()).orElse(LocalDateTime.now())) .eventTime(Optional.ofNullable(personal.getControlTime()).orElse(LocalDateTime.now()))
.departId(personal.getControlDepartId()) .departId(personal.getControlDepartId())
.departName(personal.getControlDepartName()) .departName(personal.getControlDepartName())
.sourceData("该人员存在标签:" + personal.getTags() + ",属于特定人员,增加风险分5分") .sourceData("该人员存在标签:" + personal.getTags() + ",属于重点人员,增加风险分5分")
.build())); .build()));
} }
} }
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
modelTaskClueService.saveClues(toInsert); modelTaskClueService.saveClues(toInsert, Default.POINT_IG);
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
@ -165,7 +166,7 @@ public class PointServiceImpl implements PointService {
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
modelTaskClueService.saveClues(toInsert); modelTaskClueService.saveClues(toInsert, Default.VIOLENCE_IG);
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
@ -215,7 +216,7 @@ public class PointServiceImpl implements PointService {
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
modelTaskClueService.saveClues(toInsert); modelTaskClueService.saveClues(toInsert, Default.KILL_IG);
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
@ -228,7 +229,7 @@ public class PointServiceImpl implements PointService {
@Override @Override
public void syncDrug(TaskParamDomain domain) { public void syncDrug(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 47); RiskTask task = createTask(domain.getPersons().size(), 37);
taskRepository.save(task); taskRepository.save(task);
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
@ -253,9 +254,8 @@ public class PointServiceImpl implements PointService {
.build(); .build();
toInsert.add(createClue(task.getModelId(), 2, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 2, task.getId(), data));
} }
if (!toInsert.isEmpty()) { if(!toInsert.isEmpty()) {
log.info("增加涉药人员:{}", toInsert.size()); modelTaskClueService.saveClues(toInsert, Default.IMPORT_IG);
modelTaskClueService.saveClues(toInsert);
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
@ -287,7 +287,7 @@ public class PointServiceImpl implements PointService {
.name(personal.getName()) .name(personal.getName())
.id(personal.getId().toString()) .id(personal.getId().toString())
.idCode(personal.getIdCode()) .idCode(personal.getIdCode())
.tag("特定对象日常管控不到位") .tag("重点对象管控民警所控人员100人以上疑似日常管控不到位")
.departId(gBaseZDRY.getXzdpcsdm()) .departId(gBaseZDRY.getXzdpcsdm())
.departName(gBaseZDRY.getXzdpcs()) .departName(gBaseZDRY.getXzdpcs())
.personId(personal.getId()) .personId(personal.getId())
@ -298,7 +298,7 @@ public class PointServiceImpl implements PointService {
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
log.info("增加特定对象日常管控不到位人员:{}", toInsert.size()); log.info("增加特定对象日常管控不到位人员:{}", toInsert.size());
modelTaskClueService.saveClues(toInsert); modelTaskClueService.saveClues(toInsert, Default.CONTROLLER_IG);
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
@ -318,35 +318,14 @@ public class PointServiceImpl implements PointService {
RiskTask task = createTask(domain.getPersons().size(), 50); RiskTask task = createTask(domain.getPersons().size(), 50);
taskRepository.save(task); taskRepository.save(task);
// 获取接警数据 // 获取接警数据
List<GBaseJJD> result = jjdRepository.getBaseMapper().selectPointCall(); List<MuchCall> result = jjdRepository.getBaseMapper().selectPointCall();
List<RiskPersonal> person = getPersons(); List<RiskPersonal> person = getPersons();
Map<String, Integer> map = new HashMap<>(); Map<String, MuchCall> map = result.stream().collect(Collectors.toMap(MuchCall::getMobile, Function.identity(), (val, old) -> val));
Map<String, Integer> noUseMap = new HashMap<>();
for (GBaseJJD gBaseJJD : result) {
String dh = gBaseJJD.getBjrlxdh();
if (dh == null || dh.isEmpty()) {
dh = gBaseJJD.getBjdh();
}
if (dh == null || dh.isEmpty()) {
continue;
}
if (gBaseJJD.getJqxzdm() == null) {
continue;
}
if (gBaseJJD.getJqxzdm().startsWith("9")) {
Integer count = Optional.ofNullable(noUseMap.get(dh)).orElse(0);
count++;
noUseMap.put(dh, count);
} else {
Integer count = Optional.ofNullable(map.get(dh)).orElse(0);
count++;
map.put(dh, count);
}
}
log.info("报警:{},{}", map.size(), noUseMap.size());
List<RiskModelTaskClue> toInsert = new ArrayList<>(); List<RiskModelTaskClue> toInsert = new ArrayList<>();
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
Map<String, List<RiskPersonal>> aMAP = person.stream().collect(Collectors.groupingBy(RiskPersonal::getIdCode)); Map<String, List<RiskPersonal>> aMAP = person.stream().collect(Collectors.groupingBy(RiskPersonal::getIdCode));
RedisDao.getInstance().removeListAll(Default.CALL_REDIS); RedisDao.getInstance().removeListAll(Default.CALL_REDIS);
List<RiskTest> tmp = new ArrayList<>(); List<RiskTest> tmp = new ArrayList<>();
@ -355,22 +334,30 @@ public class PointServiceImpl implements PointService {
continue; continue;
} }
RiskPersonal personal = entry.getValue().getFirst(); RiskPersonal personal = entry.getValue().getFirst();
if(oldMap.get(personal.getIdCode()) != null) {
continue;
}
String[] str = personal.getMobileNumber().split(","); String[] str = personal.getMobileNumber().split(",");
int num = 0; int num = 0;
int noUsefulNum = 0; int noUsefulNum = 0;
StringBuilder mobile = new StringBuilder(); StringBuilder mobile = new StringBuilder();
for (String s : str) { for (String s : str) {
if (s.contains("无") || s.equals("00000000") || s.equals("1")) { String number = s.chars()
.filter(Character::isDigit)
.collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
.toString();
if (number.length() < 8 || number.equals("00000000")) {
continue; continue;
} }
mobile.append(s).append(","); mobile.append(s).append(",");
int count = Optional.ofNullable(map.get(s)).orElse(0); int count = Optional.ofNullable(map.get(s)).map(MuchCall::getNormal).orElse(0);
num += count; num += count;
int count2 = Optional.ofNullable(map.get(s)).map(MuchCall::getUnNormal).orElse(0);
int count2 = Optional.ofNullable(noUseMap.get(s)).orElse(0);
noUsefulNum += count2; noUsefulNum += count2;
} }
if (num > 5 || noUsefulNum > 100) { if(num == 0 && noUsefulNum==0) {
continue;
}
StringBuilder mark = new StringBuilder(); StringBuilder mark = new StringBuilder();
for (RiskPersonal p : entry.getValue()) { for (RiskPersonal p : entry.getValue()) {
mark.append(p.getTags()).append(","); mark.append(p.getTags()).append(",");
@ -380,7 +367,7 @@ public class PointServiceImpl implements PointService {
call.setNoUsefulCallCount(noUsefulNum); call.setNoUsefulCallCount(noUsefulNum);
call.setLabels(mark.substring(0, mark.length() - 1)); call.setLabels(mark.substring(0, mark.length() - 1));
call.setName(personal.getName()); call.setName(personal.getName());
call.setMobiles(mobile.substring(0, mobile.length() - 1)); call.setMobiles(mobile.length()==0?"":mobile.substring(0, mobile.length() - 1));
call.setIdCode(personal.getIdCode()); call.setIdCode(personal.getIdCode());
call.setControlId(personal.getControlDepartId()); call.setControlId(personal.getControlDepartId());
call.setControlName(personal.getControlDepartName()); call.setControlName(personal.getControlDepartName());
@ -400,7 +387,7 @@ public class PointServiceImpl implements PointService {
ClueData data = ClueData.builder() ClueData data = ClueData.builder()
.name(personal.getName()) .name(personal.getName())
.idCode(personal.getIdCode()) .idCode(personal.getIdCode())
.tag("特定对象日常管控不到位") .tag("重点对象多次报警疑似管控不到位")
.departId(personal.getControlDepartId()) .departId(personal.getControlDepartId())
.departName(call.getControlName()) .departName(call.getControlName())
.personId(personal.getId()) .personId(personal.getId())
@ -409,14 +396,14 @@ public class PointServiceImpl implements PointService {
.build(); .build();
toInsert.add(createClue(task.getModelId(), 4, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 4, task.getId(), data));
} }
} riskTestRepository.getBaseMapper().truncateTable();
if (!tmp.isEmpty()) { if (!tmp.isEmpty()) {
riskTestRepository.saveBatch(tmp); riskTestRepository.saveBatch(tmp);
} }
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
log.info("增加特定对象日常管控不到位人员:{}", toInsert.size()); log.info("增加特定对象日常管控不到位人员:{}", toInsert.size());
modelTaskClueService.saveClues(toInsert); modelTaskClueService.saveClues(toInsert, Default.CONTROLLER_IG);
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
@ -472,10 +459,10 @@ public class PointServiceImpl implements PointService {
} }
SupDepart findLevelThreeDepart(SupDepart supDepart, Map<String, SupDepart> departMap) { SupDepart findLevelThreeDepart(SupDepart supDepart, Map<String, SupDepart> departMap) {
if(supDepart == null){ if (supDepart == null) {
return null; return null;
} }
if(supDepart.getLevel() == 3) { if (supDepart.getLevel() == 3) {
return supDepart; return supDepart;
} }
supDepart = departMap.get(supDepart.getPid()); supDepart = departMap.get(supDepart.getPid());
@ -490,7 +477,7 @@ public class PointServiceImpl implements PointService {
List<GBaseTbDZdrylb> lbList = zdrylbRepository.list(new LambdaQueryWrapper<GBaseTbDZdrylb>() List<GBaseTbDZdrylb> lbList = zdrylbRepository.list(new LambdaQueryWrapper<GBaseTbDZdrylb>()
.select(GBaseTbDZdrylb::getCode, GBaseTbDZdrylb::getDefine)); .select(GBaseTbDZdrylb::getCode, GBaseTbDZdrylb::getDefine));
List<SupDepart> supDeparts = supDepartMapper.selectList(new LambdaQueryWrapper<SupDepart>() List<SupDepart> supDeparts = supDepartMapper.selectList(new LambdaQueryWrapper<SupDepart>()
.select(SupDepart::getId,SupDepart::getCode, SupDepart::getLevel, SupDepart::getShortName, SupDepart::getPid) .select(SupDepart::getId, SupDepart::getCode, SupDepart::getLevel, SupDepart::getShortName, SupDepart::getPid)
.ge(SupDepart::getLevel, 3)); .ge(SupDepart::getLevel, 3));
Map<String, Integer> supExternalDepartMap = new WeakHashMap<>(); Map<String, Integer> supExternalDepartMap = new WeakHashMap<>();
@ -543,15 +530,15 @@ public class PointServiceImpl implements PointService {
SupDepart depart = supDepartCodeMap.get(ry.getGxdwjgdm()); SupDepart depart = supDepartCodeMap.get(ry.getGxdwjgdm());
depart = findLevelThreeDepart(depart, supDepartIdMap); depart = findLevelThreeDepart(depart, supDepartIdMap);
Integer exist = supExternalDepartMap.get(ry.getGxdwjgdm()); Integer exist = supExternalDepartMap.get(ry.getGxdwjgdm());
if(exist == null) { if (exist == null) {
SupExternalDepart externalDepart = new SupExternalDepart(); SupExternalDepart externalDepart = new SupExternalDepart();
externalDepart.setExternalId(ry.getGxdwjgdm()); externalDepart.setExternalId(ry.getGxdwjgdm());
externalDepart.setExternalName(ry.getGxdw()); externalDepart.setExternalName(ry.getGxdw());
externalDepart.setSource("重点人员"); externalDepart.setSource("重点人员");
externalDeparts.add(externalDepart); externalDeparts.add(externalDepart);
supExternalDepartMap.put(ry.getGxdwjgdm(),1); supExternalDepartMap.put(ry.getGxdwjgdm(), 1);
} }
if(depart == null) { if (depart == null) {
noDepartCount++; noDepartCount++;
} }
for (String s : sb) { for (String s : sb) {
@ -580,14 +567,25 @@ public class PointServiceImpl implements PointService {
} catch (Exception e) { } catch (Exception e) {
} }
if (ry.getZdrylxfs() != null) { if (ry.getZdrylxfs() != null) {
// personal.setMobileNumber(ry.getZdrylxfs().length() > 20 ? "" : ry.getZdrylxfs()); String[] str = ry.getZdrylxfs().split(",");
personal.setMobileNumber(ry.getZdrylxfs()); StringBuilder mobiles = new StringBuilder();
for (String m : str) {
String number = m.chars()
.filter(Character::isDigit)
.collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
.toString();
if (number.length() < 8 || number.equals("00000000")) {
continue;
}
mobiles.append(m).append(",");
}
personal.setMobileNumber(mobiles.length() == 0 ? "" : mobiles.substring(0, mobiles.length() - 1));
} }
personals.add(personal); personals.add(personal);
} }
map.put(ry.getSfzh(), tmp); map.put(ry.getSfzh(), tmp);
} }
log.info("重点人员入库数:{} 未匹配到本地组织机构数:{}",zdCount, noDepartCount); log.info("重点人员入库数:{} 未匹配到本地组织机构数:{}", zdCount, noDepartCount);
externalDepartRepository.saveBatch(externalDeparts); externalDepartRepository.saveBatch(externalDeparts);
return personals; return personals;
} }

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

@ -121,7 +121,7 @@ public class PoliceServiceImpl implements PoliceService {
} }
} }
if(insert) { if(insert) {
toInsert.add(createClue(task.getModelId(), 1, person, task.getId(), jjd, "通过对近12个月的警情筛查,发现该人员涉及:"+jjd.getJqxzmc()+"的警情,接警单编号为:"+jjd.getJjdbh()+",该警情属于矛盾纠纷,增加风险分1分(发生一起增加1分,最高10分)")); toInsert.add(createClue(task, 1, person, Dispute.contains(jjd.getJqxzmc()), jjd, "通过对近12个月的警情筛查,发现该人员涉及:"+jjd.getJqxzmc()+"的警情,接警单编号为:"+jjd.getJjdbh()+",该警情属于矛盾纠纷,增加风险分1分(发生一起增加1分,最高10分)"));
RiskPersonalControlRecord tmpRecord = createControlRecord(person, jjd, toInsert.getLast().getRiskReason()); RiskPersonalControlRecord tmpRecord = createControlRecord(person, jjd, toInsert.getLast().getRiskReason());
controlRecords.add(tmpRecord); controlRecords.add(tmpRecord);
if(person.getControlTime() == null || tmpRecord.getControlTime().isAfter(person.getControlTime())) { if(person.getControlTime() == null || tmpRecord.getControlTime().isAfter(person.getControlTime())) {
@ -133,7 +133,7 @@ public class PoliceServiceImpl implements PoliceService {
} }
if(!toInsert.isEmpty()) { if(!toInsert.isEmpty()) {
log.info("新增线索:{}",toInsert.size()); log.info("新增线索:{}",toInsert.size());
riskModelTaskClueService.saveClues(toInsert); riskModelTaskClueService.saveClues(toInsert, Default.TRUBO_IG);
} }
if(!controlRecords.isEmpty()) { if(!controlRecords.isEmpty()) {
log.info("新增管控记录:{}",controlRecords.size()); log.info("新增管控记录:{}",controlRecords.size());
@ -144,10 +144,10 @@ public class PoliceServiceImpl implements PoliceService {
riskPersonalRepository.updateBatchById(toUpdatePerson, 5000); riskPersonalRepository.updateBatchById(toUpdatePerson, 5000);
} }
if(!toInsertTags.isEmpty()) { // if(!toInsertTags.isEmpty()) {
log.info("操作新增标签数据:{}",toInsertTags.size()); // log.info("操作新增标签数据:{}",toInsertTags.size());
tagService.saveBatchTag(toInsertTags, Default.BIG_TAG_TRUBO); // tagService.saveBatchTag(toInsertTags, Default.BIG_TAG_TRUBO);
} // }
if(!updateClueList.isEmpty()) { if(!updateClueList.isEmpty()) {
taskClueRepository.updateBatchById(updateClueList, 10000); taskClueRepository.updateBatchById(updateClueList, 10000);
@ -174,14 +174,14 @@ public class PoliceServiceImpl implements PoliceService {
return personToUpdate; return personToUpdate;
} }
RiskModelTaskClue createClue(Integer modelId, Integer score, RiskPersonal person, Integer taskId,GBaseJJD jjd, String data) { RiskModelTaskClue createClue(RiskTask task, Integer score, RiskPersonal person, String tag,GBaseJJD jjd, String data) {
RiskModelTaskClue clue = new RiskModelTaskClue(); RiskModelTaskClue clue = new RiskModelTaskClue();
clue.setModelId(modelId); clue.setModelId(task.getModelId());
clue.setScore(score); clue.setScore(score);
clue.setName(person.getName()); clue.setName(person.getName());
clue.setIdCode(person.getIdCode()); clue.setIdCode(person.getIdCode());
clue.setTaskId(taskId); clue.setTaskId(task.getId());
clue.setRiskReason(jjd.getJqxzmc()); clue.setRiskReason(tag);
clue.setData(data); clue.setData(data);
clue.setEventTime(jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); clue.setEventTime(jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
clue.setCreateTime(LocalDateTime.now()); clue.setCreateTime(LocalDateTime.now());

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

@ -1,13 +1,17 @@
package com.biutag.supervisiondata.service.impl; package com.biutag.supervisiondata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervisiondata.common.exception.BusinessException; import com.biutag.supervisiondata.common.exception.BusinessException;
import com.biutag.supervisiondata.common.response.StatusCode; import com.biutag.supervisiondata.common.response.StatusCode;
import com.biutag.supervisiondata.mapper.mine.RiskModelTaskClueMapper; import com.biutag.supervisiondata.mapper.mine.RiskModelTaskClueMapper;
import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalControlRecord; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalControlRecord;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalTag; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalTag;
import com.biutag.supervisiondata.repository.RiskPersonalTagRepository;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskModelTaskClueService;
import com.biutag.supervisiondata.service.RiskPersonalTagService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
@ -17,9 +21,9 @@ import javax.sql.DataSource;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.*;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.IntStream; import java.util.stream.IntStream;
@ -36,28 +40,80 @@ public class RiskModelTaskClueServiceImpl implements RiskModelTaskClueService {
@Qualifier("chaosBean") @Qualifier("chaosBean")
private final DataSource dataSource; private final DataSource dataSource;
public Connection getConnection() throws SQLException { private final RiskPersonalTagRepository tagRepository;
Connection getConnection() throws SQLException {
return dataSource.getConnection(); return dataSource.getConnection();
} }
@Override @Override
public void saveClues(List<RiskModelTaskClue> list) { public void saveClues(List<RiskModelTaskClue> list, String bigTag) {
List<List<RiskModelTaskClue>> control = IntStream.range(0, (list.size() + 9999) / 10000) List<List<RiskModelTaskClue>> control = IntStream.range(0, (list.size() + 9999) / 10000)
.mapToObj(i -> list.subList(i * 10000, Math.min((i + 1) * 10000, list.size()))) .mapToObj(i -> list.subList(i * 10000, Math.min((i + 1) * 10000, list.size())))
.collect(Collectors.toList()); .collect(Collectors.toList());
for (List<RiskModelTaskClue> record : control) { for (List<RiskModelTaskClue> record : control) {
try { try {
batchInsert(record); batchInsert(record, bigTag);
} catch (Exception e) { } catch (Exception e) {
log.error("", e); log.error("", e);
} }
} }
Map<String, List<RiskModelTaskClue>> map = list.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode));
// 标签要插入的人员
List<String> idCodes = new ArrayList<>();
for (Map.Entry<String, List<RiskModelTaskClue>> entry : map.entrySet()) {
idCodes.add(entry.getKey());
}
List<RiskPersonalTag> oldTags = new ArrayList<>();
List<List<String>> idCode = IntStream.range(0, (idCodes.size() + 9999) / 10000)
.mapToObj(i -> idCodes.subList(i * 10000, Math.min((i + 1) * 10000, idCodes.size())))
.collect(Collectors.toList());
for (List<String> strList : idCode) {
oldTags.addAll(tagRepository.list(new LambdaQueryWrapper<RiskPersonalTag>()
.select(RiskPersonalTag::getSmallTag, RiskPersonalTag::getIdCode)
.eq(RiskPersonalTag::getBigTag, bigTag)
.in(RiskPersonalTag::getIdCode, strList)));
}
Map<String, List<RiskPersonalTag>> oldTagMap = oldTags.stream().collect(Collectors.groupingBy(RiskPersonalTag::getIdCode));
Map<String, Byte[]> oldMap;
List<RiskPersonalTag> tags = new ArrayList<>();
for (Map.Entry<String, List<RiskModelTaskClue>> entry : map.entrySet()) {
List<RiskPersonalTag> oldTagList = Optional.ofNullable(oldTagMap.get(entry.getKey())).orElse(new ArrayList<>());
// 旧的tag
oldMap = new WeakHashMap<>();
for (RiskPersonalTag tag : oldTagList) {
oldMap.put(tag.getSmallTag(), new Byte[0]);
}
for (RiskModelTaskClue clue : entry.getValue()) {
if (bigTag.equals(Default.BIG_TAG_SHWFR)) {
String[] strs = clue.getRiskReason().split(",");
for (int i = 0, len = strs.length; i < len; i++) {
if (oldMap.get(strs[i]) == null) {
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()) {
tagRepository.saveBatch(tags, 10000);
}
} }
final String sql = "INSERT INTO risk_model_task_clue(model_id, name, id_code, task_id, source_id, risk_reason, data, score, event_time, create_time, update_time, case_ids) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)"; final String sql = "INSERT INTO risk_model_task_clue(model_id, name, id_code, task_id, source_id, risk_reason, data, score, event_time, create_time, update_time, case_ids) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
public void batchInsert(List<RiskModelTaskClue> alliances) { public void batchInsert(List<RiskModelTaskClue> alliances, String bigTag) {
try (Connection connection = getConnection(); try (Connection connection = getConnection();
PreparedStatement prepareStatement = connection.prepareStatement(sql)) { PreparedStatement prepareStatement = connection.prepareStatement(sql)) {
connection.setAutoCommit(false); connection.setAutoCommit(false);
@ -68,7 +124,7 @@ public class RiskModelTaskClueServiceImpl implements RiskModelTaskClueService {
prepareStatement.setObject(3, Optional.ofNullable(it.getIdCode()).orElse("")); prepareStatement.setObject(3, Optional.ofNullable(it.getIdCode()).orElse(""));
prepareStatement.setObject(4, it.getTaskId()); prepareStatement.setObject(4, it.getTaskId());
prepareStatement.setObject(5, it.getSourceId()); prepareStatement.setObject(5, it.getSourceId());
prepareStatement.setObject(6, Optional.ofNullable(it.getRiskReason()).orElse("")); prepareStatement.setObject(6, bigTag);
prepareStatement.setObject(7, Optional.ofNullable(it.getData()).orElse("")); prepareStatement.setObject(7, Optional.ofNullable(it.getData()).orElse(""));
prepareStatement.setObject(8, Optional.ofNullable(it.getScore()).orElse(0)); prepareStatement.setObject(8, Optional.ofNullable(it.getScore()).orElse(0));
prepareStatement.setObject(9, Optional.ofNullable(it.getEventTime()).map(item -> item.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).orElse(null)); prepareStatement.setObject(9, Optional.ofNullable(it.getEventTime()).map(item -> item.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).orElse(null));
@ -87,4 +143,15 @@ public class RiskModelTaskClueServiceImpl implements RiskModelTaskClueService {
throw new BusinessException(StatusCode.BUSINESS, "数据保存失败"); throw new BusinessException(StatusCode.BUSINESS, "数据保存失败");
} }
} }
RiskPersonalTag creatTag(String bigTag, String tag, RiskModelTaskClue clue) {
RiskPersonalTag riskTag = new RiskPersonalTag();
riskTag.setBigTag(bigTag);
riskTag.setTagTime(LocalDateTime.now());
riskTag.setName(clue.getName());
riskTag.setIdCode(clue.getIdCode());
riskTag.setSmallTag(tag);
riskTag.setCreateTime(LocalDateTime.now());
return riskTag;
}
} }

47
src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java

@ -3,10 +3,14 @@ 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.exception.BusinessException; import com.biutag.supervisiondata.common.exception.BusinessException;
import com.biutag.supervisiondata.common.response.StatusCode; import com.biutag.supervisiondata.common.response.StatusCode;
import com.biutag.supervisiondata.mapper.mine.RiskModelTaskClueMapper;
import com.biutag.supervisiondata.pojo.constants.Default;
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.RiskPersonalControlRecord; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalControlRecord;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalTag; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalTag;
import com.biutag.supervisiondata.repository.RiskPersonalRepository; import com.biutag.supervisiondata.repository.RiskPersonalRepository;
import com.biutag.supervisiondata.repository.RiskPersonalTagRepository;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.service.RiskPersonalTagService; import com.biutag.supervisiondata.service.RiskPersonalTagService;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
@ -41,8 +45,7 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
private final RiskPersonalTagService tagService; private final RiskPersonalTagService tagService;
@Qualifier("chaosBean") private final RiskPersonalTagRepository tagRepository;
private final DataSource dataSource;
@Override @Override
@ -72,16 +75,16 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
for (Map.Entry<String, List<RiskPersonal>> entry : map.entrySet()) { for (Map.Entry<String, List<RiskPersonal>> entry : map.entrySet()) {
RiskPersonal tmp = entry.getValue().getFirst(); RiskPersonal tmp = entry.getValue().getFirst();
for (RiskPersonal riskPersonal : entry.getValue()) { // for (RiskPersonal riskPersonal : entry.getValue()) {
RiskPersonalTag tag = new RiskPersonalTag(); // RiskPersonalTag tag = new RiskPersonalTag();
tag.setBigTag(bigTag); // tag.setBigTag(bigTag);
tag.setTagTime(Optional.ofNullable(riskPersonal.getControlTime()).orElse(LocalDateTime.now())); // tag.setTagTime(Optional.ofNullable(riskPersonal.getControlTime()).orElse(LocalDateTime.now()));
tag.setName(riskPersonal.getName()); // tag.setName(riskPersonal.getName());
tag.setIdCode(riskPersonal.getIdCode()); // tag.setIdCode(riskPersonal.getIdCode());
tag.setSmallTag(riskPersonal.getTags()); // tag.setSmallTag(riskPersonal.getTags());
tag.setCreateTime(LocalDateTime.now()); // tag.setCreateTime(LocalDateTime.now());
tags.add(tag); // tags.add(tag);
} // }
// 看看这个人老数据里面有没有 // 看看这个人老数据里面有没有
RiskPersonal oldPersonal = oldMap.get(tmp.getIdCode()); RiskPersonal oldPersonal = oldMap.get(tmp.getIdCode());
if(oldPersonal == null) { if(oldPersonal == null) {
@ -189,4 +192,24 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
repository.removeById(i); repository.removeById(i);
} }
} }
private final RiskModelTaskClueMapper clueMapper;
@Override
public void fixed2() {
List<RiskModelTaskClue> clues = clueMapper.selectList(new LambdaQueryWrapper<RiskModelTaskClue>().eq(RiskModelTaskClue::getModelId, 32));
List<RiskPersonalTag> tags = new ArrayList<>();
for (RiskModelTaskClue clue : clues) {
RiskPersonalTag riskTag = new RiskPersonalTag();
riskTag.setBigTag(Default.BASIC);
riskTag.setTagTime(LocalDateTime.now());
riskTag.setName(clue.getName());
riskTag.setIdCode(clue.getIdCode());
riskTag.setSmallTag(clue.getRiskReason());
riskTag.setCreateTime(LocalDateTime.now());
tags.add(riskTag);
}
tagRepository.saveBatch(tags);
}
} }

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

@ -73,8 +73,8 @@ public class RiskTaskServiceImpl implements RiskTaskService {
@Override @Override
public void infoModelTask(TaskParamDomain domain) { public void infoModelTask(TaskParamDomain domain) {
RiskTask ageTask = createTask(domain.getPersons().size(), 33);
RiskTask genderTask = createTask(domain.getPersons().size(), 32); RiskTask genderTask = createTask(domain.getPersons().size(), 32);
RiskTask ageTask = createTask(domain.getPersons().size(), 33);
riskTaskRepository.save(ageTask); riskTaskRepository.save(ageTask);
riskTaskRepository.save(genderTask); riskTaskRepository.save(genderTask);
@ -108,14 +108,13 @@ public class RiskTaskServiceImpl implements RiskTaskService {
genderUpdate.setInsertSize(size); genderUpdate.setInsertSize(size);
genderUpdate.setState(1); genderUpdate.setState(1);
genderUpdate.setEndTime(LocalDateTime.now()); genderUpdate.setEndTime(LocalDateTime.now());
List<RiskModelTaskClue> clues = new ArrayList<>(); riskTaskRepository.updateById(ageUpdate);
clues.addAll(infos[0].getToInsert());
clues.addAll(infos[1].getToInsert()); riskModelTaskClueService.saveClues(infos[0].getToInsert(), Default.AGE_IG);
riskModelTaskClueService.saveClues(clues); riskModelTaskClueService.saveClues(infos[1].getToInsert(), Default.GENDER_IG);
if(!infos[0].getToHidden().isEmpty()) { if(!infos[0].getToHidden().isEmpty()) {
clueRepository.updateBatchById(infos[0].getToHidden()); clueRepository.updateBatchById(infos[0].getToHidden());
} }
riskTaskRepository.updateById(ageUpdate);
} }
@Override @Override
@ -189,7 +188,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
int size = 0; int size = 0;
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
size = toInsert.size(); size = toInsert.size();
riskModelTaskClueService.saveClues(toInsert); riskModelTaskClueService.saveClues(toInsert, Default.EDU_IG);
log.info("批量新增学历完成"); log.info("批量新增学历完成");
} }
eduUpdate.setInsertSize(size); eduUpdate.setInsertSize(size);
@ -371,7 +370,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
RiskTask caseUpdate = new RiskTask(); RiskTask caseUpdate = new RiskTask();
caseUpdate.setId(caseTask.getId()); caseUpdate.setId(caseTask.getId());
if (!toInsertClue.isEmpty()) { if (!toInsertClue.isEmpty()) {
riskModelTaskClueService.saveClues(toInsertClue); riskModelTaskClueService.saveClues(toInsertClue, Default.WFR_IG);
} }
if (!toUpdateClue.isEmpty()) { if (!toUpdateClue.isEmpty()) {
clueRepository.updateBatchById(toUpdateClue); clueRepository.updateBatchById(toUpdateClue);
@ -559,12 +558,12 @@ public class RiskTaskServiceImpl implements RiskTaskService {
.personId(person.getId()) .personId(person.getId())
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.sourceData("发现该人员在"+gBaseSYRKXX.getCsdxzqhmc()+"成长,该地区暴力警情情况较多,增加风险分2分") .sourceData("发现该人员在"+gBaseSYRKXX.getCsdxzqhmc()+"成长,该地区暴力警情情况较多,增加风险分2分")
.tag(Default.FIGHT_BORN) .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); riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_IG);
} }
RiskTask endTask = endTask(task.getId()); RiskTask endTask = endTask(task.getId());
endTask.setInsertSize(toInsert.size()); endTask.setInsertSize(toInsert.size());
@ -619,7 +618,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
manList.add(fightMan.getGmsfhm()); manList.add(fightMan.getGmsfhm());
continue; continue;
} }
RiskModelTaskClue clue = createClue(task.getModelId(),3, person,task.getId(), Default.FIGHT_MUCH, "该人员在近期发生"+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);
@ -659,7 +658,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
} }
if(!toInsert.isEmpty()) { if(!toInsert.isEmpty()) {
log.info("新增线索 | {}", toInsert.size()); log.info("新增线索 | {}", toInsert.size());
riskModelTaskClueService.saveClues(toInsert); riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_MUCH_IG);
} }
RiskTask endTask = endTask(task.getId()); RiskTask endTask = endTask(task.getId());
@ -692,7 +691,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
} }
// 符合条件但是又没有旧数据 | 新增 // 符合条件但是又没有旧数据 | 新增
if (age >= 16 && age <= 34) { if (age >= 16 && age <= 34) {
RiskModelTaskClue clue = createClue(33, 1, person, task.getId(), "年龄处于16岁至34岁之间", "该人员年龄为"+age+",属于16岁至34岁之间,增加风险分1分"); RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于16岁至34岁之间", "该人员年龄为"+age+",属于16岁至34岁之间,增加风险分1分");
taskClue.add(clue); taskClue.add(clue);
if (old != null) { if (old != null) {
RiskModelTaskClue hidden = new RiskModelTaskClue(); RiskModelTaskClue hidden = new RiskModelTaskClue();
@ -703,7 +702,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
continue; continue;
} }
if (age >= 35 && age <= 55) { if (age >= 35 && age <= 55) {
RiskModelTaskClue clue = createClue(33, 2, person, task.getId(), "年龄处于35岁至55岁之间", "该人员年龄为"+age+",属于35岁至55岁之间,增加风险分2分"); RiskModelTaskClue clue = createClue(task.getModelId(), 2, person, task.getId(), "年龄处于35岁至55岁之间", "该人员年龄为"+age+",属于35岁至55岁之间,增加风险分2分");
taskClue.add(clue); taskClue.add(clue);
if (old != null) { if (old != null) {
RiskModelTaskClue hidden = new RiskModelTaskClue(); RiskModelTaskClue hidden = new RiskModelTaskClue();
@ -750,7 +749,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
if (oldMap.get(person.getIdCode()) != null) { if (oldMap.get(person.getIdCode()) != null) {
continue; continue;
} }
RiskModelTaskClue clue = createClue(32, 1, person, task.getId(), "性别为男性", "该人员性别为男性,增加风险分1分"); RiskModelTaskClue clue = createClue(32, 1, person, task.getId(), "男性", "该人员性别为男性,增加风险分1分");
taskClue.add(clue); taskClue.add(clue);
} }
return ClueInfo.builder().toInsert(taskClue).build(); return ClueInfo.builder().toInsert(taskClue).build();

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

@ -2,10 +2,22 @@ package com.biutag.supervisiondata.task;
import com.biutag.supervisiondata.service.ModelClueService; import com.biutag.supervisiondata.service.ModelClueService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.repository.RiskModelTaskClueRepository;
import com.biutag.supervisiondata.repository.RiskPersonalRepository;
import com.biutag.supervisiondata.service.PointService;
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.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @author kami on 2024-07-25 10:52:39 * @author kami on 2024-07-25 10:52:39
@ -17,10 +29,31 @@ import org.springframework.stereotype.Component;
@AllArgsConstructor @AllArgsConstructor
public class TaskService { public class TaskService {
@Resource
private PointService pointService;
@Resource
private RiskPersonalRepository riskPersonalRepository;
private final ModelClueService modelClueService; private final ModelClueService modelClueService;
@Scheduled(cron = "0 0/10 * * * ?") @Resource
private RiskModelTaskClueRepository riskModelTaskClueRepository;
/**
* 1点半执行
*/
@Scheduled(cron = "0 30 01 * * ?")
public void ageModel() { public void ageModel() {
// pointService.syncPointCall(initDomain());
}
TaskParamDomain initDomain() {
List<RiskPersonal> persons = riskPersonalRepository.list();
List<RiskModelTaskClue> clues = riskModelTaskClueRepository.list(new LambdaQueryWrapper<RiskModelTaskClue>()
.eq(RiskModelTaskClue::getDel, 0));
Map<Integer, List<RiskModelTaskClue>> map = clues.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getModelId));
TaskParamDomain domain = new TaskParamDomain(persons, map);
return domain;
} }
@Scheduled(cron = "* * 3 * * *") @Scheduled(cron = "* * 3 * * *")

Loading…
Cancel
Save