From 0317ef64b8edf200e5047b357bafb0c66bc5b158 Mon Sep 17 00:00:00 2001 From: lichao <326994889@qq.com> Date: Mon, 22 May 2023 13:44:33 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E5=A9=9A=E5=A7=BB=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataSyncRecordMaritalPageFormDTO.java | 33 ++++ .../DataSyncRecordMaritalPageResultDTO.java | 72 ++++++++ .../DataSyncRecordMaritalController.java | 15 +- .../epmet/dao/DataSyncRecordMaritalDao.java | 8 +- .../service/DataSyncRecordMaritalService.java | 6 +- .../impl/DataSyncConfigServiceImpl.java | 172 +++++++++--------- .../DataSyncRecordMaritalServiceImpl.java | 22 ++- .../mapper/DataSyncRecordMaritalDao.xml | 28 +++ 8 files changed, 259 insertions(+), 97 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordMaritalPageFormDTO.java create mode 100755 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DataSyncRecordMaritalPageResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordMaritalPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordMaritalPageFormDTO.java new file mode 100644 index 0000000000..2a12e788b7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/DataSyncRecordMaritalPageFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.form.dataSync; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2022/10/13 14:16 + */ +@Data +public class DataSyncRecordMaritalPageFormDTO extends PageFormDTO { + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + private String customerId; + /** + * 当前工作人员id + */ + private String staffId; + /** + * 当前工作人员所属组织id + */ + private String agencyId; +} + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DataSyncRecordMaritalPageResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DataSyncRecordMaritalPageResultDTO.java new file mode 100755 index 0000000000..b07eae992b --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DataSyncRecordMaritalPageResultDTO.java @@ -0,0 +1,72 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Data +public class DataSyncRecordMaritalPageResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 电话 + */ + private String mobile; + + /** + * 居民Id,ic_resi_user.id + */ + private String icResiUserId; + + /** + * 婚姻状况 + */ + private String maritalStatusName; + + /** + * 婚姻状况 + */ + private String maritalStatus; + + /** + * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 + */ + private Integer dealStatus; + + private Integer dealStatusName; + + /** + * 处理结果 + */ + private String dealResult; +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java index c06aea31d3..045f211439 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java @@ -1,7 +1,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,6 +11,9 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.DataSyncRecordMaritalDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordDeathPageFormDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordMaritalPageFormDTO; +import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO; import com.epmet.service.DataSyncRecordMaritalService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -31,10 +36,12 @@ public class DataSyncRecordMaritalController { @Autowired private DataSyncRecordMaritalService dataSyncRecordMaritalService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = dataSyncRecordMaritalService.page(params); - return new Result>().ok(page); + @PostMapping("page") + public Result> page(@LoginUser TokenDto tokenDto, @RequestBody DataSyncRecordMaritalPageFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCustomerId(tokenDto.getCustomerId());; + PageData page = dataSyncRecordMaritalService.page(formDTO); + return new Result>().ok(page); } @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordMaritalDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordMaritalDao.java index 772a5728db..f6383bd19a 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordMaritalDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordMaritalDao.java @@ -1,8 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.DataSyncRecordMaritalDTO; +import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO; import com.epmet.entity.DataSyncRecordMaritalEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 数据同步记录-居民婚姻信息 @@ -12,5 +17,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface DataSyncRecordMaritalDao extends BaseDao { - + + List pageSelect(@Param("customerId") String customerId, @Param("idCard") String idCard, @Param("name") String name, @Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java index 078a98ca9f..4abc5f56d6 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java @@ -5,6 +5,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.DataSyncRecordDeathDTO; import com.epmet.dto.DataSyncRecordMaritalDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordMaritalPageFormDTO; +import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO; import com.epmet.entity.DataSyncRecordDeathEntity; import com.epmet.entity.DataSyncRecordMaritalEntity; @@ -22,12 +24,12 @@ public interface DataSyncRecordMaritalService extends BaseService * @author generator * @date 2023-05-18 */ - PageData page(Map params); + PageData page(DataSyncRecordMaritalPageFormDTO formDTO); /** * 默认查询 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 44afdadf4d..5032f1b8d9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1674,101 +1674,105 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList = null; +// String scope=""; + List allScope = new ArrayList<>(); for (DataSyncConfigDTO config : configData) { + allScope.addAll(config.getScopeList()); + } - String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(",")); - - // 查询上一次定时任务 居民位置记录 - LambdaQueryWrapper logEntityLambdaQueryWrapper = new LambdaQueryWrapper().eq(IcResiUserTaskLogEntity::getDataScope,scope).eq(IcResiUserTaskLogEntity::getType,"hunyin").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); - IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); - // userInfoResultDTOS 待处理的数据存放 - List userInfoResultDTOS = new ArrayList<>(); - - boolean isNum = false; - int start = 0; - // 如果没有log数据 说明第一次进入循环 - if (logEntity == null){ - // 从0开始 优先获取规定的几个社区 - userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); - // 如果不满5000条数据 下面再从别的社区取 isNum = true - if (userInfoResultDTOS.size() < 50000){ - isNum = true; - } - }else{ - // 如果有log数据 判断一下上次停留在特殊数据还是普通数据 1是特殊数据(优先的几个社区) - if (logEntity.getDataType() == 1){ - // 从上次停止的数据开始获取 - userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); - // 下面再从别的社区取 isNum = true 凑够50000 - isNum = true; - }else if (logEntity.getDataType() == 0){ - // 如果是普通数据 直接从次停留在特殊数据获取 - start = logEntity.getDataCount(); - } - +// String scope = config.getScopeList().stream().map(DataSyncScopeDTO::getId).collect(Collectors.joining(",")); + + // 查询上一次定时任务 居民位置记录 + LambdaQueryWrapper logEntityLambdaQueryWrapper = new LambdaQueryWrapper().eq(IcResiUserTaskLogEntity::getType,"hunyin").orderByDesc(IcResiUserTaskLogEntity::getCreatedTime).last("limit 1"); + // .eq(IcResiUserTaskLogEntity::getDataScope,scope) + IcResiUserTaskLogEntity logEntity = resiUserTaskLogDao.selectOne(logEntityLambdaQueryWrapper); + // userInfoResultDTOS 待处理的数据存放 + List userInfoResultDTOS = new ArrayList<>(); + + boolean isNum = false; + int start = 0; + // 如果没有log数据 说明第一次进入循环 + if (logEntity == null){ + // 从0开始 优先获取规定的几个社区 + userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); + // 如果不满5000条数据 下面再从别的社区取 isNum = true + if (userInfoResultDTOS.size() < 50000){ + isNum = true; + } + }else{ + // 如果有log数据 判断一下上次停留在特殊数据还是普通数据 1是特殊数据(优先的几个社区) + if (logEntity.getDataType() == 1){ + // 从上次停止的数据开始获取 + userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); + // 下面再从别的社区取 isNum = true 凑够50000 + isNum = true; + }else if (logEntity.getDataType() == 0){ + // 如果是普通数据 直接从次停留在特殊数据获取 + start = logEntity.getDataCount(); } - // 建立一个最后插入log的标志 - IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity(); - newLog.setCreatedTime(new Date()); - newLog.setType("hunyin"); - newLog.setDataScope(scope); - // 设置查询数据范围 - formDTO.setOrgList(config.getScopeList()); - DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); - // 如果true 说明之前获取过特殊数据了 把50000补完普通数据 - if (isNum){ - formDTO.setStart(start); - formDTO.setEnd(50000-userInfoResultDTOS.size()); - dbResiList = getNatUserInfoFromDbLimit(formDTO); + } + // 建立一个最后插入log的标志 + IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity(); + newLog.setCreatedTime(new Date()); + newLog.setType("hunyin"); +// newLog.setDataScope(scope); + + // 设置查询数据范围 + formDTO.setOrgList(allScope); + DataSyncEnum anEnum = DataSyncEnum.getEnum(EpidemicConstant.DATA_CODE_MARITAL); + // 如果true 说明之前获取过特殊数据了 把50000补完普通数据 + if (isNum){ + formDTO.setStart(start); + formDTO.setEnd(50000-userInfoResultDTOS.size()); + dbResiList = getNatUserInfoFromDbLimit(formDTO); + dbResiList.addAll(userInfoResultDTOS); + newLog.setDataType(0); + newLog.setDataCount(50000-dbResiList.size()); + }else{ + // false 说明之前没有获取过特殊数据了 + formDTO.setStart(start); + formDTO.setEnd(start+50000); + dbResiList = getNatUserInfoFromDbLimit(formDTO); + // 如果不够五万了 从头再来 + if (dbResiList.size()<50000){ + // 特殊数据 + userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size()); dbResiList.addAll(userInfoResultDTOS); - newLog.setDataType(0); - newLog.setDataCount(50000-dbResiList.size()); - }else{ - // false 说明之前没有获取过特殊数据了 - formDTO.setStart(start); - formDTO.setEnd(start+50000); - dbResiList = getNatUserInfoFromDbLimit(formDTO); - // 如果不够五万了 从头再来 - if (dbResiList.size()<50000){ - // 特殊数据 - userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000-dbResiList.size()); - dbResiList.addAll(userInfoResultDTOS); - // 特殊数据不够 在获取普通数据 - if (dbResiList.size() < 50000){ - formDTO.setStart(0); - formDTO.setEnd(50000-dbResiList.size()); - dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO)); - newLog.setDataType(0); - newLog.setDataCount(50000-dbResiList.size()); + // 特殊数据不够 在获取普通数据 + if (dbResiList.size() < 50000){ + formDTO.setStart(0); + formDTO.setEnd(50000-dbResiList.size()); + dbResiList.addAll(getNatUserInfoFromDbLimit(formDTO)); + newLog.setDataType(0); + newLog.setDataCount(50000-dbResiList.size()); - }else{ - newLog.setDataType(1); - newLog.setDataCount(50000-dbResiList.size()); - } }else{ - newLog.setDataType(0); - newLog.setDataCount(start+50000); + newLog.setDataType(1); + newLog.setDataCount(50000-dbResiList.size()); } + }else{ + newLog.setDataType(0); + newLog.setDataCount(start+50000); } + } - if (CollectionUtils.isEmpty(dbResiList)) { - continue; - } - switch (anEnum) { - case HUN_YIN: - try { - //查询正常状态的居民 - hunYin(dbResiList); - resiUserTaskLogDao.insert(newLog); - log.info("======hunyin信息拉取结束======"); - } catch (Exception e) { - log.error("marry thread execute exception", e); - } - default: - log.warn("没有要处理的数据"); - } +/* if (CollectionUtils.isEmpty(dbResiList)) { + continue; + }*/ + switch (anEnum) { + case HUN_YIN: + try { + //查询正常状态的居民 + hunYin(dbResiList); + resiUserTaskLogDao.insert(newLog); + log.info("======hunyin信息拉取结束======"); + } catch (Exception e) { + log.error("marry thread execute exception", e); + } + default: + log.warn("没有要处理的数据"); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java index 417d6e6b18..ea7d2bfb94 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java @@ -4,15 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.DataSyncRecordMaritalDao; import com.epmet.dto.DataSyncRecordDeathDTO; import com.epmet.dto.DataSyncRecordMaritalDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordMaritalPageFormDTO; +import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO; import com.epmet.entity.DataSyncRecordDeathEntity; import com.epmet.entity.DataSyncRecordMaritalEntity; import com.epmet.service.DataSyncRecordMaritalService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,12 +38,16 @@ import java.util.Map; public class DataSyncRecordMaritalServiceImpl extends BaseServiceImpl implements DataSyncRecordMaritalService { @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, DataSyncRecordMaritalDTO.class); + public PageData page(DataSyncRecordMaritalPageFormDTO formDTO) { + + CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + formDTO.setAgencyId(null != staffInfoCacheResult ? staffInfoCacheResult.getAgencyId() : null); + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(),formDTO.getIsPage()); + List records = baseDao.pageSelect(formDTO.getCustomerId(),formDTO.getIdCard(), formDTO.getName(), formDTO.getAgencyId()); + + PageInfo pi = new PageInfo<>(records); + + return new PageData<>(records, pi.getTotal()); } @Override diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml index 18a11ba5d5..6d9e9fec0b 100755 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml @@ -24,5 +24,33 @@ + \ No newline at end of file From 0bea06a90e8d5989e67ca0f110a1da48d8f4617b Mon Sep 17 00:00:00 2001 From: lichao <326994889@qq.com> Date: Mon, 22 May 2023 13:53:15 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E5=A9=9A=E5=A7=BB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/DataSyncRecordMaritalDao.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml index 6d9e9fec0b..694abb548a 100755 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml @@ -27,6 +27,8 @@