Browse Source

更新是否育龄妇女定时任务

feature/evaluate
zhaoqifeng 3 years ago
parent
commit
c14fd64161
  1. 35
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ic/IcUpdateYlfnTask.java
  2. 18
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/YlfnValueResultDTO.java
  3. 3
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  4. 5
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  5. 6
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java
  6. 11
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java
  7. 32
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java
  8. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  9. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  10. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  11. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  12. 122
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

35
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ic/IcUpdateYlfnTask.java

@ -0,0 +1,35 @@
package com.epmet.task.ic;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.task.ITask;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* desc:定时弥补数据 保证数据的一致性
*/
@Slf4j
@Component("icUpdateYlfnTask")
public class IcUpdateYlfnTask implements ITask {
@Resource
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
/**
* 执行定时任务接口
*
* @param params 参数多参数使用JSON数据
*/
@Override
public void run(String params) {
Result result = epmetUserOpenFeignClient.updateYlfn();
if (result.success()) {
log.info("icUpdateYlfnTask定时任务正在执行定时任务执行成功");
} else {
log.warn("icUpdateYlfnTask定时任务正在执行定时任务执行失败:" + result.getMsg());
}
}
}

18
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/YlfnValueResultDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/9/8 15:43
*/
@Data
public class YlfnValueResultDTO implements Serializable {
private static final long serialVersionUID = -1416102274320519092L;
private String customerId;
private Integer min;
private Integer max;
}

3
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java

@ -178,5 +178,6 @@ public interface OperCustomizeOpenFeignClient {
*/
@PostMapping("/oper/customize/icformitemoptions/getItemConditions")
Result<Map<String, String>> getOptionsMap(@RequestBody IcFormOptionsQueryFormDTO input);
@PostMapping("/oper/customize/icresicategorystatsconfig/getYlfnValue")
Result<List<YlfnValueResultDTO>> getYlfnValue();
}

5
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java

@ -142,4 +142,9 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getOptionsMap", input);
}
@Override
public Result<List<YlfnValueResultDTO>> getYlfnValue() {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getYlfnValue", null);
}
}

6
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcResiCategoryStatsConfigController.java

@ -26,6 +26,7 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.result.YlfnValueResultDTO;
import com.epmet.excel.IcResiCategoryStatsConfigExcel;
import com.epmet.service.IcResiCategoryStatsConfigService;
import org.springframework.beans.factory.annotation.Autowired;
@ -96,4 +97,9 @@ public class IcResiCategoryStatsConfigController {
return new Result<List<IcResiCategoryStatsConfigDTO>>().ok(icResiCategoryStatsConfigService.getCategoryList(dto));
}
@PostMapping("getYlfnValue")
public Result<List<YlfnValueResultDTO>> getYlfnValue() {
return new Result<List<YlfnValueResultDTO>>().ok(icResiCategoryStatsConfigService.getYlfnValue());
}
}

11
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcResiCategoryStatsConfigService.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.result.CustomerCategoryShowAndWarnListResultDTO;
import com.epmet.dto.result.YlfnValueResultDTO;
import com.epmet.entity.IcResiCategoryStatsConfigEntity;
import java.util.List;
@ -111,4 +112,14 @@ public interface IcResiCategoryStatsConfigService extends BaseService<IcResiCate
*/
List<CustomerCategoryShowAndWarnListResultDTO> getCustomerCategoryShowAndWarnList(String customerId);
/**
* 获取育龄妇女配置
*
* @Param
* @Return {@link List< YlfnValueResultDTO>}
* @Author zhaoqifeng
* @Date 2022/9/8 15:50
*/
List<YlfnValueResultDTO> getYlfnValue();
}

32
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcResiCategoryStatsConfigServiceImpl.java

