kami 1 year ago
parent
commit
bea5a91852
  1. 5
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 17
      src/main/java/com/biutag/supervisiondata/rest/ApiController.java
  3. 2
      src/main/java/com/biutag/supervisiondata/service/impl/AiServiceImpl.java
  4. 6
      src/main/java/com/biutag/supervisiondata/service/impl/DictServiceImpl.java
  5. 47
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseBAServiceImpl.java
  6. 30
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java
  7. 11
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java
  8. 1
      src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java
  9. 7
      src/main/java/com/biutag/supervisiondata/service/impl/NoControlServiceImpl.java
  10. 2
      src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java
  11. 36
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java
  12. 57
      src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java
  13. 13
      src/main/java/com/biutag/supervisiondata/service/impl/RiskModelTaskClueServiceImpl.java
  14. 4
      src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalControlRecordImpl.java
  15. 45
      src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java
  16. 8
      src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java

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

@ -111,8 +111,9 @@ public class ApplicationEvent {
// gBaseJJDService.pullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end); // gBaseJJDService.pullAndSave(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end);
// riskPersonalService.fixed(); // riskPersonalService.fixed();
// personalService.syncPerson(LocalDate.now()); // personalService.syncPerson(LocalDate.now());
// petitionService.petitionModelTask(initDomain(List.of(40))); // petitionService.petitionModelTask(initDomain(List.of(40)));
// riskTaskService.eduAndAreaModelTask(initDomain(List.of(34,41))); riskTaskService.eduAndAreaModelTask(initDomain(List.of(34,41)));
// riskTaskService.infoModelTask(initDomain(List.of(32,33))); // riskTaskService.infoModelTask(initDomain(List.of(32,33)));
// marriageService.marriageModelTask(initDomain(List.of(39,51))); // marriageService.marriageModelTask(initDomain(List.of(39,51)));
// //
@ -128,7 +129,7 @@ public class ApplicationEvent {
// jsbryService.syncPys(initDomain(List.of(59))); // jsbryService.syncPys(initDomain(List.of(59)));
// gBaseSHRWFRService.combatCrime(initDomain(List.of(63))); // gBaseSHRWFRService.combatCrime(initDomain(List.of(63)));
// gBaseJJDService.warningInstance(initDomain(List.of(64))); // gBaseJJDService.warningInstance(initDomain(List.of(64)));
// gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66))); gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66)));
// pointService.syncPointType(initDomain(List.of(67))); // pointService.syncPointType(initDomain(List.of(67)));
// gBaseSHRWFRService.hadWork(initDomain(List.of(68))); // gBaseSHRWFRService.hadWork(initDomain(List.of(68)));
// gBaseJJDService.syncParentRelation(initDomain(List.of(69,70))); // gBaseJJDService.syncParentRelation(initDomain(List.of(69,70)));

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

@ -3,17 +3,14 @@ package com.biutag.supervisiondata.rest;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.common.response.RS; import com.biutag.supervisiondata.common.response.RS;
import com.biutag.supervisiondata.config.cache.RedisDao; import com.biutag.supervisiondata.config.cache.RedisDao;
import com.biutag.supervisiondata.lock.LocalLock; import com.biutag.supervisiondata.lock.LocalLock;
import com.biutag.supervisiondata.pojo.constants.Prompt; import com.biutag.supervisiondata.pojo.constants.Prompt;
import com.biutag.supervisiondata.pojo.constants.RedisKey; import com.biutag.supervisiondata.pojo.constants.RedisKey;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDAi; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDAi;
import com.biutag.supervisiondata.repository.GBaseSYRKXXRepository;
import com.biutag.supervisiondata.repository.WdpcJJDAiRepository; import com.biutag.supervisiondata.repository.WdpcJJDAiRepository;
import com.biutag.supervisiondata.service.ModelClueService; import com.biutag.supervisiondata.service.ModelClueService;
import com.biutag.supervisiondata.service.PersonalService; import com.biutag.supervisiondata.service.PersonalService;
@ -67,13 +64,13 @@ public class ApiController {
@GetMapping("/image") @GetMapping("/image")
public RS<String> image() { public RS<String> image() {
CompletableFutureUtil.runSync(() -> personalService.syncPersonImage()); CompletableFutureUtil.runSync(personalService::syncPersonImage);
return RS.success(); return RS.success();
} }
@GetMapping("/local/image") @GetMapping("/local/image")
public RS<String> localImage() { public RS<String> localImage() {
CompletableFutureUtil.runSync(() -> personalService.syncLocalImage()); CompletableFutureUtil.runSync(personalService::syncLocalImage);
return RS.success(); return RS.success();
} }
@ -100,8 +97,6 @@ public class ApiController {
obj.getString("cjqk"))).toJSONString(); obj.getString("cjqk"))).toJSONString();
} }
private final GBaseSYRKXXRepository repository;
private final WdpcJJDAiRepository aiRepository; private final WdpcJJDAiRepository aiRepository;
@CrossOrigin @CrossOrigin
@ -129,8 +124,6 @@ public class ApiController {
log.info("{}", array); log.info("{}", array);
List<WdpcJJDAi> aiList = new ArrayList<>(); List<WdpcJJDAi> aiList = new ArrayList<>();
Map<String, Integer> group = new WeakHashMap<>(); Map<String, Integer> group = new WeakHashMap<>();
List<String> idCodes = new ArrayList<>();
List<String> mobiles = new ArrayList<>();
for (int i = 0; i < array.size(); i++) { for (int i = 0; i < array.size(); i++) {
WdpcJJDAi ai = new WdpcJJDAi(); WdpcJJDAi ai = new WdpcJJDAi();
JSONObject obj = array.getJSONObject(i); JSONObject obj = array.getJSONObject(i);
@ -146,12 +139,6 @@ public class ApiController {
ai.setIdCodes(Optional.ofNullable(idCodesCache).orElse("")); ai.setIdCodes(Optional.ofNullable(idCodesCache).orElse(""));
ai.setMobiles(Optional.ofNullable(mobilesCache).orElse("")); ai.setMobiles(Optional.ofNullable(mobilesCache).orElse(""));
if(!ai.getIdCode().isEmpty() && !ai.getIdCode().equals("暂无")) {
idCodes.add(ai.getIdCode());
}
if(!ai.getMobile().isEmpty() && !ai.getMobile().equals("暂无")) {
mobiles.add(ai.getMobile());
}
aiList.add(ai); aiList.add(ai);
} }
if(!aiList.isEmpty()) { if(!aiList.isEmpty()) {

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

@ -52,7 +52,7 @@ public class AiServiceImpl implements AiService {
wdpcJJDS.add(jjd); wdpcJJDS.add(jjd);
try { try {
jjd.setBjsj(gBaseJJD.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); jjd.setBjsj(gBaseJJD.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
} catch (Exception e) {} } catch (Exception ignored) {}
connection.rPush(key.serialize(RedisKey.JJD_CACHE), value.serialize(JSON.toJSONString(jjd))); connection.rPush(key.serialize(RedisKey.JJD_CACHE), value.serialize(JSON.toJSONString(jjd)));
})); }));
wdpcJJDRepository.saveBatch(wdpcJJDS, 10000); wdpcJJDRepository.saveBatch(wdpcJJDS, 10000);

