From 72d80c015f9c28f9bf4da8eba7195219176a7cf5 Mon Sep 17 00:00:00 2001 From: kami <605128600@qq.com> Date: Thu, 12 Dec 2024 14:24:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E8=AF=81=E7=85=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ApplicationEvent.java | 7 +++-- .../mapper/wdpc/WdpcPersonMapper.java | 12 +++++--- .../supervisiondata/pojo/constants/Media.java | 15 ++++++++++ .../repository/WdpcPersonRepository.java | 4 +++ .../service/PersonalService.java | 5 ++++ .../service/impl/PersonalServiceImpl.java | 30 +++++++++++++++++++ 6 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/biutag/supervisiondata/pojo/constants/Media.java diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index f81149e..d55f3ff 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -162,13 +162,16 @@ public class ApplicationEvent { // pointService.syncFamilySeriousIllness(initDomain(List.of(127))); // pointService.syncPetitionDissatisfied(initDomain(List.of(128))); // pointService.syncIsSpecialPeople(initDomain(List.of(129))); - pointService.syncSpecialPeopleType(initDomain(List.of(130))); - pointService.syncParentsRelationship(initDomain(List.of(131))); +// pointService.syncSpecialPeopleType(initDomain(List.of(130))); +// pointService.syncParentsRelationship(initDomain(List.of(131))); // *********暂时不要********** // riskTaskService.heightFight(initDomain(List.of(42))); // pointService.syncKillSelf(initDomain(List.of(46))); // policeService.contradictModelTask(initDomain(List.of(38))); + }); + CompletableFutureUtil.runSync(() -> { + personalService.syncPersonImage(); }); } diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java index 7a1e820..8460492 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc/WdpcPersonMapper.java @@ -1,10 +1,14 @@ package com.biutag.supervisiondata.mapper.wdpc; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.domain.PersonImageInfo; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcPerson; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; +import org.apache.ibatis.session.ResultHandler; + +import java.util.List; /** * @author kami on 2024-12-11 16:35:08 @@ -16,11 +20,11 @@ public interface WdpcPersonMapper extends BaseMapper { @Update("truncate table wdpc_person") int truncateTable(); - @Select(" select count(b.id_code) from dwd_ry_qbpt_sfzzzxx as a inner join csga_wdpcdb.wdpc_person as b \n" + + @Select(" select count(a.GMSFHM) from csga_dwd.dwd_ry_qbpt_sfzzzxx as a inner join csga_wdpcdb.wdpc_person as b " + "on a.GMSFHM = b.id_code ") int selectPersonImageCount(); - @Select(" select a.GMSFHM as idCode,a.sdxp as image from dwd_ry_qbpt_sfzzzxx as a inner join csga_wdpcdb.wdpc_person as b \n" + - "on a.GMSFHM = b.id_code ") - int selectPersonImagePage(@Param("pageNo")Integer pageNo, @Param("pageSize")Integer pageSize); + @Select(" select a.GMSFHM as idCode,a.sdxp as image from csga_dwd.dwd_ry_qbpt_sfzzzxx as a inner join csga_wdpcdb.wdpc_person as b " + + "on a.GMSFHM = b.id_code limit #{pageNo}, #{pageSize}") + List selectPersonImagePage(@Param("pageNo")Integer pageNo, @Param("pageSize")Integer pageSize); } diff --git a/src/main/java/com/biutag/supervisiondata/pojo/constants/Media.java b/src/main/java/com/biutag/supervisiondata/pojo/constants/Media.java new file mode 100644 index 0000000..597e582 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Media.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.pojo.constants; + +import lombok.experimental.UtilityClass; +import org.apache.ibatis.annotations.Update; + +/** + * @author kami on 2024-12-12 11:12:09 + * @version 0.0.1 + * @since 1.8 + */ +@UtilityClass +public class Media { + + public static final String JPEG = "data:image/jpg;base64,"; +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java index 5e17941..572671c 100644 --- a/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcPersonRepository.java @@ -12,4 +12,8 @@ import org.springframework.stereotype.Service; */ @Service public class WdpcPersonRepository extends ServiceImpl { + + void selectAndSave(int pageNo, int pageSize) { + + } } diff --git a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java index b2c3d8e..0833c04 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PersonalService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PersonalService.java @@ -54,4 +54,9 @@ public interface PersonalService { * 同步人员到gbase */ void syncPerson(); + + /** + * 同步人员证照 + */ + void syncPersonImage(); } 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 7e2c1d9..a372344 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java @@ -3,8 +3,10 @@ package com.biutag.supervisiondata.service.impl; 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.Media; import com.biutag.supervisiondata.pojo.database.Contradiction; import com.biutag.supervisiondata.pojo.database.PointOrg; +import com.biutag.supervisiondata.pojo.domain.PersonImageInfo; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseZDRY; @@ -509,6 +511,34 @@ public class PersonalServiceImpl implements PersonalService { wdpcPersonRepository.saveBatch(personList, 10000); } + private final RiskPersonInfoRepository infoRepository; + + @Override + public void syncPersonImage() { + int total = wdpcPersonRepository.getBaseMapper().selectPersonImageCount(); + log.info("有效头像共:{}", total); + List infoList; + List infos; + for (int page = 1; ; page++) { + log.info("{}", page); + int pageNo = (page- 1) * 10000; + int pageSize = 10000; + infoList = wdpcPersonRepository.getBaseMapper().selectPersonImagePage(pageNo, pageSize); + infos = new ArrayList<>(); + log.info("图像转base64开始:{}",infoList.size()); + for (PersonImageInfo item : infoList) { + RiskPersonInfo info = new RiskPersonInfo(); + info.setIdCode(item.getIdCode()); + info.setImageBase64(Media.JPEG.concat(Base64.getEncoder().encodeToString(item.getImage()))); + infos.add(info); + } + infoRepository.saveBatch(infos, 1000); + if(pageNo + pageSize >= total) { + break; + } + } + } + /** * 通过身份证号查询实有人口 *