Browse Source

Merge remote-tracking branch 'origin/master'

master
sjh 1 year ago
parent
commit
a97035a345
  1. 4
      src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java
  2. 12
      src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcRyLgXXMapper.java
  3. 2
      src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java
  4. 30
      src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc/WdpcRyLgXX.java
  5. 15
      src/main/java/com/biutag/supervisiondata/repository/WdpcRyLgXXRepository.java
  6. 16
      src/main/java/com/biutag/supervisiondata/rest/ApiController.java
  7. 9
      src/main/java/com/biutag/supervisiondata/service/PersonalService.java
  8. 3
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java
  9. 75
      src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java
  10. 6
      src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java
  11. 2
      src/main/java/com/biutag/supervisiondata/service/impl/RiskPersonalServiceImpl.java

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

@ -23,8 +23,8 @@ public interface GBaseJJDMapper extends BaseMapper<GBaseJJD> {
@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<MuchCall> selectPointCall();

12
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<WdpcRyLgXX> {
}

2
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 = "年龄因素";

30
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;
}

15
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<WdpcRyLgXXMapper, WdpcRyLgXX> {
}

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

@ -68,6 +68,11 @@ public class ApiController {
JSONObject obj = JSON.parseObject(data);
List<String> mobiles = obj.getList("mobiles", String.class);
List<String> idCodes = obj.getList("idCodes", String.class);
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"),
obj.getString("mobile"),
@ -90,6 +95,12 @@ public class ApiController {
}
GBaseJJD jjd = JSON.parseObject(str, GBaseJJD.class);
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","");
JSONObject jb = JSON.parseObject(res);
@ -114,8 +125,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(Optional.ofNullable(idCodesCache).orElse(""));
ai.setMobiles(Optional.ofNullable(mobilesCache).orElse(""));
if(!ai.getIdCode().isEmpty() && !ai.getIdCode().equals("暂无")) {
idCodes.add(ai.getIdCode());
}

9
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();
}

3
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());

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

@ -8,6 +8,9 @@ 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.entity.wdpc.WdpcRyLgXX;
import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.PersonalService;
@ -278,6 +281,72 @@ public class PersonalServiceImpl implements PersonalService {
}
private final WdpcGrjdXfsjCsRepository xfsjCsRepository;
private final WdpcGrjdXfsjRepository xfsjRepository;
@Override
public void pullPetitionAgain() {
List<String> idCodes = new ArrayList<>();
CompletableFuture.allOf(CompletableFutureUtil.runSyncObject(() -> {
idCodes.addAll(xfsjRepository.list(new LambdaQueryWrapper<WdpcGrjdXfsj>().select(WdpcGrjdXfsj::getIdCode, WdpcGrjdXfsj::getName)).stream().map(WdpcGrjdXfsj::getIdCode).toList());
}), CompletableFutureUtil.runSyncObject(() -> {
idCodes.addAll(xfsjCsRepository.list(new LambdaQueryWrapper<WdpcGrjdXfsjCs>().select(WdpcGrjdXfsjCs::getIdCode, WdpcGrjdXfsjCs::getName)).stream().map(WdpcGrjdXfsjCs::getIdCode).toList());
})).join();
List<String> idCards = idCodes.stream().distinct().toList();
List<List<String>> idCards2 = IntStream.range(0, (idCards.size() + 9999) / 10000)
.mapToObj(i -> idCards.subList(i * 10000, Math.min((i + 1) * 10000, idCards.size())))
.toList();
List<GBaseSYRKXX> xxList = new ArrayList<>();
xxList.addAll(getByIdCode(idCards2));
// 去重
List<RiskPersonal> personals = new ArrayList<>();
Map<String, Byte[]> 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 WdpcRyLgXXRepository lgXXRepository;
@Override
public void pullInvestigate() {
List<WdpcRyLgXX> xxList = lgXXRepository.list(new LambdaQueryWrapper<WdpcRyLgXX>().select(WdpcRyLgXX::getXm,WdpcRyLgXX::getSfzh,WdpcRyLgXX::getGxdwmc,WdpcRyLgXX::getGxdwbh,WdpcRyLgXX::getLxdh));
LocalDate now = LocalDate.now();
List<RiskPersonal> 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
@ -297,7 +366,7 @@ public class PersonalServiceImpl implements PersonalService {
* @return 实有人口信息
*/
List<GBaseSYRKXX> getByIdCode(List<List<String>> idCodes) {
return getXXInfo(idCodes,1);
return getXXInfo(idCodes, 1);
}
/**
@ -307,7 +376,7 @@ public class PersonalServiceImpl implements PersonalService {
* @return 查到的实有人口数据
*/
List<GBaseSYRKXX> getByMobiles(List<List<String>> mobiles) {
return getXXInfo(mobiles,2);
return getXXInfo(mobiles, 2);
}
List<GBaseSYRKXX> getXXInfo(List<List<String>> strList, int type) {
@ -346,7 +415,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));

6
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);
}
}

2
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());

Loading…
Cancel
Save