6
src/main/java/com/biutag/supervisiondata/service/impl/DictServiceImpl.java

@ -2,15 +2,12 @@ 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.pojo.entity.dwd.GBaseZDXL; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseZDXL;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.repository.GBaseZDXLRepository; import com.biutag.supervisiondata.repository.GBaseZDXLRepository;
import com.biutag.supervisiondata.service.DictService; import com.biutag.supervisiondata.service.DictService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
@ -32,7 +29,6 @@ public class DictServiceImpl implements DictService {
public Map<String, GBaseZDXL> syncPointType() { public Map<String, GBaseZDXL> syncPointType() {
List<GBaseZDXL> xlList = zdxlRepository.list(new LambdaQueryWrapper<GBaseZDXL>() List<GBaseZDXL> xlList = zdxlRepository.list(new LambdaQueryWrapper<GBaseZDXL>()
.select(GBaseZDXL::getId, GBaseZDXL::getDefine, GBaseZDXL::getFjdid)); .select(GBaseZDXL::getId, GBaseZDXL::getDefine, GBaseZDXL::getFjdid));
Map<String, GBaseZDXL> map = xlList.stream().collect(Collectors.toMap(GBaseZDXL::getId, Function.identity(), (oldValue, newValue) -> newValue)); return xlList.stream().collect(Collectors.toMap(GBaseZDXL::getId, Function.identity(), (oldValue, newValue) -> newValue));
return map;
} }
} }

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