@ -22,11 +22,14 @@ 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.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcResiCategoryStatsConfigDao;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.result.CustomerCategoryShowAndWarnListResultDTO;
import com.epmet.dto.result.YlfnValueResultDTO;
import com.epmet.entity.IcResiCategoryStatsConfigEntity;
import com.epmet.redis.IcResiCategoryStatsConfigRedis;
import com.epmet.service.IcResiCategoryStatsConfigService;
@ -37,6 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
/**
* 居民类别配置表
@ -137,4 +141,32 @@ public class IcResiCategoryStatsConfigServiceImpl extends BaseServiceImpl<IcResi
return new ArrayList<>();
}
/**
* 获取育龄妇女配置
*
* @Param
* @Return {@link List< YlfnValueResultDTO >}
* @Author zhaoqifeng
* @Date 2022/9/8 15:50
*/
@Override
public List<YlfnValueResultDTO> getYlfnValue() {
LambdaQueryWrapper<IcResiCategoryStatsConfigEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiCategoryStatsConfigEntity::getAutoMatching, NumConstant.ONE_STR);
wrapper.eq(IcResiCategoryStatsConfigEntity::getColumnName, "IS_YLFN");
wrapper.isNotNull(IcResiCategoryStatsConfigEntity::getYlfnValue);
List<IcResiCategoryStatsConfigEntity> list = baseDao.selectList(wrapper);
if(CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
YlfnValueResultDTO dto = new YlfnValueResultDTO();
dto.setCustomerId(item.getCustomerId());
String[] ages = item.getYlfnValue().split(StrConstant.COMMA);
dto.setMin(Integer.valueOf(ages[0]));
dto.setMax(Integer.valueOf(ages[1]));
return dto;
}).collect(Collectors.toList());
}
}

3
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -882,4 +882,7 @@ public interface EpmetUserOpenFeignClient {
*/
@PostMapping("/epmetuser/icresiuser/nonDynamic/listResi")
Result<PageData<IcResiNonDynamicResultDTO>> listResiNonDynamic(@RequestBody IcResiPageNonDynamicFormDTO input);
@PostMapping("/epmetuser/icresiuser/updateYlfn")
Result updateYlfn();
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -678,4 +678,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result<PageData<IcResiNonDynamicResultDTO>> listResiNonDynamic(IcResiPageNonDynamicFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "listResiNonDynamic", input);
}
@Override
public Result updateYlfn() {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "updateYlfn", null);
}
}

13
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -1411,4 +1411,17 @@ public class IcResiUserController implements ResultDataResolver {
return new Result<PageData<IcResiNonDynamicResultDTO>>().ok(page);
}
/**
* 更新育龄妇女状态定时任务
* @Param
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2022/9/8 17:19
*/
@PostMapping("updateYlfn")
public Result updateYlfn() {
icResiUserService.updateYlfn();
return new Result();
}
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -507,4 +507,13 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
IcUserMatchGridResultDTO icUserMatchGrid(IcUserMatchGridFormDTO formDTO);
PageData<IcResiNonDynamicResultDTO> listResiNonDynamic(Boolean fuzzy, String gridId, String name, String mobile, Integer pageNo, Integer pageSize);
/**
* 更新育龄妇女状态定时任务
* @Param
* @Return
* @Author zhaoqifeng
* @Date 2022/9/8 15:45
*/
void updateYlfn();
}

