diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index 8ea928d..2c066bf 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -101,58 +101,58 @@ public class ApplicationEvent { RedisDao.getInstance().init(redisTemplate); LocalDateTime end = LocalDate.now().minusDays(1).atTime(23,59,59); CompletableFutureUtil.runSync(() -> { - personalService.init(); - personalService.pullInvestigate(); - personalService.pullPsychosis(); - gBaseSHRWFRService.pullAndSave(LocalDateTime.of(2019,12,6,0,0,0), end); - petitionService.personPullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end); - personalService.pullPetitionAgain(LocalDateTime.of(2000, 12, 6, 0, 0, 0), end); - pointService.personPullAndSave(); - gBaseJJDService.pullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end); - riskPersonalService.fixed(); - personalService.syncPerson(LocalDate.now()); - - petitionService.petitionModelTask(initDomain(List.of(40))); +// personalService.init(); +// personalService.pullInvestigate(); +// personalService.pullPsychosis(); +// gBaseSHRWFRService.pullAndSave(LocalDateTime.of(2019,12,6,0,0,0), end); +// petitionService.personPullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end); +// personalService.pullPetitionAgain(LocalDateTime.of(2000, 12, 6, 0, 0, 0), end); +// pointService.personPullAndSave(); +// gBaseJJDService.pullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end); +// riskPersonalService.fixed(); +// personalService.syncPerson(LocalDate.now()); + +// petitionService.petitionModelTask(initDomain(List.of(40))); riskTaskService.eduAndAreaModelTask(initDomain(List.of(34,41))); riskTaskService.infoModelTask(initDomain(List.of(32,33))); marriageService.marriageModelTask(initDomain(List.of(39,51))); - pointService.syncSecurity(initDomain(List.of(37))); - habitService.habitModelTask(LocalDateTime.of(2023, 12, 6, 0, 0, 0), initDomain(List.of(36,60,61,62))); +// pointService.syncSecurity(initDomain(List.of(37))); +// habitService.habitModelTask(LocalDateTime.of(2023, 12, 6, 0, 0, 0), initDomain(List.of(36,60,61,62))); pointService.syncCarUser(initDomain(List.of(53))); pointService.syncScore(initDomain(List.of(43))); - pointService.syncViolence(initDomain(List.of(44))); - noControlService.syncNoControlData(initDomain(List.of(45))); - pointService.syncDrug(initDomain(List.of(37))); - pointService.syncControlNoPower(initDomain(List.of(48))); - pointService.syncOilBuy(initDomain(List.of(52))); - gBaseJJDService.pullPoliceInstance(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end, initDomain(List.of(55,56,57,58))); - jsbryService.syncPys(initDomain(List.of(59))); +// pointService.syncViolence(initDomain(List.of(44))); +// noControlService.syncNoControlData(initDomain(List.of(45))); +// pointService.syncDrug(initDomain(List.of(37))); +// pointService.syncControlNoPower(initDomain(List.of(48))); +// pointService.syncOilBuy(initDomain(List.of(52))); +// gBaseJJDService.pullPoliceInstance(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end, initDomain(List.of(55,56,57,58))); +// jsbryService.syncPys(initDomain(List.of(59))); gBaseSHRWFRService.combatCrime(initDomain(List.of(63))); - gBaseJJDService.syncPoliceAttack(initDomain(List.of(64))); - gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66))); - pointService.syncPointType(initDomain(List.of(67))); - gBaseSHRWFRService.hadWork(initDomain(List.of(68))); - gBaseJJDService.syncParentRelation(initDomain(List.of(69,70))); - gBaseJJDService.syncLove(initDomain(List.of(71))); - gBaseJJDService.syncMarryDispute(initDomain(List.of(72))); - gBaseJJDService.syncNeighborAndColleagueDispute(initDomain(List.of(73))); - gBaseJJDService.syncBullying(initDomain(List.of(74))); - gBaseSHRWFRService.crimeName(initDomain(List.of(76))); - pointService.syncIsPetition(initDomain(List.of(40))); - pointService.syncFatherEducation(initDomain(List.of(112))); - pointService.syncMotherEducation(initDomain(List.of(113))); - pointService.syncDomicileType(initDomain(List.of(114))); - pointService.syncCriminalPunishment(initDomain(List.of(115))); - pointService.syncAdministrativePunishment(initDomain(List.of(116))); - pointService.syncParentsDivorce(initDomain(List.of(117))); - pointService.syncFamilyDie(initDomain(List.of(118))); - pointService.syncFatherDie(initDomain(List.of(119))); +// gBaseJJDService.syncPoliceAttack(initDomain(List.of(64))); +// gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66))); +// pointService.syncPointType(initDomain(List.of(67))); +// gBaseSHRWFRService.hadWork(initDomain(List.of(68))); +// gBaseJJDService.syncParentRelation(initDomain(List.of(69,70))); +// gBaseJJDService.syncLove(initDomain(List.of(71))); +// gBaseJJDService.syncMarryDispute(initDomain(List.of(72))); +// gBaseJJDService.syncNeighborAndColleagueDispute(initDomain(List.of(73))); +// gBaseJJDService.syncBullying(initDomain(List.of(74))); +// gBaseSHRWFRService.crimeName(initDomain(List.of(76))); +// pointService.syncIsPetition(initDomain(List.of(40))); +// pointService.syncFatherEducation(initDomain(List.of(112))); +// pointService.syncMotherEducation(initDomain(List.of(113))); +// pointService.syncDomicileType(initDomain(List.of(114))); +// pointService.syncCriminalPunishment(initDomain(List.of(115))); +// pointService.syncAdministrativePunishment(initDomain(List.of(116))); +// pointService.syncParentsDivorce(initDomain(List.of(117))); +// pointService.syncFamilyDie(initDomain(List.of(118))); +// pointService.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))); // 必须在123后面 - gBaseJJDService.syncOtherContradict(initDomain(List.of(75))); +// gBaseJJDService.syncOtherContradict(initDomain(List.of(75))); pointService.syncPetitionContent(initDomain(List.of(124))); pointService.syncMedicalPressure(initDomain(List.of(125))); diff --git a/src/main/java/com/biutag/supervisiondata/rest/ApiController.java b/src/main/java/com/biutag/supervisiondata/rest/ApiController.java index 74ac4f0..575995c 100644 --- a/src/main/java/com/biutag/supervisiondata/rest/ApiController.java +++ b/src/main/java/com/biutag/supervisiondata/rest/ApiController.java @@ -71,6 +71,12 @@ public class ApiController { return RS.success(); } + @GetMapping("/local/image") + public RS localImage() { + CompletableFutureUtil.runSync(() -> personalService.syncLocalImage()); + return RS.success(); + } + @GetMapping("/get/jjd") public String getJJD() { String data = (String) RedisDao.getInstance().leftPop("jjd"); diff --git a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java index 4b72880..77de039 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java @@ -61,4 +61,9 @@ public interface PersonalService { * 同步人员证照 */ void syncPersonImage(); + + /** + * 同步本地人员证照 + */ + void syncLocalImage(); } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java index 6c2517e..c33cfab 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java @@ -20,6 +20,7 @@ import com.biutag.supervisiondata.service.GBaseSHRWFRService; import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.util.BhUtil; +import com.biutag.supervisiondata.util.DataUtil; import com.biutag.supervisiondata.util.IdCodeUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -174,7 +175,6 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { if(aj.indexOf(xx.getAjbh()+",") == -1) { aj.append(xx.getAjbh()).append(","); } - try { LocalDateTime tmp = xx.getLrsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); if(eventTime == null) { @@ -195,16 +195,17 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService { if(aj.length() > 0) { tmp.append("具体案件编号:").append(aj.substring(0, aj.length()-1)); } - ClueData data = ClueData.builder() - .name(person.getName()) - .id("isPoint") - .idCode(person.getIdCode()) - .tag("已被打击处理") + toInsert.add(DataUtil.createClueData(task, ClueData.builder() + // 案件编号、接警单编号之类 + .id("") + .score(5) .personId(person.getId()) + .tags(List.of("已被打击处理")) .sourceData(tmp.toString()) - .eventTime(Optional.ofNullable(eventTime).orElse(LocalDateTime.now())) - .build(); - toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(eventTime) + .build())); } if (!toInsert.isEmpty()) { clueService.saveClues(toInsert, "B24被打击处理"); diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java index b74f828..e603501 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java @@ -1,6 +1,5 @@ package com.biutag.supervisiondata.service.impl; -import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.utils.StreamUtil; @@ -8,23 +7,18 @@ 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.entity.dwd.GBaseAJJBXX; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; -import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalControlRecord; import com.biutag.supervisiondata.pojo.entity.mine.RiskTask; import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.HabitService; import com.biutag.supervisiondata.service.RiskModelTaskClueService; -import com.biutag.supervisiondata.service.RiskPersonalControlRecordService; -import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.util.BhUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -187,7 +181,7 @@ public class HabitServiceImpl implements HabitService { List clues; // 创建新数据 List toInsert = new ArrayList<>(); - log.info("开始遍历人员", wfrMap.size()); + log.info("开始遍历人员:{}", wfrMap.size()); for (RiskPersonal person : domain.getPersons()) { List wfTmp = Optional.ofNullable(wfrMap.get(person.getIdCode())).orElse(new ArrayList<>()); wfTmp = wfTmp.stream().filter(StreamUtil.distinctByKey(GBaseWFRXX::getAjbh)).toList(); @@ -217,7 +211,7 @@ public class HabitServiceImpl implements HabitService { if(eventTime.isBefore(tmp)) { eventTime = tmp; } - } catch (Exception e) { + } catch (Exception ignored) { } } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java index 88641cd..d11603f 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/MarriageServiceImpl.java @@ -1,13 +1,7 @@ package com.biutag.supervisiondata.service.impl; -import com.alibaba.fastjson2.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.pojo.ClueData; -import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX; -import com.biutag.supervisiondata.pojo.entity.dwd.GBaseHY; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskTask; @@ -15,17 +9,15 @@ import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdHyqkb; import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.MarriageService; import com.biutag.supervisiondata.service.RiskModelTaskClueService; -import com.biutag.supervisiondata.util.BhUtil; +import com.biutag.supervisiondata.util.DataUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; @@ -41,12 +33,8 @@ public class MarriageServiceImpl implements MarriageService { private final RiskTaskRepository riskTaskRepository; - private final RiskModelTaskClueRepository clueRepository; - private final RiskModelTaskClueService riskModelTaskClueService; - private final GBaseHYRepository hyRepository; - private final WdpcGrjdHyqkbRepository hyqkbRepository; @Override @@ -76,36 +64,38 @@ public class MarriageServiceImpl implements MarriageService { continue; } ClueData clueData = ClueData.builder() + .id("") + .score(5) .personId(person.getId()) - .tag("离婚") - .id(person.getIdCode()) - .idCode(person.getIdCode()) - .name(person.getName()) + .tags(List.of("离婚")) .sourceData("根据该人员最新的婚姻登记信息,发现该人员登记为离婚") + .name(person.getName()) + .idCode(person.getIdCode()) .build(); try { clueData.setEventTime(LocalDate.parse(result.getRegisterTime(), DateTimeFormatter.ofPattern("yyyyMMdd")).atTime(0,0,0)); } catch (Exception e) { clueData.setEventTime(LocalDateTime.now()); } - toInsert1.add(createClue(task.getModelId(), 5, task.getId(), clueData)); + toInsert1.add(DataUtil.createClueData(task, clueData)); if(clueData.getEventTime().isBefore(yearsDate) || old2.get(person.getIdCode()) != null) { continue; } ClueData clueData2 = ClueData.builder() + .id("") + .score(5) .personId(person.getId()) - .tag("个人婚姻创伤") - .id(person.getIdCode()) - .idCode(person.getIdCode()) - .name(person.getName()) + .tags(List.of("个人婚姻创伤")) .sourceData("该人员最近一年有离婚登记信息") + .name(person.getName()) + .idCode(person.getIdCode()) .build(); try { clueData2.setEventTime(LocalDate.parse(result.getRegisterTime(), DateTimeFormatter.ofPattern("yyyyMMdd")).atTime(0,0,0)); } catch (Exception e) { - clueData.setEventTime(LocalDateTime.now()); + clueData2.setEventTime(LocalDateTime.now()); } - toInsert2.add(createClue(task2.getModelId(), 5, task2.getId(), clueData2)); + toInsert2.add(DataUtil.createClueData(task2, clueData2)); } List toUpdate = new ArrayList<>(); @@ -136,21 +126,4 @@ public class MarriageServiceImpl implements MarriageService { } riskTaskRepository.updateTask(task.getId(), toInsert1.size(), toUpdate.size()); } - - RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { - RiskModelTaskClue clue = new RiskModelTaskClue(); - clue.setModelId(modelId); - clue.setScore(score); - clue.setName(data.getName()); - clue.setIdCode(data.getIdCode()); - clue.setTaskId(taskId); - clue.setData(data.getSourceData()); - clue.setEventTime(data.getEventTime()); - clue.setCreateTime(LocalDateTime.now()); - clue.setUpdateTime(LocalDateTime.now()); - clue.setCaseIds(BhUtil.ajBh(data.getId())); - data.setPersonId(null); - clue.setRiskReason(data.getTag()); - return clue; - } } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java index d6a20be..12aa329 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java @@ -21,6 +21,7 @@ import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.PersonalService; import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.util.IdCodeUtil; +import com.biutag.supervisiondata.util.ImageUtil; import com.biutag.supervisiondata.util.OrgUtil; import com.biutag.supervisiondata.util.PatternUtil; import lombok.AllArgsConstructor; @@ -543,6 +544,20 @@ public class PersonalServiceImpl implements PersonalService { } } + @Override + public void syncLocalImage() { + String base64 = ImageUtil.file2Base64("/work/he.jpg"); + String base642 = ImageUtil.file2Base64("/work/xiong.jpg"); + + RiskPersonInfo info = new RiskPersonInfo(); + info.setIdCode("430122198706190310"); + info.setImageBase64(Media.JPEG.concat(base64)); + RiskPersonInfo info2 = new RiskPersonInfo(); + info2.setIdCode("43062419900904876X"); + info2.setImageBase64(Media.JPEG.concat(base642)); + infoRepository.saveOrUpdateBatch(List.of(info, info2)); + } + /** * 通过身份证号查询实有人口 * diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java index 237538e..42d6bcf 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java @@ -14,6 +14,7 @@ import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.PetitionService; import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskPersonalService; +import com.biutag.supervisiondata.util.DataUtil; import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.BhUtil; import lombok.AllArgsConstructor; @@ -326,7 +327,7 @@ public class PetitionServiceImpl implements PetitionService { log.info("信访数据3: {}", toInsert3.size()); riskModelTaskClueService.saveClues(toInsert3, Default.PETITION_12337_TAG); } - riskTaskRepository.updateTask(task.getId(), toInsert1.size()+toInsert2.size()+toInsert3.size(), 0); + riskTaskRepository.updateTask(task.getId(), toInsert1.size() + toInsert2.size() + toInsert3.size(), 0); } List createClues(List dataList, Map oldMap, Map idCodeMan, RiskTask task, String tag) { @@ -339,16 +340,15 @@ public class PetitionServiceImpl implements PetitionService { if (person == null) { continue; } - toInsert.add(createClue(task.getModelId(), 5, task.getId(), ClueData.builder() - .id(data.getId()) - .tag(tag) + toInsert.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(5) .personId(person.getId()) - .departId(data.getDepartId()) - .departName(data.getDepartName()) - .eventTime(data.getEventTime()) - .idCode(person.getIdCode()) + .tags(List.of(tag)) + .sourceData("该人员在近12个月内有" + tag + "的情况,具体情况为:" + data.getContent()) .name(person.getName()) - .sourceData("该人员在近12个月内有"+tag+"的情况,具体情况为:" + data.getContent()) + .idCode(person.getIdCode()) + .eventTime(null) .build())); } return toInsert; @@ -365,23 +365,6 @@ public class PetitionServiceImpl implements PetitionService { return info; } - RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { - RiskModelTaskClue clue = new RiskModelTaskClue(); - clue.setModelId(modelId); - clue.setScore(score); - clue.setName(data.getName()); - clue.setIdCode(data.getIdCode()); - clue.setTaskId(taskId); - clue.setData(data.getSourceData()); - clue.setEventTime(data.getEventTime()); - clue.setCreateTime(LocalDateTime.now()); - clue.setUpdateTime(LocalDateTime.now()); - clue.setCaseIds(BhUtil.petBh(data.getId())); - data.setPersonId(null); - clue.setRiskReason(data.getTag()); - return clue; - } - RiskPersonal checkPerson(RiskPersonal personal) { if (personal.getName() == null || personal.getIdCode() == null || personal.getName().isEmpty() || personal.getIdCode().isEmpty()) { return null; diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java index cc8c692..d481f2d 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java @@ -124,15 +124,7 @@ public class PointServiceImpl implements PointService { if (sb.isEmpty()) { continue; } -// toInsert.add(createClue(task.getModelId(), 5, task.getId(), ClueData.builder() -// .tag("重点人员") -// .name(personals.getFirst().getName()) -// .idCode(personals.getFirst().getIdCode()) -// .eventTime(Optional.ofNullable(personals.getFirst().getControlTime()).orElse(LocalDateTime.now())) -// .sourceData("发现该人员为重点人员,存在" + personals.size() + "个标签") -// .build())); toInsert.add(DataUtil.createClueData(task, ClueData.builder() - // 案件编号、接警单编号之类 .id("") .score(5) .personId(personals.getFirst().getId()) @@ -144,7 +136,7 @@ public class PointServiceImpl implements PointService { .build())); } if (!toInsert.isEmpty()) { - modelTaskClueService.saveClues(toInsert, "是否是重点人员"); + modelTaskClueService.saveClues(toInsert, "B11是否是重点人员"); } taskRepository.updateTask(task.getId(), toInsert.size(), 0); } @@ -231,7 +223,7 @@ public class PointServiceImpl implements PointService { } if (!toInsert.isEmpty()) { log.info("保存重点人员标签 {}", toInsert.size()); - modelTaskClueService.saveClues(toInsert, "列管原因"); + modelTaskClueService.saveClues(toInsert, "B12列管原因"); } taskRepository.updateTask(task.getId(), toInsert.size(), 0); } @@ -1958,7 +1950,6 @@ public class PointServiceImpl implements PointService { break; } } - ClueData data = ClueData.builder() .name(person.getName()) .id("security") @@ -2002,8 +1993,7 @@ public class PointServiceImpl implements PointService { public void syncCarUser(TaskParamDomain domain) { List carUsers = zdryRepository.getBaseMapper().syncCarUser2(); log.info("车主数量:{}", carUsers.size()); - RiskTask task = createTask(carUsers.size(), 53); - taskRepository.save(task); + RiskTask task = taskRepository.create(carUsers.size(), 53); Map clueMap = domain.getOldMap(task.getModelId(), false); Map exist = new WeakHashMap<>(); @@ -2017,18 +2007,16 @@ public class PointServiceImpl implements PointService { for (RiskPersonal person : domain.getPersons()) { // 增加 if (exist.get(person.getIdCode()) != null && clueMap.get(person.getIdCode()) == null) { - ClueData data = ClueData.builder() - .name(person.getName()) - .id("car_man") - .tag(Default.CAR_TAG) - .idCode(person.getIdCode()) - .departId(person.getControlDepartId()) - .departName(person.getControlDepartName()) + toInsert.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(5) .personId(person.getId()) - .eventTime(LocalDateTime.now()) + .tags(List.of(Default.CAR_TAG)) .sourceData("发现该人员有车。") - .build(); - toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } // 减少 if (exist.get(person.getIdCode()) == null && clueMap.get(person.getIdCode()) != null) { @@ -2045,17 +2033,10 @@ public class PointServiceImpl implements PointService { log.info("增加有车人员:{}", toInsert.size()); modelTaskClueService.saveClues(toInsert, Default.CAR_IG); } - if (!toDelete.isEmpty()) { modelTaskClueService.deleteCluesAndDeleteTag(toDelete, idCodes, Default.CAR_TAG); } - RiskTask updateTask = new RiskTask(); - updateTask.setId(task.getId()); - updateTask.setInsertSize(toInsert.size()); - updateTask.setUpdateSize(toDelete.size()); - updateTask.setState(1); - updateTask.setEndTime(LocalDateTime.now()); - taskRepository.updateById(updateTask); + taskRepository.updateTask(task.getId(), toInsert.size(), toDelete.size()); } RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java index 320eb62..a218987 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java @@ -10,22 +10,15 @@ import com.biutag.supervisiondata.pojo.database.PointOrg; import com.biutag.supervisiondata.pojo.domain.FightMan; 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.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.mine.*; -import com.biutag.supervisiondata.pojo.enums.Charge; import com.biutag.supervisiondata.pojo.enums.DepartType; import com.biutag.supervisiondata.pojo.enums.Edu; import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.RiskModelTaskClueService; -import com.biutag.supervisiondata.service.RiskPersonalControlRecordService; import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskTaskService; -import com.biutag.supervisiondata.util.IdCodeUtil; -import com.biutag.supervisiondata.util.BhUtil; -import com.biutag.supervisiondata.util.PatternUtil; -import com.biutag.supervisiondata.util.TxtUtil; +import com.biutag.supervisiondata.util.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -38,7 +31,6 @@ import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; -import java.util.stream.IntStream; /** * @author kami on 2024-11-11 14:14:39 @@ -186,39 +178,42 @@ public class RiskTaskServiceImpl implements RiskTaskService { if (edu != null) { Integer score = Edu.contains(edu); //创建新的 - toInsert1.add(createClue(eduTask.getModelId(), score, eduTask.getId(), ClueData.builder() + toInsert1.add(DataUtil.createClueData(eduTask, ClueData.builder() + .id("") + .score(score) + .personId(person.getId()) + .tags(List.of(edu)) + .sourceData("该人员的学历为" + xx.getXlmc() + ",属于" + edu) .name(person.getName()) .idCode(person.getIdCode()) - .tag(edu) - .sourceData("该人员的学历为" + xx.getXlmc() + ",属于" + edu) - .eventTime(LocalDateTime.now()) - .personId(person.getId()) - .build(), "edu" + person.getId().toString())); + .eventTime(null) + .build())); } } 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() + toInsert2.add(DataUtil.createClueData(eduTask, ClueData.builder() .id(BhUtil.sfBh(person.getId().toString())) - .name(person.getName()) - .idCode(person.getIdCode()) + .score(5) .personId(person.getId()) - .eventTime(LocalDateTime.now()) + .tags(List.of(xx.getCsdxzqhmc())) .sourceData("发现该人员在" + xx.getCsdxzqhmc() + "成长,该地区暴力警情情况较多") - .tag(xx.getCsdxzqhmc()) - .build(), "area___" + person.getId().toString())); + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } } if(!toInsert1.isEmpty()) { log.info("保存学历:{}", toInsert1.size()); - riskModelTaskClueService.saveClues(toInsert1, Default.EDU_IG); + riskModelTaskClueService.saveClues(toInsert1, "B4文化程度"); } riskTaskRepository.updateTask(eduTask.getId(), toInsert1.size(), 0); if(!toInsert2.isEmpty()) { log.info("保存风险区域:{}", toInsert2.size()); - riskModelTaskClueService.saveClues(toInsert2, Default.FIGHT_IG); + riskModelTaskClueService.saveClues(toInsert2, "B10民风习俗"); } riskTaskRepository.updateTask(areaTask.getId(), toInsert2.size(), 0); } @@ -503,7 +498,6 @@ public class RiskTaskServiceImpl implements RiskTaskService { * * @param domain 参数 * @param task 任务 - * @return 筛选出来的用户 */ void ageModel(TaskParamDomain domain, RiskTask task) { List taskClue = new ArrayList<>(); @@ -527,31 +521,67 @@ public class RiskTaskServiceImpl implements RiskTaskService { } // 符合条件但是又没有旧数据 | 新增 if (age >= 16 && age <= 24) { - RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于16岁至24岁之间", "该人员年龄为" + age + ",属于16岁至24岁之间"); - taskClue.add(clue); - continue; + taskClue.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(1) + .personId(person.getId()) + .tags(List.of("年龄处于16岁至24岁之间")) + .sourceData("该人员年龄为" + age + ",属于16岁至24岁之间") + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } if (age >= 25 && age <= 34) { - RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于25岁至34岁之间", "该人员年龄为" + age + ",属于25岁至34岁之间"); - taskClue.add(clue); - continue; + taskClue.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(3) + .personId(person.getId()) + .tags(List.of("年龄处于25岁至34岁之间")) + .sourceData("该人员年龄为" + age + ",属于25岁至34岁之间") + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } if (age >= 35 && age <= 55) { - RiskModelTaskClue clue = createClue(task.getModelId(), 5, person, task.getId(), "年龄处于35岁至55岁之间", "该人员年龄为" + age + ",属于35岁至55岁之间"); - taskClue.add(clue); - continue; + taskClue.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(5) + .personId(person.getId()) + .tags(List.of("年龄处于35岁至55岁之间")) + .sourceData("该人员年龄为" + age + ",属于35岁至55岁之间") + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } if (age >= 56 && age <= 65) { - RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), "年龄处于56岁至66岁之间", "该人员年龄为" + age + ",属于56岁至66岁之间"); - taskClue.add(clue); - continue; + taskClue.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(3) + .personId(person.getId()) + .tags(List.of("年龄处于56岁至66岁之间")) + .sourceData("该人员年龄为" + age + ",属于56岁至66岁之间") + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } if (age >= 66 && age <= 75) { - RiskModelTaskClue clue = createClue(task.getModelId(), 1, person, task.getId(), "年龄处于66岁至75岁之间", "该人员年龄为" + age + ",属于66岁至75岁之间"); - taskClue.add(clue); + taskClue.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(1) + .personId(person.getId()) + .tags(List.of("年龄处于66岁至75岁之间")) + .sourceData("该人员年龄为" + age + ",属于66岁至75岁之间") + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } } - riskModelTaskClueService.saveClues(taskClue, Default.AGE_IG); + riskModelTaskClueService.saveClues(taskClue, "B2年龄"); if (!toHidden.isEmpty()) { clueRepository.updateBatchById(toHidden); } @@ -563,7 +593,6 @@ public class RiskTaskServiceImpl implements RiskTaskService { * * @param domain 参数 * @param task 任务 - * @return 筛选出来的用户 */ void genderModel(TaskParamDomain domain, RiskTask task) { List taskClue = new ArrayList<>(); @@ -576,10 +605,18 @@ public class RiskTaskServiceImpl implements RiskTaskService { if (oldMap.get(person.getIdCode()) != null) { continue; } - RiskModelTaskClue clue = createClue(32, 5, person, task.getId(), "男性", "该人员性别为男性"); - taskClue.add(clue); + taskClue.add(DataUtil.createClueData(task, ClueData.builder() + .id("") + .score(5) + .personId(person.getId()) + .tags(List.of("男性")) + .sourceData("该人员性别为男性") + .name(person.getName()) + .idCode(person.getIdCode()) + .eventTime(null) + .build())); } - riskModelTaskClueService.saveClues(taskClue, Default.GENDER_IG); + riskModelTaskClueService.saveClues(taskClue, "B1性别"); riskTaskRepository.updateTask(task.getId(), taskClue.size(), 0); } diff --git a/src/main/java/com/biutag/supervisiondata/util/ImageUtil.java b/src/main/java/com/biutag/supervisiondata/util/ImageUtil.java new file mode 100644 index 0000000..be0216c --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/util/ImageUtil.java @@ -0,0 +1,34 @@ +package com.biutag.supervisiondata.util; + +import lombok.experimental.UtilityClass; +import lombok.extern.slf4j.Slf4j; + +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.util.Base64; + +/** + * @author kami on 2024-12-13 18:33:39 + * @version 0.0.1 + * @since 1.8 + */ +@Slf4j +@UtilityClass +public class ImageUtil { + + public static String file2Base64(String path) { + try (FileInputStream fis = new FileInputStream(path); + ByteArrayOutputStream bos = new ByteArrayOutputStream()) { + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = fis.read(buffer)) != -1) { + bos.write(buffer, 0, bytesRead); + } + byte[] imageBytes = bos.toByteArray(); + return Base64.getEncoder().encodeToString(imageBytes); + } catch (Exception e) { + log.error("", e); + } + return null; + } +}