diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java index 6e968d3af8..e33179fb84 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java @@ -172,6 +172,67 @@ public class YtHsResUtils { return new YtDataSyncResDTO(); } + /** + * desc:死亡数据同步 + * + * @return + */ + public static YtDataSyncResDTO hunYin(String cardNo, String userName) { + try { + tryAcquire("hunYin"); +// 1)appkey秘钥 +// 2)name姓名 必填 +// 3)idcard身份证号 必填 +// 4)start开始默认0 +// 5)limit每页记录数 + Map param = new HashMap<>(); + param.put(APP_KEY, "FH8dEJXl0WaZ8r2ZgHlNdEnoz"); + param.put("cert_num_man", cardNo); + param.put("name_man", userName); + param.put("start", 0); + param.put("limit", 1); + + log.info("hunYin api param:{}", param); + + Result result = HttpClientManager.getInstance().sendGet(SERVER_URL + "gjmzb_hydjxxhygr_sdsjzx1", param); +// String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":{\"code\":200,\"data\":{\"result\":{\"result\":\"IA:结婚\"},\"code\":\"0\",\"status\":\"success\"},\"message\":\"\"},\"total\":0}"; +// Result result = new Result().ok(mockData); + log.info("hunYin api result:{}", JSON.toJSONString(result)); + if (!result.success()) { + return new YtDataSyncResDTO(); + } + String data = result.getData(); + JSONObject jsonObject = JSON.parseObject(data); + //他们的结果是成功的 + if (jsonObject != null && StrConstant.HTTP_STATUS_OK.equals(jsonObject.getString(StrConstant.HTTP_RESP_CODE))) { + //第一层 + JSONObject firstData = JSON.parseObject(jsonObject.getString("data")); + + //第二层 data + if (firstData != null && StrConstant.HTTP_STATUS_OK.equals(firstData.getString(StrConstant.HTTP_RESP_CODE))) { + //第一层 + JSONObject secondData = JSON.parseObject(firstData.getString("data")); + if (secondData != null && secondData.getString("result") != null ) { + //第二层 data + JSONObject thirdData = JSON.parseObject(secondData.getString("result")); + Object fourthData = ""; + if (thirdData != null && thirdData.getString("result") != null){ + fourthData = thirdData.getString("result"); + } + return new YtDataSyncResDTO(200, "", fourthData.toString()); + } + } else { + log.warn("hunYin 调用蓝图接口成功但是蓝图的结果中 省平台失败"); + } + } else { + log.warn("hunYin 调用蓝图接口败"); + } + } catch (Exception e) { + log.error(String.format("烟台hunYin结果查询异常cardNo:%s", cardNo), e); + } + return new YtDataSyncResDTO(); + } + /** * desc:残疾数据同步 * diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ResiDeadTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ResiDeadTask.java new file mode 100644 index 0000000000..04a8ca81da --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ResiDeadTask.java @@ -0,0 +1,43 @@ +package com.epmet.task; + + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.DataSyncTaskParam; +import com.epmet.feign.EpmetUserOpenFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @Description:死亡 + * @Return + * @Author: lichao + * @Date: 2023/5/19 13:47 + */ +@Slf4j +@Component("resiDeadTask") +public class ResiDeadTask implements ITask { + + @Autowired + private EpmetUserOpenFeignClient userOpenFeignClient; + + @Override + public void run(String params) { + DataSyncTaskParam formDTO = new DataSyncTaskParam(); + if (StringUtils.isNotBlank(params)) { + formDTO = JSON.parseObject(params, DataSyncTaskParam.class); + } + formDTO.setCustomerId(""); + + // 死亡 + Result maritalInfoScanTask = userOpenFeignClient.deathInfoScanTask(formDTO); + if (maritalInfoScanTask.success()) { + log.info("resiDeadTask定时任务执行成功"); + } else { + log.error("resiDeadTask定时任务执行失败:" + maritalInfoScanTask.getMsg()); + } + + } +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ResiMaritalTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ResiMaritalTask.java new file mode 100644 index 0000000000..e642cd7599 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/ResiMaritalTask.java @@ -0,0 +1,43 @@ +package com.epmet.task; + + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.DataSyncTaskParam; +import com.epmet.feign.EpmetUserOpenFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @Description:婚姻状况 + * @Return + * @Author: lichao + * @Date: 2023/5/19 13:47 + */ +@Slf4j +@Component("resiMaritalTask") +public class ResiMaritalTask implements ITask { + + @Autowired + private EpmetUserOpenFeignClient userOpenFeignClient; + + @Override + public void run(String params) { + DataSyncTaskParam formDTO = new DataSyncTaskParam(); + if (StringUtils.isNotBlank(params)) { + formDTO = JSON.parseObject(params, DataSyncTaskParam.class); + } + formDTO.setCustomerId(""); + + // 婚姻 + Result maritalInfoScanTask = userOpenFeignClient.maritalInfoScanTask(formDTO); + if (maritalInfoScanTask.success()) { + log.info("resiMaritalTask定时任务执行成功"); + } else { + log.error("resiMaritalTask定时任务执行失败:" + maritalInfoScanTask.getMsg()); + } + + } +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordMaritalDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordMaritalDTO.java new file mode 100755 index 0000000000..36326c4dbe --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordMaritalDTO.java @@ -0,0 +1,109 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Data +public class DataSyncRecordMaritalDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids 含agencyId本身 + */ + private String pids; + + /** + * 网格ID + */ + private String gridId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 电话 + */ + private String mobile; + + /** + * 居民Id,ic_resi_user.id + */ + private String icResiUserId; + + /** + * 婚姻状况 + */ + private String maritalStatusName; + + /** + * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 + */ + private Integer dealStatus; + + /** + * 处理结果 + */ + private String dealResult; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserTaskLogDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserTaskLogDTO.java new file mode 100755 index 0000000000..40bc4df4cb --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserTaskLogDTO.java @@ -0,0 +1,74 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 居民定时任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Data +public class IcResiUserTaskLogDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 0:正常数据 1:特殊数据 + */ + private Integer dataType; + + /** + * 数据数量 + */ + private Integer dataCount; + + /** + * 婚姻:hunyin + */ + private String type; + + /** + * 删除标识 0.未删除 1.已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index ddc7a635e7..27d78c5329 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -1009,6 +1009,9 @@ public interface EpmetUserOpenFeignClient { @PostMapping("/epmetuser/dataSyncConfig/deathInfoScanTask") Result deathInfoScanTask(@RequestBody DataSyncTaskParam formDTO); + @PostMapping("/epmetuser/dataSyncConfig/maritalInfoScanTask") + Result maritalInfoScanTask(@RequestBody DataSyncTaskParam formDTO); + @PostMapping("/epmetuser/dataSyncConfig/disabilityInfoScanTask") Result disabilityInfoScanTask(@RequestBody DataSyncTaskParam formDTO); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 3bba7ced02..0b59de63c1 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -737,6 +737,11 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "deathInfoScanTask", formDTO); } + @Override + public Result maritalInfoScanTask(DataSyncTaskParam formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "maritalInfoScanTask", formDTO); + } + @Override public Result disabilityInfoScanTask(DataSyncTaskParam formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "disabilityInfoScanTask", formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java index 49da3ee0b9..3394910aaa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java @@ -8,11 +8,13 @@ public interface EpidemicConstant { * 残疾人 * 死亡 * 疫苗接种 + * 婚姻状况 */ String DATA_CODE_NAT = "hesuan"; String DATA_CODE_DISABILITY = "canji"; String DATA_CODE_DEATH = "siwang"; String DATA_CODE_VACCINE = "yimiaojiezhong"; + String DATA_CODE_MARITAL = "hunyin"; /** * ic_sync_job 任务类型 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java index 737bf81727..f2d6a0553f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java @@ -152,6 +152,19 @@ public class DataSyncConfigController { return new Result(); } + /** + * @Description: 婚姻信息定时拉取 + * @param formDTO: + * @Return com.epmet.commons.tools.utils.Result + * @Author: lichao + * @Date: 2023/5/18 14:39 + */ + @PostMapping("maritalInfoScanTask") + public Result maritalInfoScanTask(@RequestBody DataSyncTaskParam formDTO){ + dataSyncConfigService.maritalInfoScanTask(formDTO); + return new Result(); + } + /** * @Description 残疾信息定时拉取 * @param formDTO 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 new file mode 100755 index 0000000000..c06aea31d3 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java @@ -0,0 +1,72 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +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.service.DataSyncRecordMaritalService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@RestController +@RequestMapping("dataSyncRecordMarital") +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); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + DataSyncRecordMaritalDTO data = dataSyncRecordMaritalService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody DataSyncRecordMaritalDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + dataSyncRecordMaritalService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody DataSyncRecordMaritalDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + dataSyncRecordMaritalService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + dataSyncRecordMaritalService.delete(ids); + return new Result(); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserTaskLogController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserTaskLogController.java new file mode 100755 index 0000000000..60ad0755ca --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserTaskLogController.java @@ -0,0 +1,72 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +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.IcResiUserTaskLogDTO; +import com.epmet.service.IcResiUserTaskLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 居民定时任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@RestController +@RequestMapping("icResiUserTaskLog") +public class IcResiUserTaskLogController { + + @Autowired + private IcResiUserTaskLogService icResiUserTaskLogService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icResiUserTaskLogService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcResiUserTaskLogDTO data = icResiUserTaskLogService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcResiUserTaskLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icResiUserTaskLogService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcResiUserTaskLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icResiUserTaskLogService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icResiUserTaskLogService.delete(ids); + return new Result(); + } + +} 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 new file mode 100755 index 0000000000..772a5728db --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/DataSyncRecordMaritalDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.DataSyncRecordMaritalEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Mapper +public interface DataSyncRecordMaritalDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserTaskLogDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserTaskLogDao.java new file mode 100755 index 0000000000..92800a8c31 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserTaskLogDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcResiUserTaskLogEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 居民定时任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Mapper +public interface IcResiUserTaskLogDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordMaritalEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordMaritalEntity.java new file mode 100755 index 0000000000..b35c20530b --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordMaritalEntity.java @@ -0,0 +1,79 @@ +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; + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("data_sync_record_marital") +public class DataSyncRecordMaritalEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids 含agencyId本身 + */ + private String pids; + + /** + * 网格ID + */ + private String gridId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idCard; + + /** + * 电话 + */ + private String mobile; + + /** + * 居民Id,ic_resi_user.id + */ + private String icResiUserId; + + /** + * 婚姻状况 + */ + private String maritalStatusName; + + /** + * 处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败 + */ + private Integer dealStatus; + + /** + * 处理结果 + */ + private String dealResult; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserTaskLogEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserTaskLogEntity.java new file mode 100755 index 0000000000..19cf239e21 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserTaskLogEntity.java @@ -0,0 +1,44 @@ +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-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_resi_user_task_log") +public class IcResiUserTaskLogEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 0:正常数据 1:特殊数据 + */ + private Integer dataType; + + /** + * 数据数量 + */ + private Integer dataCount; + + /** + * 婚姻:hunyin + */ + private String type; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java index 438453f134..0eb833f62a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java @@ -14,6 +14,7 @@ public enum DataSyncEnum { SI_WANG("siwang", "死亡数据"), VACCINE("yimiaojiezhong", "疫苗接种"), OTHER("qita","其他"), + HUN_YIN("hunyin", "婚姻状况数据"), ; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordMaritalExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordMaritalExcel.java new file mode 100755 index 0000000000..9a97b80380 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordMaritalExcel.java @@ -0,0 +1,72 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Data +public class DataSyncRecordMaritalExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "客户Id") + private String customerId; + + @Excel(name = "组织Id") + private String agencyId; + + @Excel(name = "组织的pids 含agencyId本身") + private String pids; + + @Excel(name = "网格ID") + private String gridId; + + @Excel(name = "姓名") + private String name; + + @Excel(name = "身份证") + private String idCard; + + @Excel(name = "电话") + private String mobile; + + @Excel(name = "居民Id,ic_resi_user.id") + private String icResiUserId; + + @Excel(name = "婚姻状况") + private String maritalStatusName; + + @Excel(name = "处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败") + private Integer dealStatus; + + @Excel(name = "处理结果") + private String dealResult; + + @Excel(name = "删除标识:0.未删除 1.已删除") + private Integer 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/excel/IcResiUserTaskLogExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserTaskLogExcel.java new file mode 100755 index 0000000000..5c258cffd8 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiUserTaskLogExcel.java @@ -0,0 +1,51 @@ +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-18 + */ +@Data +public class IcResiUserTaskLogExcel { + + @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 = "婚姻:hunyin") + private String type; + + @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/DataSyncRecordMaritalRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/DataSyncRecordMaritalRedis.java new file mode 100755 index 0000000000..d81e5a8718 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/DataSyncRecordMaritalRedis.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; + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Component +public class DataSyncRecordMaritalRedis { + @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/redis/IcResiUserTaskLogRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiUserTaskLogRedis.java new file mode 100755 index 0000000000..9f411f156f --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiUserTaskLogRedis.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-18 + */ +@Component +public class IcResiUserTaskLogRedis { + @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/DataSyncConfigService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java index 300128bc4d..3ec906dc5a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java @@ -142,4 +142,12 @@ public interface DataSyncConfigService extends BaseService */ void vaccineInfoScanTask(DataSyncTaskParam formDTO); + /** + * @Description: 婚姻信息定时拉取 + * @param formDTO: + * @Return void + * @Author: lichao + * @Date: 2023/5/18 14:39 + */ + void maritalInfoScanTask(DataSyncTaskParam formDTO); } 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 new file mode 100755 index 0000000000..078a98ca9f --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java @@ -0,0 +1,83 @@ +package com.epmet.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.entity.DataSyncRecordDeathEntity; +import com.epmet.entity.DataSyncRecordMaritalEntity; + +import java.util.List; +import java.util.Map; + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +public interface DataSyncRecordMaritalService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2023-05-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2023-05-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return DataSyncRecordMaritalDTO + * @author generator + * @date 2023-05-18 + */ + DataSyncRecordMaritalDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-18 + */ + void save(DataSyncRecordMaritalDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-18 + */ + void update(DataSyncRecordMaritalDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2023-05-18 + */ + void delete(String[] ids); + + DataSyncRecordMaritalDTO selectOne(LambdaQueryWrapper queryWrapper); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserTaskLogService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserTaskLogService.java new file mode 100755 index 0000000000..471d321d64 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserTaskLogService.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.IcResiUserTaskLogDTO; +import com.epmet.entity.IcResiUserTaskLogEntity; + +import java.util.List; +import java.util.Map; + +/** + * 居民定时任务log + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +public interface IcResiUserTaskLogService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2023-05-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2023-05-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcResiUserTaskLogDTO + * @author generator + * @date 2023-05-18 + */ + IcResiUserTaskLogDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-18 + */ + void save(IcResiUserTaskLogDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2023-05-18 + */ + void update(IcResiUserTaskLogDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2023-05-18 + */ + 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 8d2c06dfa9..727fbbbb6a 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 @@ -29,10 +29,7 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.YtHsResUtils; import com.epmet.constant.EpidemicConstant; import com.epmet.dao.*; -import com.epmet.dto.DataSyncConfigDTO; -import com.epmet.dto.DataSyncRecordDeathDTO; -import com.epmet.dto.DataSyncRecordDisabilityDTO; -import com.epmet.dto.YTVaccineListDTO; +import com.epmet.dto.*; import com.epmet.dto.form.ConfigSwitchFormDTO; import com.epmet.dto.form.DataSyncTaskParam; import com.epmet.dto.form.ScopeSaveFormDTO; @@ -87,6 +84,8 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList) { + try { + List list = new ArrayList<>(); + for (NatUserInfoResultDTO dbResi : dbResiList) { + YtDataSyncResDTO thirdResult = YtHsResUtils.hunYin(dbResi.getIdCard(), dbResi.getName()); + if (200 != thirdResult.getCode()) { + log.warn("hunyin 调用蓝图接口失败了 继续处理下一个人"); + continue; + } + + String thirdResultData = thirdResult.getData(); + if(StringUtils.isBlank(thirdResultData)){ + continue; + } +// JSONObject thirdResultObject = JSON.parseObject(thirdResultData); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DataSyncRecordMaritalEntity::getIdCard, dbResi.getIdCard()); + //获取数据库里的记录 + DataSyncRecordMaritalDTO dbMaritaEntity = dataSyncRecordMaritalService.selectOne(queryWrapper); + + JudgeDealStatus judgeDealStatus = new JudgeDealStatus(thirdResultData, dbMaritaEntity).invokeMarital(); + if (judgeDealStatus.isStop()) { + continue; + } + + DataSyncRecordMaritalEntity entity = new DataSyncRecordMaritalEntity(); + if (dbMaritaEntity != null && StringUtils.isNotBlank(dbMaritaEntity.getId())) { + entity.setId(dbMaritaEntity.getId()); + } + entity.setCustomerId(dbResi.getCustomerId()); + entity.setAgencyId(dbResi.getAgencyId()); + entity.setPids(dbResi.getPids()); + entity.setGridId(dbResi.getGridId()); + entity.setName(dbResi.getName()); + entity.setIdCard(dbResi.getIdCard()); + entity.setIcResiUserId(dbResi.getUserId()); + //死亡未获取到数据 + if (thirdResultData != null) { + entity.setMaritalStatusName(thirdResultData); + } + + entity.setDealStatus(NumConstant.ZERO); + entity.setDealResult(StrConstant.EPMETY_STR); + if (judgeDealStatus.isNeedSetStatus) { + entity.setDealResult(judgeDealStatus.dealResult); + entity.setDealStatus(judgeDealStatus.dealStatus); + } + entity.setUpdatedTime(new Date()); + list.add(entity); + } + if (list.size() == NumConstant.ZERO) { + return; + } + dataSyncRecordMaritalService.saveOrUpdateBatch(list, NumConstant.TWO_HUNDRED); + } catch (Exception e) { + log.error("hunyin exception", e); + } + } + /** * desc:从数据库获取居民信息 * @@ -1003,6 +1064,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl configData = getConfigData(null, EpidemicConstant.DATA_CODE_MARITAL); + if (CollectionUtils.isEmpty(configData)){ + log.warn("maritalInfoScanTask not exists config data,customer is "+formDTO.getCustomerId()); + return; + } + // 取出 婚姻 拉取数据 范围 + long count = configData.stream().filter(o -> CollectionUtils.isNotEmpty(o.getScopeList())).count(); + if (count < 1) { + log.warn("maritalInfoScanTask scopeList is null"); + return; + } + + // 查询上一次定时任务 居民位置记录 + LambdaQueryWrapper logEntityLambdaQueryWrapper = new LambdaQueryWrapper().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(); + } + + } + // 建立一个最后插入log的标志 + IcResiUserTaskLogEntity newLog = new IcResiUserTaskLogEntity(); + newLog.setCreatedTime(new Date()); + newLog.setType("hunyin"); + List dbResiList = null; + + for (DataSyncConfigDTO config : configData) { + // 设置查询数据范围 + 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); + 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()); + + }else{ + 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("没有要处理的数据"); + } + } + + } } 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 new file mode 100755 index 0000000000..417d6e6b18 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java @@ -0,0 +1,92 @@ +package com.epmet.service.impl; + +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.page.PageData; +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.entity.DataSyncRecordDeathEntity; +import com.epmet.entity.DataSyncRecordMaritalEntity; +import com.epmet.service.DataSyncRecordMaritalService; +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; + +/** + * 数据同步记录-居民婚姻信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-05-18 + */ +@Service +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); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, DataSyncRecordMaritalDTO.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 DataSyncRecordMaritalDTO get(String id) { + DataSyncRecordMaritalEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, DataSyncRecordMaritalDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(DataSyncRecordMaritalDTO dto) { + DataSyncRecordMaritalEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncRecordMaritalEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DataSyncRecordMaritalDTO dto) { + DataSyncRecordMaritalEntity entity = ConvertUtils.sourceToTarget(dto, DataSyncRecordMaritalEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public DataSyncRecordMaritalDTO selectOne(LambdaQueryWrapper queryWrapper) { + DataSyncRecordMaritalEntity entity = baseDao.selectOne(queryWrapper); + return ConvertUtils.sourceToTarget(entity, DataSyncRecordMaritalDTO.class); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserTaskLogServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserTaskLogServiceImpl.java new file mode 100755 index 0000000000..3fd079eed6 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserTaskLogServiceImpl.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.IcResiUserTaskLogDao; +import com.epmet.dto.IcResiUserTaskLogDTO; +import com.epmet.entity.IcResiUserTaskLogEntity; +import com.epmet.service.IcResiUserTaskLogService; +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-18 + */ +@Service +public class IcResiUserTaskLogServiceImpl extends BaseServiceImpl implements IcResiUserTaskLogService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcResiUserTaskLogDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcResiUserTaskLogDTO.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 IcResiUserTaskLogDTO get(String id) { + IcResiUserTaskLogEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcResiUserTaskLogDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcResiUserTaskLogDTO dto) { + IcResiUserTaskLogEntity entity = ConvertUtils.sourceToTarget(dto, IcResiUserTaskLogEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcResiUserTaskLogDTO dto) { + IcResiUserTaskLogEntity entity = ConvertUtils.sourceToTarget(dto, IcResiUserTaskLogEntity.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/DataSyncRecordMaritalDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml new file mode 100755 index 0000000000..18a11ba5d5 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordMaritalDao.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserTaskLogDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserTaskLogDao.xml new file mode 100755 index 0000000000..2700f6a9f2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserTaskLogDao.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file