diff --git a/src/main/java/com/biutag/supervisiondata/rest/ApiController.java b/src/main/java/com/biutag/supervisiondata/rest/ApiController.java index fd164b2..6847df4 100644 --- a/src/main/java/com/biutag/supervisiondata/rest/ApiController.java +++ b/src/main/java/com/biutag/supervisiondata/rest/ApiController.java @@ -68,6 +68,9 @@ public class ApiController { JSONObject obj = JSON.parseObject(data); List mobiles = obj.getList("mobiles", String.class); List idCodes = obj.getList("idCodes", String.class); + + RedisDao.getInstance().opsForHashSave("jjd_cache_tmp", obj.getString("id"), obj.toJSONString()); + return JSONObject.of("id", obj.getString("id"), "data", String.format(Prompt.CONTENT, obj.getString("name"), obj.getString("idCode"), obj.getString("mobile"), @@ -90,6 +93,10 @@ public class ApiController { } GBaseJJD jjd = JSON.parseObject(str, GBaseJJD.class); + String tmp = (String) RedisDao.getInstance().opsForHashGetByGroupAndKey("jjd_cache_tmp", jjd.getJjdbh()); + RedisDao.getInstance().opsForHashDel("jjd_cache_tmp", jjd.getJjdbh()); + JSONObject temp = JSON.parseObject(tmp); + String res = data.getString("content"); res = res.replaceFirst("```json","").replaceAll("```", "").replaceAll("\n",""); JSONObject jb = JSON.parseObject(res); @@ -114,8 +121,9 @@ public class ApiController { ai.setName(Optional.ofNullable(obj.getString("name")).orElse("")); ai.setIdCode(Optional.ofNullable(obj.getString("idCode")).orElse("")); ai.setReason(obj.getString("reason")); - ai.setIdCodes(String.join(",",obj.getList("idCodes", String.class))); - ai.setMobiles(String.join(",",obj.getList("mobiles", String.class))); + + ai.setIdCodes(String.join(",",temp.getList("idCodes", String.class))); + ai.setMobiles(String.join(",",temp.getList("mobiles", String.class))); if(!ai.getIdCode().isEmpty() && !ai.getIdCode().equals("暂无")) { idCodes.add(ai.getIdCode()); } diff --git a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java index fbef958..2b6a68c 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java @@ -34,7 +34,7 @@ public interface PersonalService { */ void pullCriminal(LocalDateTime start); - + void pullPetitionAgain(); void init(); } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java index 86719c6..3c82ff1 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java @@ -273,9 +273,6 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { idCodes = idCodes.stream().distinct().toList(); mobiles = mobiles.stream().distinct().toList(); - if(mobiles.isEmpty() && idCodes.isEmpty()) { - continue; - } ob.put("idCodes", idCodes); ob.put("mobiles", mobiles); RedisDao.getInstance().rightPush("jjd", ob.toJSONString()); 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 da3a52a..b9f5415 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java @@ -8,6 +8,8 @@ import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseZDRY; import com.biutag.supervisiondata.pojo.entity.mine.*; +import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; +import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsjCs; import com.biutag.supervisiondata.pojo.enums.DepartType; import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.PersonalService; @@ -278,6 +280,45 @@ public class PersonalServiceImpl implements PersonalService { } + private final WdpcGrjdXfsjCsRepository xfsjCsRepository; + + private final WdpcGrjdXfsjRepository xfsjRepository; + + @Override + public void pullPetitionAgain() { + List idCodes = new ArrayList<>(); + CompletableFuture.allOf(CompletableFutureUtil.runSyncObject(() -> { + idCodes.addAll(xfsjRepository.list(new LambdaQueryWrapper().select(WdpcGrjdXfsj::getIdCode, WdpcGrjdXfsj::getName)).stream().map(WdpcGrjdXfsj::getIdCode).toList()); + }), CompletableFutureUtil.runSyncObject(() -> { + idCodes.addAll(xfsjCsRepository.list(new LambdaQueryWrapper().select(WdpcGrjdXfsjCs::getIdCode, WdpcGrjdXfsjCs::getName)).stream().map(WdpcGrjdXfsjCs::getIdCode).toList()); + })).join(); + + List idCards = idCodes.stream().distinct().toList(); + List> idCards2 = IntStream.range(0, (idCards.size() + 9999) / 10000) + .mapToObj(i -> idCards.subList(i * 10000, Math.min((i + 1) * 10000, idCards.size()))) + .toList(); + + List xxList = new ArrayList<>(); + xxList.addAll(getByIdCode(idCards2)); + // 去重 + List personals = new ArrayList<>(); + Map map = new WeakHashMap<>(); + LocalDateTime now = LocalDateTime.now(); + LocalDate today = now.toLocalDate(); + Date nowDate = new Date(); + for (GBaseSYRKXX xx : xxList) { + if (map.get(xx.getGmsfhm()) == null) { + RiskPersonal personal = createPerson(xx, nowDate, today, now, Default.BIG_TAG_PETITION); + if(personal == null) { + continue; + } + personals.add(personal); + map.put(xx.getGmsfhm(), new Byte[0]); + } + } + riskPersonalService.saveDistinct(personals); + } + private final RiskTestRepository riskTestRepository; @Override @@ -297,7 +338,7 @@ public class PersonalServiceImpl implements PersonalService { * @return 实有人口信息 */ List getByIdCode(List> idCodes) { - return getXXInfo(idCodes,1); + return getXXInfo(idCodes, 1); } /** @@ -307,7 +348,7 @@ public class PersonalServiceImpl implements PersonalService { * @return 查到的实有人口数据 */ List getByMobiles(List> mobiles) { - return getXXInfo(mobiles,2); + return getXXInfo(mobiles, 2); } List getXXInfo(List> strList, int type) { @@ -346,7 +387,7 @@ public class PersonalServiceImpl implements PersonalService { person.setMobileNumber(item.getLxdh()); person.setControlDepartId(item.getSspcsdm()); person.setControlDepartName(item.getSspcsmc()); - person.setControlDepartType(DepartType.OTHER.getType()); + person.setControlDepartType(DepartType.HUMAN.getType()); person.setIdCode(item.getGmsfhm().toUpperCase()); person.setCreateTime(time); person.setAge(IdCodeUtil.idCard2Age(person.getIdCode(), now)); diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java index 0584bbe..9f2a892 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java @@ -72,11 +72,7 @@ public class PoliceServiceImpl implements PoliceService { continue; } // 情感、房地产、房屋、医患、债务、土地、劳资、家庭暴力、邻里纠纷 - if(jjd.getJqxzmc().contains("情感") || jjd.getJqxzmc().contains("房地产") - || jjd.getJqxzmc().contains("房屋") || jjd.getJqxzmc().contains("医患") - || jjd.getJqxzmc().contains("债务") || jjd.getJqxzmc().contains("土地") - || jjd.getJqxzmc().contains("劳资") || jjd.getJqxzmc().contains("家庭暴力") - || jjd.getJqxzmc().contains("邻里纠纷")) { + if(jjd.getJqxzmc().contains("纠纷")) { result.add(jjd); } } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java index 94c333d..e575ffe 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java @@ -138,7 +138,7 @@ public class RiskPersonalServiceImpl implements RiskPersonalService { RiskPersonal update = new RiskPersonal(); update.setId(old.getId()); update.setTags(old.getTags().concat(",").concat(riskPersonal.getTags())); - if(riskPersonal.getControlDepartType()> old.getControlDepartType()) { + if(old.getControlDepartType() == null || riskPersonal.getControlDepartType()> old.getControlDepartType()) { update.setControlDepartId(riskPersonal.getControlDepartId()); update.setControlDepartName(riskPersonal.getControlDepartName()); update.setControlDepartType(riskPersonal.getControlDepartType());