diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NatInfoScanTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NatInfoScanTask.java new file mode 100644 index 0000000000..d7334fabd6 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NatInfoScanTask.java @@ -0,0 +1,40 @@ +package com.epmet.task; + + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.NatInfoScanTaskFormDTO; +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; + +/** + * @author zxc + * @dscription + * 大数据局部门配置on + * 根据范围搜索居民,调接口查询最近一次核酸检测记录 + * 检测时间 + 身份证 不存在就插入 + */ +@Slf4j +@Component("natInfoScanTask") +public class NatInfoScanTask implements ITask { + + @Autowired + private EpmetUserOpenFeignClient userOpenFeignClient; + + @Override + public void run(String params) { + NatInfoScanTaskFormDTO formDTO = new NatInfoScanTaskFormDTO(); + if (StringUtils.isNotBlank(params)) { + formDTO = JSON.parseObject(params, NatInfoScanTaskFormDTO.class); + } + Result result = userOpenFeignClient.natInfoScanTask(formDTO); + if (result.success()) { + log.info("NatInfoScanTask定时任务执行成功"); + } else { + log.error("NatInfoScanTask定时任务执行失败:" + result.getMsg()); + } + } +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncConfigDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncConfigDTO.java index a69cd3e245..ab09747448 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncConfigDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncConfigDTO.java @@ -2,6 +2,8 @@ package com.epmet.dto; import java.io.Serializable; import java.util.Date; +import java.util.List; + import lombok.Data; @@ -46,6 +48,8 @@ public class DataSyncConfigDTO implements Serializable { */ private String switchStatus; + private String dataCode; + /** * 排序 */ @@ -81,4 +85,6 @@ public class DataSyncConfigDTO implements Serializable { */ private Date updatedTime; + private List scopeList; + } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncScopeDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncScopeDTO.java index f0bf26528e..626b3d966c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncScopeDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncScopeDTO.java @@ -1,8 +1,11 @@ package com.epmet.dto; +import com.epmet.dto.form.ScopeSaveFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.Date; -import lombok.Data; /** @@ -39,12 +42,14 @@ public class DataSyncScopeDTO implements Serializable { 市级: city 省级:province */ - private String orgType; + @NotBlank(message = "orgType不能为空",groups = ScopeSaveFormDTO.ScopeSaveForm.class) + private String orgType; /** * 组织或者网格id */ - private String orgId; + @NotBlank(message = "orgId不能为空",groups = ScopeSaveFormDTO.ScopeSaveForm.class) + private String orgId; /** * org_id的上级 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatInfoScanTaskFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatInfoScanTaskFormDTO.java new file mode 100644 index 0000000000..bde6122911 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatInfoScanTaskFormDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/9/26 17:04 + * @DESC + */ +@Data +public class NatInfoScanTaskFormDTO implements Serializable { + + private static final long serialVersionUID = 3053943501957102943L; + + private String customerId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ScopeSaveFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ScopeSaveFormDTO.java new file mode 100644 index 0000000000..738ed51b59 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ScopeSaveFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import com.epmet.dto.DataSyncScopeDTO; +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/9/26 15:35 + * @DESC + */ +@Data +public class ScopeSaveFormDTO implements Serializable { + + private static final long serialVersionUID = -489844541905303736L; + + public interface ScopeSaveForm{} + + @NotBlank(message = "dataSyncConfigId不能为空",groups = ScopeSaveForm.class) + private String dataSyncConfigId; + private String customerId; + + @Valid + private List scopeList; +} 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 84b6d77d5e..a2398b2d92 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 @@ -921,4 +921,7 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/userbaseinfo/dingResiLogin") Result dingResiLogin(@RequestBody DingLoginResiFormDTO formDTO); + + @PostMapping("/epmetuser/dataSyncConfig/natInfoScanTask") + Result natInfoScanTask(@RequestBody NatInfoScanTaskFormDTO 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 5726a772cd..4601ca1ef3 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 @@ -711,4 +711,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result dingResiLogin(DingLoginResiFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "dingResiLogin", formDTO); } + + @Override + public Result natInfoScanTask(NatInfoScanTaskFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "natInfoScanTask", formDTO); + } } 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 8ce1524365..d309ffa17e 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 @@ -2,6 +2,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; @@ -12,12 +13,11 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.DataSyncConfigDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; +import com.epmet.dto.form.ScopeSaveFormDTO; import com.epmet.service.DataSyncConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Map; - /** * 数据更新配置表 @@ -32,12 +32,6 @@ public class DataSyncConfigController { @Autowired private DataSyncConfigService dataSyncConfigService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = dataSyncConfigService.page(params); - return new Result>().ok(page); - } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) public Result get(@PathVariable("id") String id){ DataSyncConfigDTO data = dataSyncConfigService.get(id); @@ -84,4 +78,31 @@ public class DataSyncConfigController { return new Result(); } + /** + * Desc: 【数据配置】列表 + * @param tokenDto + * @author zxc + * @date 2022/9/26 15:04 + */ + @PostMapping("list") + public Result list(@LoginUser TokenDto tokenDto, @RequestBody PageFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,PageFormDTO.AddUserInternalGroup.class); + return new Result().ok(dataSyncConfigService.list(tokenDto,formDTO)); + } + + /** + * Desc: 【数据配置】范围保存 + * @param tokenDto + * @param formDTO + * @author zxc + * @date 2022/9/26 15:40 + */ + @PostMapping("scopeSave") + public Result scopeSave(@LoginUser TokenDto tokenDto,@RequestBody ScopeSaveFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,ScopeSaveFormDTO.ScopeSaveForm.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + dataSyncConfigService.scopeSave(formDTO); + 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 cc9ab6f0f4..20e1c33fce 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 @@ -1,9 +1,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.DataSyncConfigDTO; +import com.epmet.dto.DataSyncScopeDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; import com.epmet.entity.DataSyncConfigEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 数据更新配置表 @@ -22,4 +27,22 @@ public interface DataSyncConfigDao extends BaseDao { */ void configSwitch(ConfigSwitchFormDTO formDTO); + /** + * Desc: 【数据配置】列表 + * @param customerId + * @author zxc + * @date 2022/9/26 15:04 + */ + List list(@Param("customerId")String customerId); + + List scopeList(@Param("id")String id); + + /** + * Desc: 删除范围 + * @param dataSyncConfigId + * @author zxc + * @date 2022/9/26 15:46 + */ + void delScope(@Param("dataSyncConfigId")String dataSyncConfigId); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncConfigEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncConfigEntity.java index a69f157437..bcacb6ab95 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncConfigEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncConfigEntity.java @@ -43,6 +43,8 @@ public class DataSyncConfigEntity extends BaseEpmetEntity { */ private String switchStatus; + private String dataCode; + /** * 排序 */ 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 2a6b4386e4..b7b3e81ae6 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 @@ -1,14 +1,14 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.DataSyncConfigDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; +import com.epmet.dto.form.ScopeSaveFormDTO; import com.epmet.entity.DataSyncConfigEntity; -import java.util.List; -import java.util.Map; - /** * 数据更新配置表 * @@ -17,26 +17,6 @@ import java.util.Map; */ public interface DataSyncConfigService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2022-09-26 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2022-09-26 - */ - List list(Map params); - /** * 单条查询 * @@ -84,4 +64,20 @@ public interface DataSyncConfigService extends BaseService * @date 2022/9/26 14:36 */ void configSwitch(ConfigSwitchFormDTO formDTO); + + /** + * Desc: 【数据配置】列表 + * @param tokenDto + * @author zxc + * @date 2022/9/26 15:04 + */ + PageData list(TokenDto tokenDto, PageFormDTO formDTO); + + /** + * Desc: 【数据配置】范围保存 + * @param formDTO + * @author zxc + * @date 2022/9/26 15:41 + */ + void scopeSave(ScopeSaveFormDTO formDTO); } \ 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 04233a0db1..2a6d214d50 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 @@ -1,22 +1,35 @@ 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.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.redis.common.bean.GridInfoCache; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.DataSyncConfigDao; import com.epmet.dto.DataSyncConfigDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; +import com.epmet.dto.form.ScopeSaveFormDTO; import com.epmet.entity.DataSyncConfigEntity; +import com.epmet.entity.DataSyncScopeEntity; import com.epmet.service.DataSyncConfigService; +import com.epmet.service.DataSyncScopeService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; 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.ArrayList; import java.util.Arrays; -import java.util.List; import java.util.Map; /** @@ -28,21 +41,8 @@ import java.util.Map; @Service public class DataSyncConfigServiceImpl extends BaseServiceImpl implements DataSyncConfigService { - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, DataSyncConfigDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, DataSyncConfigDTO.class); - } + @Autowired + private DataSyncScopeService dataSyncScopeService; private QueryWrapper getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); @@ -92,4 +92,54 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl result = new PageData<>(new ArrayList<>(), NumConstant.ZERO_L); + PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.list(tokenDto.getCustomerId())); + if (CollectionUtils.isNotEmpty(pageInfo.getList())){ + result.setList(pageInfo.getList()); + result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal()))); + } + return result; + } + + /** + * Desc: 【数据配置】范围保存 + * @param formDTO + * @author zxc + * @date 2022/9/26 15:41 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void scopeSave(ScopeSaveFormDTO formDTO) { + baseDao.delScope(formDTO.getDataSyncConfigId()); + if (CollectionUtils.isNotEmpty(formDTO.getScopeList())){ + formDTO.getScopeList().forEach(o -> { + o.setCustomerId(formDTO.getCustomerId()); + o.setDataSyncConfigId(formDTO.getDataSyncConfigId()); + if (o.getOrgType().equals("grid")){ + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(o.getOrgId()); + if (null == gridInfo){ + throw new EpmetException("查询网格信息失败"+o.getOrgId()); + } + o.setPid(gridInfo.getPid()); + o.setOrgIdPath(gridInfo.getPids() + ":" + gridInfo.getId()); + }else { + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(o.getOrgId()); + if (null == agencyInfo){ + throw new EpmetException("查询组织信息失败"+o.getOrgId()); + } + o.setPid(agencyInfo.getPid()); + o.setOrgIdPath(agencyInfo.getPids().equals(NumConstant.EMPTY_STR) || agencyInfo.getPids().equals(NumConstant.ZERO_STR) ? agencyInfo.getId() : agencyInfo.getPids() + ":" + agencyInfo.getId()); + } + }); + dataSyncScopeService.insertBatch(ConvertUtils.sourceToTarget(formDTO.getScopeList(), DataSyncScopeEntity.class)); + } + } } \ 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 b992253169..ce8921feda 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 @@ -12,4 +12,38 @@ WHERE id = #{dataSyncConfigId} AND DEPT_CODE = #{deptCode} + + + + DELETE FROM data_sync_scope WHERE DATA_SYNC_CONFIG_ID = #{dataSyncConfigId} + + + + + + + + + + + + + + + \ No newline at end of file