diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcBuildingExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcBuildingExcel.java index 52e7a2a435..baf1cdb4a6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcBuildingExcel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcBuildingExcel.java @@ -134,6 +134,6 @@ public class IcBuildingExcel extends ExcelVerifyInfo implements Serializable { @Excel(name = "楼长身份证号") private String buildingLeaderIdCard; - @Excel(name = "楼长类型") - private String buildingLeaderType; +/* @Excel(name = "楼长类型") + private String buildingLeaderType;*/ } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java index 38df15fe5d..3a72a3f253 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/BuildingInfoModel.java @@ -47,9 +47,6 @@ public class BuildingInfoModel { @ExcelProperty(value = "楼长身份证号") private String buildingLeaderIdCard; - @ExcelProperty(value = "楼长类型") - private String buildingLeaderType; - @ExcelProperty(value = "排序") private BigDecimal sort; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index 8eb14781f5..c8a7d1fd13 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -121,6 +121,7 @@ public class BuildingServiceImpl implements BuildingService { IcBuildingDTO icBuildingDTO = ConvertUtils.sourceToTarget(formDTO, IcBuildingDTO.class); icBuildingDTO.setCustomerId(customerId); IcBuildingEntity entity = ConvertUtils.sourceToTarget(icBuildingDTO, IcBuildingEntity.class); + entity.setBuildingLeaderType("0"); icBuildingDao.insert(entity); @@ -735,6 +736,7 @@ public class BuildingServiceImpl implements BuildingService { IcBuildingDTO icBuildingDTO = ConvertUtils.sourceToTarget(formDTO, IcBuildingDTO.class); icBuildingDTO.setId(formDTO.getBuildingId()); icBuildingDTO.setCustomerId(customerId); + icBuildingDTO.setBuildingLeaderType("0"); icBuildingService.update(icBuildingDTO); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index f18b1b1b88..b465fb99f2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -648,14 +648,15 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl> page(@RequestParam Map params){ + PageData page = icResiUserDeadTaskLogService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcResiUserDeadTaskLogDTO data = icResiUserDeadTaskLogService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcResiUserDeadTaskLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icResiUserDeadTaskLogService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcResiUserDeadTaskLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icResiUserDeadTaskLogService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icResiUserDeadTaskLogService.delete(ids); + return new Result(); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java index 35bbc6266d..303366c0f6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncConfigDao.java @@ -60,6 +60,10 @@ public interface DataSyncConfigDao extends BaseDao { */ List getIdCardsByScope(DataSyncTaskParam formDTO); + List getIdCardsByScopeLimit(DataSyncTaskParam formDTO); + + List getIdCardsForSiWang(@Param("start")int start, @Param("end")int end); + DataSyncConfigDTO getConfigInfoByType(@Param("customerId") String customerId, @Param("switchStatus") String switchStatus,@Param("dataCode")String dataCode); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDeadTaskLogDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDeadTaskLogDao.java new file mode 100755 index 0000000000..b51a494890 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDeadTaskLogDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcResiUserDeadTaskLogEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 居民死亡任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-16 + */ +@Mapper +public interface IcResiUserDeadTaskLogDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserDeadTaskLogEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserDeadTaskLogEntity.java new file mode 100755 index 0000000000..79f9318880 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserDeadTaskLogEntity.java @@ -0,0 +1,39 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 居民死亡任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-16 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_resi_user_dead_task_log") +public class IcResiUserDeadTaskLogEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 0:正常数据 1:特殊数据 + */ + private Integer dataType; + + /** + * 数据数量 + */ + private Integer dataCount; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserDeadTaskLogExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserDeadTaskLogExcel.java new file mode 100755 index 0000000000..b6deb4af29 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserDeadTaskLogExcel.java @@ -0,0 +1,48 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 居民死亡任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-16 + */ +@Data +public class IcResiUserDeadTaskLogExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "客户Id customer.id") + private String customerId; + + @Excel(name = "0:正常数据 1:特殊数据") + private Integer dataType; + + @Excel(name = "数据数量") + private Integer dataCount; + + @Excel(name = "删除标识 0.未删除 1.已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiUserDeadTaskLogRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiUserDeadTaskLogRedis.java new file mode 100755 index 0000000000..764447a7e9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiUserDeadTaskLogRedis.java @@ -0,0 +1,30 @@ +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 居民死亡任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-16 + */ +@Component +public class IcResiUserDeadTaskLogRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserDeadTaskLogService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserDeadTaskLogService.java new file mode 100755 index 0000000000..6f42f28fb1 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserDeadTaskLogService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcResiUserDeadTaskLogDTO; +import com.epmet.entity.IcResiUserDeadTaskLogEntity; + +import java.util.List; +import java.util.Map; + +/** + * 居民死亡任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-16 + */ +public interface IcResiUserDeadTaskLogService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2023-05-16 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2023-05-16 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcResiUserDeadTaskLogDTO + * @author generator + * @date 2023-05-16 + */ + IcResiUserDeadTaskLogDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-16 + */ + void save(IcResiUserDeadTaskLogDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-16 + */ + void update(IcResiUserDeadTaskLogDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2023-05-16 + */ + void delete(String[] ids); +} \ No newline at end of file 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 34be77628c..0f43d25500 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 @@ -106,6 +106,9 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl logEntityLambdaQueryWrapper = new LambdaQueryWrapper().orderByDesc(IcResiUserDeadTaskLogEntity::getCreatedTime).last("limit 1"); + IcResiUserDeadTaskLogEntity logEntity = icResiUserDeadTaskLogDao.selectOne(logEntityLambdaQueryWrapper); + + List userInfoResultDTOS = new ArrayList<>(); + boolean isNum = false; + int start = 0; + if (logEntity == null){ + userInfoResultDTOS = getNatUserInfoFromDbForSiWang(0,50000); + if (userInfoResultDTOS.size() < 50000){ + isNum = true; + } + }else{ + if (logEntity.getDataType() == 1){ + userInfoResultDTOS = getNatUserInfoFromDbForSiWang(logEntity.getDataCount(),50000); + isNum = true; + }else if (logEntity.getDataType() == 0){ + start = logEntity.getDataCount(); + } + + } + + IcResiUserDeadTaskLogEntity newLog = new IcResiUserDeadTaskLogEntity(); + newLog.setCreatedTime(new Date()); List dbResiList = null; - do { - for (DataSyncConfigDTO config : configData) { - // 设置查询数据范围 - formDTO.setOrgList(config.getScopeList()); - DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); - dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); - if (CollectionUtils.isEmpty(dbResiList)) { - continue; - } - switch (anEnum) { - case SI_WANG: - try { - //查询正常状态的居民 - siWang(dbResiList); - log.info("======siWang信息拉取结束======"); - } catch (Exception e) { - log.error("death thread execute exception", e); - } - default: - log.warn("没有要处理的数据"); + + for (DataSyncConfigDTO config : configData) { + // 设置查询数据范围 + formDTO.setOrgList(config.getScopeList()); + DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); + 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{ + 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()); + + }else{ + newLog.setDataType(1); + newLog.setDataCount(50000-dbResiList.size()); + } + }else{ + newLog.setDataType(0); + newLog.setDataCount(start+50000); } } - pageNo++; - } while (dbResiList != null && dbResiList.size() == pageSize); + icResiUserDeadTaskLogDao.insert(newLog); + + if (CollectionUtils.isEmpty(dbResiList)) { + continue; + } + switch (anEnum) { + case SI_WANG: + try { + //查询正常状态的居民 + siWang(dbResiList); + + log.info("======siWang信息拉取结束======"); + } catch (Exception e) { + log.error("death thread execute exception", e); + } + default: + log.warn("没有要处理的数据"); + } + } + } /** @@ -680,6 +736,28 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl getNatUserInfoFromDbLimit(DataSyncTaskParam formDTO) { + //根据 组织 分页获取 居民数据 + List list = baseDao.getIdCardsByScopeLimit(formDTO); + return list; + } + + /** + * desc:从数据库获取居民信息死亡 + * @return + */ + public List getNatUserInfoFromDbForSiWang(int start, int end) { + + List list = baseDao.getIdCardsForSiWang(start, end); + return list; + } + private void canJi(List resiList) { try { List list = new ArrayList<>(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserDeadTaskLogServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserDeadTaskLogServiceImpl.java new file mode 100755 index 0000000000..29b5089654 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserDeadTaskLogServiceImpl.java @@ -0,0 +1,83 @@ +package com.epmet.service.impl; + +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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcResiUserDeadTaskLogDao; +import com.epmet.dto.IcResiUserDeadTaskLogDTO; +import com.epmet.entity.IcResiUserDeadTaskLogEntity; +import com.epmet.service.IcResiUserDeadTaskLogService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 居民死亡任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-16 + */ +@Service +public class IcResiUserDeadTaskLogServiceImpl extends BaseServiceImpl implements IcResiUserDeadTaskLogService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcResiUserDeadTaskLogDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcResiUserDeadTaskLogDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcResiUserDeadTaskLogDTO get(String id) { + IcResiUserDeadTaskLogEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcResiUserDeadTaskLogDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcResiUserDeadTaskLogDTO dto) { + IcResiUserDeadTaskLogEntity entity = ConvertUtils.sourceToTarget(dto, IcResiUserDeadTaskLogEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcResiUserDeadTaskLogDTO dto) { + IcResiUserDeadTaskLogEntity entity = ConvertUtils.sourceToTarget(dto, IcResiUserDeadTaskLogEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml index ea80141610..f25185a68d 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml @@ -108,6 +108,83 @@ ORDER BY CREATED_TIME + + + + + + +