122
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -53,10 +53,7 @@ import com.epmet.commons.tools.utils.*;
import com.epmet.constant.IcPlatformConstant;
import com.epmet.constant.IcResiUserConstant;
import com.epmet.constant.UserConstant;
import com.epmet.dao.IcPartyMemberDao;
import com.epmet.dao.IcResiUserDao;
import com.epmet.dao.IcVolunteerDao;
import com.epmet.dao.UserBaseInfoDao;
import com.epmet.dao.*;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO;
@ -160,6 +157,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private DistributedLock distributedLock;
@Resource
private IcUserChangeRecordDao icUserChangeRecordDao;
@Resource
private IcUserChangeDetailedDao icUserChangeDetailedDao;
@ -3351,4 +3352,117 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
List<IcResiNonDynamicResultDTO> list = baseDao.selectList(query).stream().map((e) -> ConvertUtils.sourceToTarget(e, IcResiNonDynamicResultDTO.class)).collect(Collectors.toList());
return new PageData<IcResiNonDynamicResultDTO>(list, new PageInfo<>(list).getTotal(), pageSize);
}
/**
* 更新育龄妇女状态定时任务
*
* @Param
* @Return
* @Author zhaoqifeng
* @Date 2022/9/8 15:45
*/
@Override
public void updateYlfn() {
//获取育龄妇女配置
Result<List<YlfnValueResultDTO>> value = operCustomizeOpenFeignClient.getYlfnValue();
if(!value.success()) {
throw new EpmetException(value.getCode(), value.getMsg());
}
value.getData().forEach(item -> {
//查询客户下的非育龄妇女的女性居民
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getCustomerId, item.getCustomerId());
wrapper.eq(IcResiUserEntity::getGender, NumConstant.TWO_STR);
wrapper.eq(IcResiUserEntity::getStatus, NumConstant.ZERO_STR);
wrapper.eq(IcResiUserEntity::getIdCardType, NumConstant.ONE_STR);
List<IcResiUserEntity> list = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(user -> {
IdCardRegexUtils pares = IdCardRegexUtils.parse(user.getIdCard());
if (NumConstant.ONE_STR.equals(pares.getTypeEnum().getType())) {
if (!NumConstant.ONE_STR.equals(user.getIsYlfn())) {
//将不是育龄妇女的变为育龄妇女
if (pares.getParsedResult().getAge() >= item.getMin() && pares.getParsedResult().getAge() <= item.getMax()) {
//更新育龄妇女状态
IcResiUserEntity icResiUserEntity = new IcResiUserEntity();
icResiUserEntity.setId(user.getId());
icResiUserEntity.setIsYlfn(NumConstant.ONE_STR);
baseDao.updateById(icResiUserEntity);
//添加居民变更记录
IcUserChangeRecordEntity record = new IcUserChangeRecordEntity();
record.setCustomerId(user.getCustomerId());
record.setOperatorId("APP_USER");
record.setOperatorName("系统");
record.setIcUserId(user.getId());
record.setIcUserName(user.getName());
record.setType("category");
record.setTypeName("类别");
record.setBeforeChangeName("否");
record.setAfterChangeName("是");
record.setChangeTime(new Date());
icUserChangeRecordDao.insert(record);
//添加变更明细
IcUserChangeDetailedEntity detail = new IcUserChangeDetailedEntity();
detail.setCustomerId(user.getCustomerId());
detail.setIcUserChangeRecordId(record.getId());
detail.setPids(user.getPids());
detail.setAgencyId(user.getAgencyId());
detail.setGridId(user.getGridId());
detail.setNeighborHoodId(user.getVillageId());
detail.setBuildingId(user.getBuildId());
detail.setBuildingUnitId(user.getUnitId());
detail.setHouseId(user.getHomeId());
detail.setIcUserId(user.getId());
detail.setType("category");
detail.setTypeName("类别");
detail.setFieldName("IS_YLFN");
detail.setValue(NumConstant.ONE);
icUserChangeDetailedDao.insert(detail);
}
} else {
//将是育龄妇女的变为非育龄妇女
if (pares.getParsedResult().getAge() < item.getMin() || pares.getParsedResult().getAge() > item.getMax()) {
//更新育龄妇女状态
IcResiUserEntity icResiUserEntity = new IcResiUserEntity();
icResiUserEntity.setId(user.getId());
icResiUserEntity.setIsYlfn(NumConstant.ZERO_STR);
baseDao.updateById(icResiUserEntity);
//添加居民变更记录
IcUserChangeRecordEntity record = new IcUserChangeRecordEntity();
record.setCustomerId(user.getCustomerId());
record.setOperatorId("APP_USER");
record.setOperatorName("系统");
record.setIcUserId(user.getId());
record.setIcUserName(user.getName());
record.setType("category");
record.setTypeName("类别");
record.setBeforeChangeName("是");
record.setAfterChangeName("否");
record.setChangeTime(new Date());
icUserChangeRecordDao.insert(record);
//添加变更明细
IcUserChangeDetailedEntity detail = new IcUserChangeDetailedEntity();
detail.setCustomerId(user.getCustomerId());
detail.setIcUserChangeRecordId(record.getId());
detail.setPids(user.getPids());
detail.setAgencyId(user.getAgencyId());
detail.setGridId(user.getGridId());
detail.setNeighborHoodId(user.getVillageId());
detail.setBuildingId(user.getBuildId());
detail.setBuildingUnitId(user.getUnitId());
detail.setHouseId(user.getHomeId());
detail.setIcUserId(user.getId());
detail.setType("category");
detail.setTypeName("类别");
detail.setFieldName("IS_YLFN");
detail.setValue(NumConstant.ONE_NEG);
icUserChangeDetailedDao.insert(detail);
}
}
}
});
}
});
}
}

Loading…
Cancel
Save