diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EnterprisePatrolRemindTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EnterprisePatrolRemindTask.java new file mode 100644 index 0000000000..5cfaddd714 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EnterprisePatrolRemindTask.java @@ -0,0 +1,31 @@ +package com.epmet.task; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.GovOrgOpenFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/9/6 17:35 + */ +@Component("enterprisePatrolRemindTask") +@Slf4j +public class EnterprisePatrolRemindTask implements ITask { + @Resource + private GovOrgOpenFeignClient govOrgOpenFeignClient; + + @Override + public void run(String params) { + log.info("EnterprisePatrolRemindTask定时任务正在执行,参数为:{}", params); + Result result = govOrgOpenFeignClient.sendEnterprisePatrolRemindMessage(); + if (result.success()) { + log.info("EnterprisePatrolRemindTask定时任务执行成功"); + } else { + log.error("EnterprisePatrolRemindTask定时任务执行失败:" + result.getMsg()); + } + } +} diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java index 3f1ec288ac..00ad39d895 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SmsTemplateConstant.java @@ -57,4 +57,11 @@ public interface SmsTemplateConstant { * ${name}给您指派了一个新的需求,请服务完成后尽快反馈,谢谢合作。 */ String DEMAND_SERVICE_TEM="SMS_247645013"; + + /** + * 模板名称: 数字社区-企事业单位复巡查消息提醒模板 + * 模板CODE: SMS_251056077 + * 模板内容: ${name}最近一次巡查结果不合格,请在${date}再次巡查。 + */ + String ENTERPRISE_PATROL_TEM="SMS_251056077"; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 7aa747a910..cc90ddbc2f 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -712,4 +712,7 @@ public interface GovOrgOpenFeignClient { @PostMapping("/gov/org/department/notsyncdept") Result notSyncDept(@RequestBody CheckStaffInfoFormDTO formDTO); + + @PostMapping("/gov/org/enterprise/sendEnterprisePatrolRemindMessage") + Result sendEnterprisePatrolRemindMessage(); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 82af2caade..befef36cf5 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -464,6 +464,11 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "notSyncDept", formDTO); } + @Override + public Result sendEnterprisePatrolRemindMessage() { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "sendEnterprisePatrolRemindMessage", null); + } + @Override public Result> gridStaff(CustomerGridStaffListFormDTO dto) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "gridStaffList", dto); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java index 244711596d..dba64a0964 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java @@ -301,4 +301,18 @@ public class IcEnterpriseController implements ResultDataResolver { icEnterpriseService.execAsyncExcelImport(fileSavePath, rstData.getTaskId(),tokenDto.getCustomerId(),tokenDto.getUserId()); return new Result(); } + + /** + * 复查消息提醒 + * + * @Param + * @Return {@link Result} + * @Author zhaoqifeng + * @Date 2022/9/6 17:31 + */ + @PostMapping("sendEnterprisePatrolRemindMessage") + public Result sendEnterprisePatrolRemindMessage() { + icEnterpriseService.sendEnterprisePatrolRemindMessage(); + return new Result(); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java index 82057fb0cd..3f06567ca8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java @@ -68,4 +68,14 @@ public interface IcEnterpriseService extends BaseService { PageData list(EnterprisePageFormDTO formDTO); void execAsyncExcelImport(Path fileSavePath, String taskId, String customerId, String userId); + + /** + * 复查消息提醒 + * + * @Param + * @Return + * @Author zhaoqifeng + * @Date 2022/9/6 17:30 + */ + void sendEnterprisePatrolRemindMessage(); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java index a0feee5fba..88de234e7d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java @@ -19,15 +19,14 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.FileUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.SmsTemplateConstant; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.*; import com.epmet.dto.SysDictDataDTO; -import com.epmet.dto.form.EnterpriseFormDTO; -import com.epmet.dto.form.EnterprisePageFormDTO; -import com.epmet.dto.form.EnterprisePatrolFormDTO; -import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcEnterpriseEntity; import com.epmet.entity.IcEnterprisePatrolAttachmentEntity; @@ -36,6 +35,7 @@ import com.epmet.excel.EnterpriseImportExcelDTO; import com.epmet.excel.handler.IcEnterpriseExcelImportListener; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.OssFeignClient; import com.epmet.service.CoverageService; import com.epmet.service.IcEnterpriseService; @@ -55,14 +55,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.commons.CommonsMultipartFile; +import javax.annotation.Resource; import java.io.IOException; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; /** @@ -90,6 +88,8 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.apply("DATE_FORMAT(REVIEW_TIME,'%Y%m%d') = " + dateId); + List list = enterprisePatrolRecordDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(list)) { + List smsList=new ArrayList<>(); + list.forEach(item -> { + IcEnterpriseEntity enterprise = baseDao.selectById(item.getEnterpriseId()); + if (null != enterprise) { + SendSmsFormDTO sms = new SendSmsFormDTO(); + sms.setCustomerId(item.getCustomerId()); + sms.setMobile(item.getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.ENTERPRISE_PATROL_TEM); + Map paramMap = new HashMap<>(); + paramMap.put("name",enterprise.getPlaceOrgName()); + paramMap.put("date",DateUtils.format(item.getReviewTime(),DateUtils.DATE_PATTERN)); + sms.setParamMap(paramMap); + smsList.add(sms); + } + }); + messageOpenFeignClient.sendMsg(smsList); + } + } + private CustomerStaffInfoCacheResult queryCurrentStaff(String customerId, String userId) { CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); if (null == staffInfo) {