From 0d578db61e63e4895063fb9b73036b024b45539b Mon Sep 17 00:00:00 2001 From: kami <605128600@qq.com> Date: Thu, 5 Dec 2024 10:27:55 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=A1=E8=AE=BF=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervisiondata/rest/ApiController.java | 12 ++++- .../service/PersonalService.java | 2 +- .../service/impl/GBaseJJDServiceImpl.java | 3 -- .../service/impl/PersonalServiceImpl.java | 47 +++++++++++++++++-- .../service/impl/PoliceServiceImpl.java | 6 +-- .../service/impl/RiskPersonalServiceImpl.java | 2 +- 6 files changed, 57 insertions(+), 15 deletions(-) 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()); From 4b437dad467e7a695bebc9360a076afd7475975e Mon Sep 17 00:00:00 2001 From: kami <605128600@qq.com> Date: Thu, 5 Dec 2024 12:51:16 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=A1=E8=AE=BF=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/dwd/GBaseJJDMapper.java | 4 +-- .../mapper/wdpc/WdpcRyLgXXMapper.java | 12 ++++++++ .../pojo/constants/Default.java | 2 ++ .../pojo/entity/wdpc/WdpcRyLgXX.java | 30 +++++++++++++++++++ .../repository/WdpcRyLgXXRepository.java | 15 ++++++++++ .../supervisiondata/rest/ApiController.java | 16 ++++++---- .../service/PersonalService.java | 7 +++++ .../service/impl/PersonalServiceImpl.java | 28 +++++++++++++++++ 8 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcRyLgXXMapper.java create mode 100644 src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcRyLgXX.java create mode 100644 src/main/java/com/biutag/supervisiondata/repository/WdpcRyLgXXRepository.java diff --git a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java index b265b99..99bb11e 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java @@ -23,8 +23,8 @@ public interface GBaseJJDMapper extends BaseMapper { @Select(" select bjdh as mobile, " + - " sum(IF(SUBSTR(jqxzdm, 1, 1) != '9',1,0)) as normal, " + - " sum(IF(SUBSTR(jqxzdm, 1, 1) = '9',1,0)) as unNormal " + + " sum(IF(SUBSTR(jqxzdm, 1, 2) != '99' AND SUBSTR(jqxzdm, 1, 2) != '11',1,0)) as normal, " + + " sum(IF(SUBSTR(jqxzdm, 1, 2) = '99',1,0) or SUBSTR(jqxzdm, 1, 2) = '11') as unNormal " + " from dwd_asj_zhtx_jjd where bjsj >= '2024-01-01 00:00:00' and bjdh is not null " + " group by bjdh HAVING sum(IF(SUBSTR(jqxzdm, 1, 1) != '9',1,0)) > 5 or sum(IF(SUBSTR(jqxzdm, 1, 1) = '9',1,0)) > 100") List selectPointCall(); diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcRyLgXXMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcRyLgXXMapper.java new file mode 100644 index 0000000..750838f --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcRyLgXXMapper.java @@ -0,0 +1,12 @@ +package com.biutag.supervisiondata.mapper.wdpc; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcRyLgXX; + +/** + * @author kami on 2024-12-05 11:28:59 + * @version 0.0.1 + * @since 1.8 + */ +public interface WdpcRyLgXXMapper extends BaseMapper { +} diff --git a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java index 30e3de2..ddcec96 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java @@ -48,6 +48,8 @@ public class Default { public static final String NO_CAR_OIL_BUY = "无车近3月购买散装油记录"; + public static final String INVESTIGATE_FOUR = "四无人员"; + // ***********因素************* public static final String AGE_IG = "年龄因素"; diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcRyLgXX.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcRyLgXX.java new file mode 100644 index 0000000..b795802 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcRyLgXX.java @@ -0,0 +1,30 @@ +package com.biutag.supervisiondata.pojo.entity.wdpc; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 四无人员 + * @author kami on 2024-12-05 11:25:45 + * @version 0.0.1 + * @since 1.8 + */ +@Data +@TableName("`wdpc_ry_lgxx`") +public class WdpcRyLgXX { + @TableId(value = "id",type = IdType.AUTO) + Integer id; + @TableField("`xm`") + String xm; + @TableField("`lxdh`") + String lxdh; + @TableField("`sfzh`") + String sfzh; + @TableField("`gxdwbh`") + String gxdwbh; + @TableField("`gxdwmc`") + String gxdwmc; +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcRyLgXXRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcRyLgXXRepository.java new file mode 100644 index 0000000..1058270 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcRyLgXXRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.wdpc.WdpcRyLgXXMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcRyLgXX; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-12-05 11:29:55 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class WdpcRyLgXXRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/rest/ApiController.java b/src/main/java/com/biutag/supervisiondata/rest/ApiController.java index 6847df4..a4f86ea 100644 --- a/src/main/java/com/biutag/supervisiondata/rest/ApiController.java +++ b/src/main/java/com/biutag/supervisiondata/rest/ApiController.java @@ -69,7 +69,9 @@ public class ApiController { 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()); + RedisDao.getInstance().opsForHashSave("jjd_cache_idCodes", obj.getString("id"), String.join(",", idCodes)); + RedisDao.getInstance().opsForHashSave("jjd_cache_mobile", obj.getString("id"), String.join(",", mobiles)); + return JSONObject.of("id", obj.getString("id"), "data", String.format(Prompt.CONTENT, obj.getString("name"), obj.getString("idCode"), @@ -93,9 +95,11 @@ 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 idCodesCache = (String) RedisDao.getInstance().opsForHashGetByGroupAndKey("jjd_cache_idCodes", jjd.getJjdbh()); + String mobilesCache = (String) RedisDao.getInstance().opsForHashGetByGroupAndKey("jjd_cache_mobile", jjd.getJjdbh()); + RedisDao.getInstance().opsForHashDel("jjd_cache_idCodes", jjd.getJjdbh()); + RedisDao.getInstance().opsForHashDel("jjd_cache_mobile", jjd.getJjdbh()); String res = data.getString("content"); res = res.replaceFirst("```json","").replaceAll("```", "").replaceAll("\n",""); @@ -122,8 +126,8 @@ public class ApiController { ai.setIdCode(Optional.ofNullable(obj.getString("idCode")).orElse("")); ai.setReason(obj.getString("reason")); - ai.setIdCodes(String.join(",",temp.getList("idCodes", String.class))); - ai.setMobiles(String.join(",",temp.getList("mobiles", String.class))); + ai.setIdCodes(Optional.ofNullable(idCodesCache).orElse("")); + ai.setMobiles(Optional.ofNullable(mobilesCache).orElse("")); 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 2b6a68c..870955f 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java @@ -34,7 +34,14 @@ public interface PersonalService { */ void pullCriminal(LocalDateTime start); + /** + * 另一个表的信访 + */ void pullPetitionAgain(); + /** + * 推送排查人员(四无) + */ + void pullInvestigate(); void init(); } 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 b9f5415..b46e022 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java @@ -10,6 +10,7 @@ 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.entity.wdpc.WdpcRyLgXX; import com.biutag.supervisiondata.pojo.enums.DepartType; import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.PersonalService; @@ -319,6 +320,33 @@ public class PersonalServiceImpl implements PersonalService { riskPersonalService.saveDistinct(personals); } + private final WdpcRyLgXXRepository lgXXRepository; + + @Override + public void pullInvestigate() { + List xxList = lgXXRepository.list(new LambdaQueryWrapper().select(WdpcRyLgXX::getXm,WdpcRyLgXX::getSfzh,WdpcRyLgXX::getGxdwmc,WdpcRyLgXX::getGxdwbh,WdpcRyLgXX::getLxdh)); + LocalDate now = LocalDate.now(); + List personals = new ArrayList<>(); + for (WdpcRyLgXX wdpcRyLgXX : xxList) { + RiskPersonal person = new RiskPersonal(); + person.setName(wdpcRyLgXX.getXm()); + person.setMobileNumber(wdpcRyLgXX.getLxdh()); + person.setControlDepartId(wdpcRyLgXX.getGxdwbh()); + person.setControlDepartName(wdpcRyLgXX.getGxdwmc()); + person.setControlDepartType(DepartType.OTHER.getType()); + person.setIdCode(wdpcRyLgXX.getSfzh().toUpperCase()); + person.setCreateTime(LocalDateTime.now()); + person.setAge(IdCodeUtil.idCard2Age(person.getIdCode(), now)); + person.setGender(IdCodeUtil.idCard2Gender(person.getIdCode())); + person.setControlTime(LocalDateTime.now()); + person.setTags(Default.INVESTIGATE_FOUR); + personals.add(person); + } + if(!personals.isEmpty()) { + riskPersonalService.saveDistinct(personals); + } + } + private final RiskTestRepository riskTestRepository; @Override