@ -1,11 +1,8 @@
package com.biutag.supervisiondata.service.impl; package com.biutag.supervisiondata.service.impl;
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.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.pojo.constants.Default; 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.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseBAXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseBAXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseBAYJ; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseBAYJ;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
@ -26,10 +23,8 @@ import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -56,8 +51,7 @@ public class GBaseBAServiceImpl implements GBaseBAService {
@Description("暂时用pointService里面的保安,那边数据多,但是有情况不对") @Description("暂时用pointService里面的保安,那边数据多,但是有情况不对")
@Override @Override
public void baModelTask(TaskParamDomain domain) { public void baModelTask(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 37); RiskTask task = riskTaskRepository.create(domain.getPersons().size(), 37);
riskTaskRepository.save(task);
List<GBaseBAXX> xxList = getXX(domain); List<GBaseBAXX> xxList = getXX(domain);
@ -78,9 +72,9 @@ public class GBaseBAServiceImpl implements GBaseBAService {
} }
LocalDate date; LocalDate date;
try { try {
if (tmp.getRzsj().indexOf("-") != -1) { if (tmp.getRzsj().contains("-")) {
date = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy-MM-dd")); date = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
} else if(tmp.getRzsj().indexOf(".") != -1) { } else if(tmp.getRzsj().contains(".")) {
date = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy.M.d")); date = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy.M.d"));
} else { } else {
date = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy年MM月dd日")); date = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
@ -92,9 +86,9 @@ public class GBaseBAServiceImpl implements GBaseBAService {
for (GBaseBAXX gBaseBAXX : entry.getValue()) { for (GBaseBAXX gBaseBAXX : entry.getValue()) {
LocalDate t; LocalDate t;
try { try {
if (gBaseBAXX.getRzsj().indexOf("-") != -1) { if (gBaseBAXX.getRzsj().contains("-")) {
t = LocalDate.parse(gBaseBAXX.getRzsj(), DateTimeFormatter.ofPattern("yyyy-MM-dd")); t = LocalDate.parse(gBaseBAXX.getRzsj(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
} else if(tmp.getRzsj().indexOf(".") != -1) { } else if(tmp.getRzsj().contains(".")) {
t = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy.M.d")); t = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy.M.d"));
} else { } else {
t = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy年MM月dd日")); t = LocalDate.parse(tmp.getRzsj(), DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
@ -137,14 +131,7 @@ public class GBaseBAServiceImpl implements GBaseBAService {
log.info("修改线索条数 | {}", toUpdate.size()); log.info("修改线索条数 | {}", toUpdate.size());
clueRepository.updateBatchById(toUpdate); clueRepository.updateBatchById(toUpdate);
} }
riskTaskRepository.updateTask(task.getId(), toInsert.size(), toUpdate.size());
RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size());
updateTask.setUpdateSize(toUpdate.size());
updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now());
riskTaskRepository.updateById(updateTask);
} }
RiskModelTaskClue createClue(Integer modelId, Integer score, RiskPersonal person, Integer taskId, String reason, String data, LocalDateTime eventTime) { RiskModelTaskClue createClue(Integer modelId, Integer score, RiskPersonal person, Integer taskId, String reason, String data, LocalDateTime eventTime) {
@ -171,26 +158,4 @@ public class GBaseBAServiceImpl implements GBaseBAService {
} }
return list; return list;
} }
List<GBaseBAXX> getYJ(TaskParamDomain domain) {
List<GBaseBAXX> list = new ArrayList<>();
for (List<String> idCard : domain.getIdCards()) {
List<GBaseBAYJ> tmp = gBaseBAYJRepository.list(new LambdaQueryWrapper<GBaseBAYJ>()
.select(GBaseBAYJ::getXm, GBaseBAYJ::getSfzhm, GBaseBAYJ::getZw, GBaseBAYJ::getRyztmc, GBaseBAYJ::getRyztmc, GBaseBAYJ::getRzsj)
.in(GBaseBAYJ::getSfzhm, idCard));
for (GBaseBAYJ gBaseBAYJ : tmp) {
}
}
return list;
}
RiskTask createTask(Integer size, Integer modelId) {
RiskTask task = new RiskTask();
task.setModelId(modelId);
task.setStartTime(LocalDateTime.now());
task.setState(0);
task.setScanSize(size);
return task;
}
} }

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

@ -209,7 +209,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
continue; continue;
} }
GBaseJJD tmp = jjds.getFirst(); GBaseJJD tmp = jjds.getFirst();
jjds.remove(0); jjds.removeFirst();
for (GBaseJJD jjd : jjds) { for (GBaseJJD jjd : jjds) {
try { try {
LocalDateTime time = jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime time = jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
@ -362,9 +362,6 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
// 手机号相关警情 // 手机号相关警情
Map<String, List<GBaseJJD>> mobileMap = new WeakHashMap<>(); Map<String, List<GBaseJJD>> mobileMap = new WeakHashMap<>();
List<String> idCodes = new ArrayList<>();
List<String> mobiles = new ArrayList<>();
for (GBaseJJD gBaseJJD : result) { for (GBaseJJD gBaseJJD : result) {
String idCard = PatternUtil.takeIdCard(gBaseJJD.getCjqk()); String idCard = PatternUtil.takeIdCard(gBaseJJD.getCjqk());
if (idCard.isEmpty()) { if (idCard.isEmpty()) {
@ -373,12 +370,6 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
if (!idCard.isEmpty()) { if (!idCard.isEmpty()) {
List<String> tmp = Arrays.stream(idCard.split(",")).toList(); List<String> tmp = Arrays.stream(idCard.split(",")).toList();
// 如果有多个号码,防止警察证件被录入 // 如果有多个号码,防止警察证件被录入
if (tmp.size() > 1) {
for (int i = 1; i < tmp.size(); i++) {
mobiles.add(tmp.get(i));
}
}
idCodes.addAll(tmp);
for (String s : tmp) { for (String s : tmp) {
idCodeMap.computeIfAbsent(s, k -> new ArrayList<>()).add(gBaseJJD); idCodeMap.computeIfAbsent(s, k -> new ArrayList<>()).add(gBaseJJD);
} }
@ -391,11 +382,6 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
if (!mobile.isEmpty()) { if (!mobile.isEmpty()) {
List<String> tmp = Arrays.stream(idCard.split(",")).toList(); List<String> tmp = Arrays.stream(idCard.split(",")).toList();
// 如果有多个号码,防止警察证件被录入 // 如果有多个号码,防止警察证件被录入
if (tmp.size() > 1) {
for (int i = 1; i < tmp.size(); i++) {
mobiles.add(tmp.get(i));
}
}
for (String s : tmp) { for (String s : tmp) {
mobileMap.computeIfAbsent(s, k -> new ArrayList<>()).add(gBaseJJD); mobileMap.computeIfAbsent(s, k -> new ArrayList<>()).add(gBaseJJD);
} }
@ -664,7 +650,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
clueService.saveClues(toInsert2, "B52对他人家暴"); clueService.saveClues(toInsert2, "B52对他人家暴");
} }
if (!toUpdate2.isEmpty()) { if (!toUpdate2.isEmpty()) {
clueService.deleteCluesAndDeleteTag(toUpdate2, deleteIdCards, "家暴"); clueService.deleteCluesAndDeleteTag(toUpdate2, deleteIdCards2, "家暴");
} }
taskRepository.updateTask(task.getId(), toInsert.size(), toUpdate.size()); taskRepository.updateTask(task.getId(), toInsert.size(), toUpdate.size());
taskRepository.updateTask(task2.getId(), toInsert.size(), toUpdate2.size()); taskRepository.updateTask(task2.getId(), toInsert.size(), toUpdate2.size());
@ -1002,10 +988,10 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
continue; continue;
} }
String mobile = PatternUtil.takeMobile(gBaseJJD.getCjqk()); String mobile = PatternUtil.takeMobile(gBaseJJD.getCjqk());
if (idCard.isEmpty()) { if (mobile.isEmpty()) {
mobile = PatternUtil.takeMobile(gBaseJJD.getBjnr()); mobile = PatternUtil.takeMobile(gBaseJJD.getBjnr());
} }
if (idCard.isEmpty()) { if (mobile.isEmpty()) {
continue; continue;
} }
mobiles.addAll(Arrays.stream(mobile.split(",")).toList()); mobiles.addAll(Arrays.stream(mobile.split(",")).toList());
@ -1045,7 +1031,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
for (RiskPersonal person : domain.getPersons()) { for (RiskPersonal person : domain.getPersons()) {
List<GBaseJJD> jjdList = Optional.ofNullable(idCodesMap.get(person.getIdCode())).orElse(new ArrayList<>()); List<GBaseJJD> jjdList = Optional.ofNullable(idCodesMap.get(person.getIdCode())).orElse(new ArrayList<>());
jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList(); jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList();
if (jjdList == null || jjdList.isEmpty()) { if (jjdList.isEmpty()) {
continue; continue;
} }
List<RiskModelTaskClue> olds = personMap.get(person.getIdCode()); List<RiskModelTaskClue> olds = personMap.get(person.getIdCode());
@ -1276,7 +1262,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
for (RiskPersonal person : domain.getPersons()) { for (RiskPersonal person : domain.getPersons()) {
List<GBaseJJD> jjdList = Optional.ofNullable(idCodeMap.get(person.getIdCode())).orElse(new ArrayList<>()); List<GBaseJJD> jjdList = Optional.ofNullable(idCodeMap.get(person.getIdCode())).orElse(new ArrayList<>());
jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList(); jjdList = jjdList.stream().filter(StreamUtil.distinctByKey(GBaseJJD::getJjdbh)).toList();
if (jjdList == null || jjdList.isEmpty()) { if (jjdList.isEmpty()) {
continue; continue;
} }
List<RiskModelTaskClue> olds = personMap.get(person.getIdCode()); List<RiskModelTaskClue> olds = personMap.get(person.getIdCode());
@ -1387,9 +1373,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
void toRedisCache(List<GBaseJJD> jjdList, String keyName) { void toRedisCache(List<GBaseJJD> jjdList, String keyName) {
RedisDao.getInstance().removeListAll(keyName); RedisDao.getInstance().removeListAll(keyName);
RedisDao.getInstance().pipeLineExec((connection, key, value) -> jjdList.forEach(item -> { RedisDao.getInstance().pipeLineExec((connection, key, value) -> jjdList.forEach(item -> connection.rPush(key.serialize(keyName), value.serialize(JSON.toJSONString(item)))));
connection.rPush(key.serialize(keyName), value.serialize(JSON.toJSONString(item)));
}));
} }
/** /**

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

@ -11,7 +11,6 @@ import com.biutag.supervisiondata.pojo.domain.Drug;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import com.biutag.supervisiondata.pojo.domain.WFSHPerson; import com.biutag.supervisiondata.pojo.domain.WFSHPerson;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
@ -23,12 +22,10 @@ import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.GBaseSHRWFRService; import com.biutag.supervisiondata.service.GBaseSHRWFRService;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskModelTaskClueService;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.util.BhUtil;
import com.biutag.supervisiondata.util.DataUtil; import com.biutag.supervisiondata.util.DataUtil;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cglib.core.Local;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate; import java.time.LocalDate;
@ -193,12 +190,12 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
} }
} }
StringBuilder tmp = new StringBuilder("该人员"); StringBuilder tmp = new StringBuilder("该人员");
if (zm.length() > 0) { if (!zm.isEmpty()) {
tmp.append("因:").append(zm.substring(0, zm.length() - 1)); tmp.append("因:").append(zm, 0, zm.length() - 1);
} }
tmp.append(" 已被打击处理过"); tmp.append(" 已被打击处理过");
if (aj.length() > 0) { if (!aj.isEmpty()) {
tmp.append("具体案件编号:").append(aj.substring(0, aj.length() - 1)); tmp.append("具体案件编号:").append(aj, 0, aj.length() - 1);
} }
toInsert.add(DataUtil.createClueData(task, ClueData.builder() toInsert.add(DataUtil.createClueData(task, ClueData.builder()
// 案件编号、接警单编号之类 // 案件编号、接警单编号之类

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

@ -14,7 +14,6 @@ import com.biutag.supervisiondata.pojo.entity.mine.RiskTask;
import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.HabitService; import com.biutag.supervisiondata.service.HabitService;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskModelTaskClueService;
import com.biutag.supervisiondata.util.BhUtil;
import com.biutag.supervisiondata.util.DataUtil; import com.biutag.supervisiondata.util.DataUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

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

@ -1,30 +1,23 @@
package com.biutag.supervisiondata.service.impl; package com.biutag.supervisiondata.service.impl;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
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.domain.*; import com.biutag.supervisiondata.pojo.domain.*;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalTag;
import com.biutag.supervisiondata.pojo.entity.mine.RiskTask; import com.biutag.supervisiondata.pojo.entity.mine.RiskTask;
import com.biutag.supervisiondata.repository.GBaseZDRYRepository; import com.biutag.supervisiondata.repository.GBaseZDRYRepository;
import com.biutag.supervisiondata.repository.RiskPersonalRepository; import com.biutag.supervisiondata.repository.RiskPersonalRepository;
import com.biutag.supervisiondata.repository.RiskTaskRepository; import com.biutag.supervisiondata.repository.RiskTaskRepository;
import com.biutag.supervisiondata.service.NoControlService; import com.biutag.supervisiondata.service.NoControlService;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskModelTaskClueService;
import com.biutag.supervisiondata.service.RiskPersonalTagService;
import com.biutag.supervisiondata.util.DataUtil; import com.biutag.supervisiondata.util.DataUtil;
import com.biutag.supervisiondata.util.IdCodeUtil;
import com.biutag.supervisiondata.util.BhUtil; import com.biutag.supervisiondata.util.BhUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;

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

@ -482,8 +482,6 @@ public class PersonalServiceImpl implements PersonalService {
} }
} }
private final RiskTestRepository riskTestRepository;
private final RiskModelTaskClueRepository riskModelTaskClueRepository; private final RiskModelTaskClueRepository riskModelTaskClueRepository;
private final RiskPersonalTagRepository tagRepository; private final RiskPersonalTagRepository tagRepository;

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

@ -1691,8 +1691,7 @@ public class PointServiceImpl implements PointService {
@Override @Override
public void syncIsPetition(TaskParamDomain domain) { public void syncIsPetition(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 40); RiskTask task = taskRepository.create(domain.getPersons().size(), 40);
taskRepository.save(task);
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
Map<String, Integer> idCode = new HashMap<>(); Map<String, Integer> idCode = new HashMap<>();
@ -1724,19 +1723,12 @@ public class PointServiceImpl implements PointService {
if (!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
modelTaskClueService.saveClues(toInsert, Default.IS_PETITION); modelTaskClueService.saveClues(toInsert, Default.IS_PETITION);
} }
RiskTask updateTask = new RiskTask(); taskRepository.updateTask(task.getId(), toInsert.size(), 0);
updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size());
updateTask.setUpdateSize(0);
updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now());
taskRepository.updateById(updateTask);
} }
@Override @Override
public void syncDrug(TaskParamDomain domain) { public void syncDrug(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 37); RiskTask task = taskRepository.create(domain.getPersons().size(), 37);
taskRepository.save(task);
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
Map<String, Integer> idCode = new HashMap<>(); Map<String, Integer> idCode = new HashMap<>();
@ -1769,8 +1761,7 @@ public class PointServiceImpl implements PointService {
@Override @Override
public void syncControlNoPower(TaskParamDomain domain) { public void syncControlNoPower(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 48); RiskTask task = taskRepository.create(domain.getPersons().size(), 48);
taskRepository.save(task);
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
Map<String, Integer> idCode = new HashMap<>(); Map<String, Integer> idCode = new HashMap<>();
List<GBaseZDRY> list = zdryRepository.getBaseMapper().noPower(); List<GBaseZDRY> list = zdryRepository.getBaseMapper().noPower();
@ -1800,21 +1791,14 @@ public class PointServiceImpl implements PointService {
log.info("增加特定对象日常管控不到位人员:{}", toInsert.size()); log.info("增加特定对象日常管控不到位人员:{}", toInsert.size());
modelTaskClueService.saveClues(toInsert, Default.CONTROLLER_IG); modelTaskClueService.saveClues(toInsert, Default.CONTROLLER_IG);
} }
RiskTask updateTask = new RiskTask(); taskRepository.updateTask(task.getId(), toInsert.size(), 0);
updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size());
updateTask.setUpdateSize(0);
updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now());
taskRepository.updateById(updateTask);
} }
private final RiskTestRepository riskTestRepository; private final RiskTestRepository riskTestRepository;
@Override @Override
public void syncPointCall(TaskParamDomain domain) { public void syncPointCall(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 50); RiskTask task = taskRepository.create(domain.getPersons().size(), 50);
taskRepository.save(task);
// 获取接警数据 // 获取接警数据
List<MuchCall> result = jjdRepository.getBaseMapper().selectPointCall(); List<MuchCall> result = jjdRepository.getBaseMapper().selectPointCall();
List<RiskPersonal> person = getPersons(); List<RiskPersonal> person = getPersons();
@ -1904,13 +1888,7 @@ public class PointServiceImpl implements PointService {
modelTaskClueService.saveClues(toInsert, Default.CONTROLLER_IG); modelTaskClueService.saveClues(toInsert, Default.CONTROLLER_IG);
} }
RiskTask updateTask = new RiskTask(); taskRepository.updateTask(task.getId(), toInsert.size(), 0);
updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size());
updateTask.setUpdateSize(0);
updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now());
taskRepository.updateById(updateTask);
} }
private final GBaseOilBuyRepository oilBuyRepository; private final GBaseOilBuyRepository oilBuyRepository;

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

@ -1,15 +1,10 @@
package com.biutag.supervisiondata.service.impl; package com.biutag.supervisiondata.service.impl;
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.constants.Default; 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.GBaseBAXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; 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.entity.mine.*;
import com.biutag.supervisiondata.pojo.enums.Dispute;
import com.biutag.supervisiondata.repository.GBaseJJDRepository; import com.biutag.supervisiondata.repository.GBaseJJDRepository;
import com.biutag.supervisiondata.repository.RiskModelTaskClueRepository; import com.biutag.supervisiondata.repository.RiskModelTaskClueRepository;
import com.biutag.supervisiondata.repository.RiskPersonalRepository; import com.biutag.supervisiondata.repository.RiskPersonalRepository;
@ -41,12 +36,6 @@ public class PoliceServiceImpl implements PoliceService {
private final RiskModelTaskClueService riskModelTaskClueService; private final RiskModelTaskClueService riskModelTaskClueService;
private final RiskPersonalTagService tagService;
private final RiskPersonalService riskPersonalService;
private final RiskPersonalControlRecordService controlRecordService;
private final RiskPersonalRepository riskPersonalRepository; private final RiskPersonalRepository riskPersonalRepository;
private final RiskTaskRepository riskTaskRepository; private final RiskTaskRepository riskTaskRepository;
@ -97,9 +86,7 @@ public class PoliceServiceImpl implements PoliceService {
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));
// ******* 数据操作 ******* // ******* 数据操作 *******
List<RiskModelTaskClue> toInsert = new ArrayList<>(); List<RiskModelTaskClue> toInsert = new ArrayList<>();
List<RiskPersonalControlRecord> controlRecords = new ArrayList<>();
List<RiskPersonal> toUpdatePerson = new ArrayList<>(); List<RiskPersonal> toUpdatePerson = new ArrayList<>();
// List<RiskPersonalTag> toInsertTags = new ArrayList<>();
// ******* 数据操作 ******* // ******* 数据操作 *******
// 开始 // 开始
for (GBaseJJD jjd : result) { for (GBaseJJD jjd : result) {
@ -117,12 +104,9 @@ public class PoliceServiceImpl implements PoliceService {
} }
if(insert) { if(insert) {
toInsert.add(createClue(task, 1, person, jjd, "通过对近12个月的警情筛查,发现该人员涉及:"+jjd.getJqxzmc()+"的警情,接警单编号为:"+jjd.getJjdbh())); toInsert.add(createClue(task, 1, person, jjd, "通过对近12个月的警情筛查,发现该人员涉及:"+jjd.getJqxzmc()+"的警情,接警单编号为:"+jjd.getJjdbh()));
RiskPersonalControlRecord tmpRecord = createControlRecord(person, jjd, toInsert.getLast().getRiskReason()); if(person.getControlTime() == null) {
controlRecords.add(tmpRecord); RiskPersonal personToUpdate = getRiskPersonal(person);
if(person.getControlTime() == null || tmpRecord.getControlTime().isAfter(person.getControlTime())) {
RiskPersonal personToUpdate = getRiskPersonal(person, tmpRecord);
toUpdatePerson.add(personToUpdate); toUpdatePerson.add(personToUpdate);
// toInsertTags.add(createTag(Dispute.contains(jjd.getJqxzmc()), toInsert.getLast().getEventTime(), person));
} }
} }
} }
@ -130,10 +114,6 @@ public class PoliceServiceImpl implements PoliceService {
log.info("新增线索:{}",toInsert.size()); log.info("新增线索:{}",toInsert.size());
riskModelTaskClueService.saveClues(toInsert, Default.TRUBO_IG); riskModelTaskClueService.saveClues(toInsert, Default.TRUBO_IG);
} }
if(!controlRecords.isEmpty()) {
log.info("新增管控记录:{}",controlRecords.size());
controlRecordService.batchInsert(controlRecords);
}
if(!toUpdatePerson.isEmpty()) { if(!toUpdatePerson.isEmpty()) {
log.info("修改风险人员:{}",toUpdatePerson.size()); log.info("修改风险人员:{}",toUpdatePerson.size());
riskPersonalRepository.updateBatchById(toUpdatePerson, 5000); riskPersonalRepository.updateBatchById(toUpdatePerson, 5000);
@ -145,12 +125,9 @@ public class PoliceServiceImpl implements PoliceService {
riskTaskRepository.updateTask(task.getId(), toInsert.size(), toUpdatePerson.size()); riskTaskRepository.updateTask(task.getId(), toInsert.size(), toUpdatePerson.size());
} }
private static RiskPersonal getRiskPersonal(RiskPersonal person, RiskPersonalControlRecord tmpRecord) { private static RiskPersonal getRiskPersonal(RiskPersonal person) {
RiskPersonal personToUpdate = new RiskPersonal(); RiskPersonal personToUpdate = new RiskPersonal();
personToUpdate.setId(person.getId()); personToUpdate.setId(person.getId());
// personToUpdate.setControlTime(tmpRecord.getControlTime());
// personToUpdate.setControlDepartName(tmpRecord.getControlDepartName());
// personToUpdate.setControlDepartId(tmpRecord.getControlDepartId());
if(person.getTags().indexOf(Default.BIG_TAG_TRUBO) == -1) { if(person.getTags().indexOf(Default.BIG_TAG_TRUBO) == -1) {
personToUpdate.setTags(person.getTags().concat(",".concat(Default.BIG_TAG_TRUBO))); personToUpdate.setTags(person.getTags().concat(",".concat(Default.BIG_TAG_TRUBO)));
} }
@ -172,32 +149,4 @@ public class PoliceServiceImpl implements PoliceService {
clue.setCaseIds(BhUtil.jjdBh(jjd.getJjdbh())); clue.setCaseIds(BhUtil.jjdBh(jjd.getJjdbh()));
return clue; return clue;
} }
RiskPersonalControlRecord createControlRecord(RiskPersonal person, GBaseJJD jjd, String tag) {
RiskPersonalControlRecord controlRecord = new RiskPersonalControlRecord();
controlRecord.setName(person.getName());
controlRecord.setIdCode(person.getIdCode());
controlRecord.setCreateTime(LocalDateTime.now());
try {
controlRecord.setControlTime(jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
} catch (Exception e) {
log.info("报警时间转换异常");
}
controlRecord.setControlDepartId(jjd.getGxdwdm());
controlRecord.setControlDepartName(jjd.getGxdwmc());
controlRecord.setControlTag(tag);
controlRecord.setCaseId(BhUtil.jjdBh(jjd.getJjdbh()));
return controlRecord;
}
RiskPersonalTag createTag(String tag, LocalDateTime eventTime, RiskPersonal personal) {
RiskPersonalTag personalTag = new RiskPersonalTag();
personalTag.setTagTime(eventTime);
personalTag.setBigTag(Default.BIG_TAG_TRUBO);
personalTag.setSmallTag(tag);
personalTag.setIdCode(personal.getIdCode());
personalTag.setName(personal.getName());
personalTag.setCreateTime(LocalDateTime.now());
return personalTag;
}
} }

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

@ -1,22 +1,15 @@
package com.biutag.supervisiondata.service.impl; package com.biutag.supervisiondata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.ModelMapper;
import com.biutag.supervisiondata.mapper.mine.RiskModelTaskClueMapper;
import com.biutag.supervisiondata.mapper.mine.RiskScoreRuleMapper; import com.biutag.supervisiondata.mapper.mine.RiskScoreRuleMapper;
import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.domain.ScoreRule; import com.biutag.supervisiondata.pojo.domain.ScoreRule;
import com.biutag.supervisiondata.pojo.entity.mine.Model;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalControlRecord;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalTag; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonalTag;
import com.biutag.supervisiondata.repository.RiskModelTaskClueRepository; import com.biutag.supervisiondata.repository.RiskModelTaskClueRepository;
import com.biutag.supervisiondata.repository.RiskPersonalTagRepository; 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;
@ -67,7 +60,7 @@ public class RiskModelTaskClueServiceImpl implements RiskModelTaskClueService {
Map<Integer, ScoreRule> ruleMap = rules.stream().collect(Collectors.toMap(ScoreRule::getModelId, Function.identity(), (val, old) -> val)); Map<Integer, ScoreRule> ruleMap = rules.stream().collect(Collectors.toMap(ScoreRule::getModelId, Function.identity(), (val, old) -> val));
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()); .toList();
for (List<RiskModelTaskClue> record : control) { for (List<RiskModelTaskClue> record : control) {
try { try {
batchInsert(record, bigTag, ruleMap); batchInsert(record, bigTag, ruleMap);
@ -85,7 +78,7 @@ public class RiskModelTaskClueServiceImpl implements RiskModelTaskClueService {
List<RiskPersonalTag> oldTags = new ArrayList<>(); List<RiskPersonalTag> oldTags = new ArrayList<>();
List<List<String>> idCode = IntStream.range(0, (idCodes.size() + 9999) / 10000) List<List<String>> idCode = IntStream.range(0, (idCodes.size() + 9999) / 10000)
.mapToObj(i -> idCodes.subList(i * 10000, Math.min((i + 1) * 10000, idCodes.size()))) .mapToObj(i -> idCodes.subList(i * 10000, Math.min((i + 1) * 10000, idCodes.size())))
.collect(Collectors.toList()); .toList();
for (List<String> strList : idCode) { for (List<String> strList : idCode) {
oldTags.addAll(tagRepository.list(new LambdaQueryWrapper<RiskPersonalTag>() oldTags.addAll(tagRepository.list(new LambdaQueryWrapper<RiskPersonalTag>()
.select(RiskPersonalTag::getSmallTag, RiskPersonalTag::getIdCode) .select(RiskPersonalTag::getSmallTag, RiskPersonalTag::getIdCode)
@ -134,7 +127,7 @@ public class RiskModelTaskClueServiceImpl implements RiskModelTaskClueService {
try (Connection connection = getConnection(); try (Connection connection = getConnection();
PreparedStatement prepareStatement = connection.prepareStatement(sql)) { PreparedStatement prepareStatement = connection.prepareStatement(sql)) {
connection.setAutoCommit(false); connection.setAutoCommit(false);
alliances.stream().forEachOrdered(it -> { alliances.forEach(it -> {
ScoreRule rule = ruleMap.get(it.getModelId()); ScoreRule rule = ruleMap.get(it.getModelId());
BigDecimal score = new BigDecimal("0.00"); BigDecimal score = new BigDecimal("0.00");
if (rule == null) { if (rule == null) {

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

@ -34,7 +34,7 @@ public class RiskPersonalControlRecordImpl extends ServiceImpl<RiskPersonalContr
try (Connection connection = getConnection(); try (Connection connection = getConnection();
PreparedStatement prepareStatement = connection.prepareStatement(sql)) { PreparedStatement prepareStatement = connection.prepareStatement(sql)) {
connection.setAutoCommit(false); connection.setAutoCommit(false);
records.stream().forEachOrdered(it -> { records.forEach(it -> {
try { try {
prepareStatement.setObject(1, Optional.ofNullable(it.getName()).orElse("")); prepareStatement.setObject(1, Optional.ofNullable(it.getName()).orElse(""));
prepareStatement.setObject(2, Optional.ofNullable(it.getIdCode()).orElse("")); prepareStatement.setObject(2, Optional.ofNullable(it.getIdCode()).orElse(""));
@ -51,7 +51,7 @@ public class RiskPersonalControlRecordImpl extends ServiceImpl<RiskPersonalContr
prepareStatement.executeBatch(); prepareStatement.executeBatch();
connection.commit(); connection.commit();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); log.error("", e);
throw new BusinessException(StatusCode.BUSINESS, "数据保存失败"); throw new BusinessException(StatusCode.BUSINESS, "数据保存失败");
} }
} }

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

@ -1,32 +1,23 @@
package com.biutag.supervisiondata.service.impl; 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.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.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.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
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.repository.RiskPersonalTagRepository;
import com.biutag.supervisiondata.repository.WdpcHZCRYXXRepository; import com.biutag.supervisiondata.repository.WdpcHZCRYXXRepository;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.service.RiskPersonalTagService;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
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.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -44,8 +35,6 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
private final RiskPersonalRepository repository; private final RiskPersonalRepository repository;
private final RiskPersonalTagService tagService;
private final RiskPersonalTagRepository tagRepository; private final RiskPersonalTagRepository tagRepository;
@ -59,7 +48,7 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
// 速度是割出来的 // 速度是割出来的
List<List<String>> olds = IntStream.range(0, (searchOldCode.size() + 9999) / 10000) List<List<String>> olds = IntStream.range(0, (searchOldCode.size() + 9999) / 10000)
.mapToObj(i -> searchOldCode.subList(i * 10000, Math.min((i + 1) * 10000, searchOldCode.size()))) .mapToObj(i -> searchOldCode.subList(i * 10000, Math.min((i + 1) * 10000, searchOldCode.size())))
.collect(Collectors.toList()); .toList();
List<RiskPersonal> oldPerson = new ArrayList<>(); List<RiskPersonal> oldPerson = new ArrayList<>();
for (List<String> old : olds) { for (List<String> old : olds) {
@ -74,8 +63,6 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
List<RiskPersonal> data = new ArrayList<>(); List<RiskPersonal> data = new ArrayList<>();
// 修改 // 修改
List<RiskPersonal> updateData = new ArrayList<>(); List<RiskPersonal> updateData = new ArrayList<>();
List<RiskPersonalTag> tags = new ArrayList<>();
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();
// 看看这个人老数据里面有没有 // 看看这个人老数据里面有没有
@ -96,15 +83,10 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
} }
log.info("保存长度: {}", data.size()); log.info("保存长度: {}", data.size());
if(!data.isEmpty()) { if(!data.isEmpty()) {
log.info("开始操作待新增用户:{}", tags.size()); log.info("开始操作待新增用户:{}", data.size());
repository.saveBatch(data, 10000); repository.saveBatch(data, 10000);
} }
if(!tags.isEmpty()) {
log.info("开始操作待操作标签:{}", tags.size());
tagService.saveBatchTag(tags, bigTag);
}
if(!updateData.isEmpty()) { if(!updateData.isEmpty()) {
log.info("开始修改: {}", updateData.size()); log.info("开始修改: {}", updateData.size());
repository.updateBatchById(updateData, 5000); repository.updateBatchById(updateData, 5000);
@ -128,14 +110,7 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
if(old.getTags().contains(riskPersonal.getTags())) { if(old.getTags().contains(riskPersonal.getTags())) {
continue; continue;
} }
RiskPersonal update = new RiskPersonal(); RiskPersonal update = getRiskPersonal(riskPersonal, old);
update.setId(old.getId());
update.setTags(old.getTags().concat(",").concat(riskPersonal.getTags()));
if(old.getControlDepartType() == null || riskPersonal.getControlDepartType()> old.getControlDepartType()) {
update.setControlDepartId(riskPersonal.getControlDepartId());
update.setControlDepartName(riskPersonal.getControlDepartName());
update.setControlDepartType(riskPersonal.getControlDepartType());
}
toUpdate.add(update); toUpdate.add(update);
} }
if(!toInsert.isEmpty()) { if(!toInsert.isEmpty()) {
@ -148,6 +123,18 @@ public class RiskPersonalServiceImpl implements RiskPersonalService {
} }
} }
private static @NotNull RiskPersonal getRiskPersonal(RiskPersonal riskPersonal, RiskPersonal old) {
RiskPersonal update = new RiskPersonal();
update.setId(old.getId());
update.setTags(old.getTags().concat(",").concat(riskPersonal.getTags()));
if(old.getControlDepartType() == null || riskPersonal.getControlDepartType()> old.getControlDepartType()) {
update.setControlDepartId(riskPersonal.getControlDepartId());
update.setControlDepartName(riskPersonal.getControlDepartName());
update.setControlDepartType(riskPersonal.getControlDepartType());
}
return update;
}
private final WdpcHZCRYXXRepository hzcryxxRepository; private final WdpcHZCRYXXRepository hzcryxxRepository;
@Override @Override

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

@ -378,10 +378,8 @@ public class RiskTaskServiceImpl implements RiskTaskService {
.tag(gBaseSYRKXX.getCsdxzqhmc()) .tag(gBaseSYRKXX.getCsdxzqhmc())
.build(), "area___" + person.getId().toString())); .build(), "area___" + person.getId().toString()));
} }
if (!toInsert.isEmpty()) { log.info("开始操作新增项:{}", toInsert.size());
log.info("开始操作新增项:{}", toInsert.size()); riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_IG);
riskModelTaskClueService.saveClues(toInsert, Default.FIGHT_IG);
}
riskTaskRepository.updateTask(task.getId(), toInsert.size(), 0); riskTaskRepository.updateTask(task.getId(), toInsert.size(), 0);
} }
@ -661,7 +659,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
if (xx.getSspcsdm() != null) { if (xx.getSspcsdm() != null) {
PointOrg org = orgCodeMap.get(xx.getSspcsdm()); PointOrg org = orgCodeMap.get(xx.getSspcsdm());
org = findOrg(org, orgIdMap); org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null); SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(jqExternalDepart::get).orElse(null);
if (depart != null) { if (depart != null) {
person.setControlDepartId(depart.getInternalId()); person.setControlDepartId(depart.getInternalId());
person.setControlDepartName(depart.getInternalShortName()); person.setControlDepartName(depart.getInternalShortName());

Loading…
Cancel
Save