23 changed files with 556 additions and 12 deletions
			
			
		| @ -0,0 +1,44 @@ | |||||||
|  | package com.hnac.hzims.basic.entity; | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.annotation.SqlCondition; | ||||||
|  | import com.baomidou.mybatisplus.annotation.TableName; | ||||||
|  | import io.swagger.annotations.ApiModel; | ||||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  | import org.springblade.core.mp.support.QueryField; | ||||||
|  | import org.springblade.core.tenant.mp.TenantEntity; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  实体类 | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @TableName("hzims_certificatet_notice") | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @ApiModel(value = "证书通知配置表", description = "证书通知配置表") | ||||||
|  | public class CertificatetNoticeEntity extends TenantEntity { | ||||||
|  | 
 | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * 通知类型 | ||||||
|  | 	 */ | ||||||
|  | 	@ApiModelProperty(value = "通知类型") | ||||||
|  | 	@QueryField(condition = SqlCondition.EQUAL) | ||||||
|  | 	private String sendType; | ||||||
|  | 	/** | ||||||
|  | 	 * 距离过期前几天通知 | ||||||
|  | 	 */ | ||||||
|  | 	@ApiModelProperty(value = "距离过期前几天通知") | ||||||
|  | 	@QueryField(condition = SqlCondition.EQUAL) | ||||||
|  | 	private Integer safeTime; | ||||||
|  | 	/** | ||||||
|  | 	 * 通知用户 | ||||||
|  | 	 */ | ||||||
|  | 	@ApiModelProperty(value = "通知用户") | ||||||
|  | 	@QueryField(condition = SqlCondition.LIKE) | ||||||
|  | 	private String noticeUsers; | ||||||
|  | } | ||||||
| @ -0,0 +1,63 @@ | |||||||
|  | package com.hnac.hzims.basic.controller; | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
|  | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | import com.hnac.hzims.basic.service.IImsCertificatetNoticeService; | ||||||
|  | import io.swagger.annotations.Api; | ||||||
|  | import io.swagger.annotations.ApiOperation; | ||||||
|  | import lombok.AllArgsConstructor; | ||||||
|  | import org.springblade.core.boot.ctrl.BladeController; | ||||||
|  | import org.springblade.core.tool.api.R; | ||||||
|  | import org.springblade.core.tool.utils.ObjectUtil; | ||||||
|  | import org.springframework.web.bind.annotation.*; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 控制器 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | @RestController | ||||||
|  | @AllArgsConstructor | ||||||
|  | @RequestMapping("/certificatetNotice") | ||||||
|  | @Api(value = "档案通知配置页面", tags = "档案通知配置页面") | ||||||
|  | public class CertificatetNoticeController extends BladeController { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     private final IImsCertificatetNoticeService iImsCertificatetNoticeService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 新增或修改 | ||||||
|  |      */ | ||||||
|  |     @PostMapping("/submit") | ||||||
|  |     @ApiOperationSupport(order = 1) | ||||||
|  |     @ApiOperation(value = "增加", notes = "传入imsDutyClass") | ||||||
|  |     public R submit(@RequestBody CertificatetNoticeEntity certificatetNoticeEntity) { | ||||||
|  |         Boolean submit = iImsCertificatetNoticeService.saveOrUpdate(certificatetNoticeEntity); | ||||||
|  |         if (submit) { | ||||||
|  |             return R.success("保存成功"); | ||||||
|  |         } | ||||||
|  |         return R.fail("保存失败"); | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 新增或修改 | ||||||
|  |      */ | ||||||
|  |     @PostMapping("/getCertificatetNotice") | ||||||
|  |     @ApiOperationSupport(order = 1) | ||||||
|  |     @ApiOperation(value = "增加", notes = "传入imsDutyClass") | ||||||
|  |     public R getCertificatetNotice() { | ||||||
|  |         CertificatetNoticeEntity res = iImsCertificatetNoticeService.getOne(Wrappers.<CertificatetNoticeEntity>lambdaQuery() | ||||||
|  |                 .eq(CertificatetNoticeEntity::getIsDeleted, 0) | ||||||
|  |                 .last("limit 1;")); | ||||||
|  |         if (ObjectUtil.isNotEmpty(res)) { | ||||||
|  |             return R.data(res); | ||||||
|  |         } | ||||||
|  |         return R.data(""); | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package com.hnac.hzims.basic.mapper; | ||||||
|  | 
 | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | import org.apache.ibatis.annotations.Mapper; | ||||||
|  | import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  Mapper 接口 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | @Mapper | ||||||
|  | public interface CertificatetNoticeMapper extends UserDataScopeBaseMapper<CertificatetNoticeEntity> { | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,6 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8" ?> | ||||||
|  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > | ||||||
|  | <mapper namespace="com.hnac.hzims.basic.mapper.CertificatetNoticeMapper"> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | </mapper> | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | package com.hnac.hzims.basic.service; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  服务类 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | public interface IImsCertificatetNoticeService extends IService<CertificatetNoticeEntity> { | ||||||
|  | } | ||||||
| @ -0,0 +1,20 @@ | |||||||
|  | package com.hnac.hzims.basic.service.impl; | ||||||
|  | 
 | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | import com.hnac.hzims.basic.mapper.CertificatetNoticeMapper; | ||||||
|  | import com.hnac.hzims.basic.service.IImsCertificatetNoticeService; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import lombok.extern.slf4j.Slf4j; | ||||||
|  | import org.springblade.core.mp.base.BaseServiceImpl; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 证书实现类 | ||||||
|  |  * @author ty | ||||||
|  |  */ | ||||||
|  | @Service | ||||||
|  | @Slf4j | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | public class CertificatetNoticeServiceImpl extends BaseServiceImpl<CertificatetNoticeMapper, CertificatetNoticeEntity> implements IImsCertificatetNoticeService { | ||||||
|  | } | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package com.hnac.hzims.scheduled.mapper.basic; | ||||||
|  | 
 | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetEntity; | ||||||
|  | import org.apache.ibatis.annotations.Mapper; | ||||||
|  | import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  Mapper 接口 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | @Mapper | ||||||
|  | public interface CertificatetMapper extends UserDataScopeBaseMapper<CertificatetEntity> { | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,6 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8" ?> | ||||||
|  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > | ||||||
|  | <mapper namespace="com.hnac.hzims.scheduled.mapper.basic.CertificatetMapper"> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | </mapper> | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package com.hnac.hzims.scheduled.mapper.basic; | ||||||
|  | 
 | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | import org.apache.ibatis.annotations.Mapper; | ||||||
|  | import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  Mapper 接口 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | @Mapper | ||||||
|  | public interface CertificatetNoticeMapper extends UserDataScopeBaseMapper<CertificatetNoticeEntity> { | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,6 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8" ?> | ||||||
|  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > | ||||||
|  | <mapper namespace="com.hnac.hzims.scheduled.mapper.basic.CertificatetNoticeMapper"> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | </mapper> | ||||||
| @ -0,0 +1,29 @@ | |||||||
|  | package com.hnac.hzims.scheduled.mapper.basic; | ||||||
|  | 
 | ||||||
|  | import com.hnac.hzims.basic.entity.PersonManagemetEntity; | ||||||
|  | import com.hnac.hzims.basic.vo.PersonManagemetVo; | ||||||
|  | import org.apache.ibatis.annotations.Mapper; | ||||||
|  | import org.apache.ibatis.annotations.Param; | ||||||
|  | import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; | ||||||
|  | 
 | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  Mapper 接口 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | @Mapper | ||||||
|  | public interface PersonManagemetMapper extends UserDataScopeBaseMapper<PersonManagemetEntity> { | ||||||
|  | 
 | ||||||
|  |     List<PersonManagemetVo> getPersonManagemetEntity( | ||||||
|  |             @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime, | ||||||
|  |             @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job, | ||||||
|  |             @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status, @Param(value = "current")Integer current, @Param(value = "size")Integer size) ; | ||||||
|  |     Integer getCountByPersonManagemetEntity( | ||||||
|  |             @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime, | ||||||
|  |             @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job, | ||||||
|  |             @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status, @Param(value = "current")Integer current, @Param(value = "size")Integer size) ; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,97 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8" ?> | ||||||
|  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > | ||||||
|  | <mapper namespace="com.hnac.hzims.scheduled.mapper.basic.PersonManagemetMapper"> | ||||||
|  | 
 | ||||||
|  |     <!--嵌套结果的 resultMap--> | ||||||
|  |     <resultMap id="PersonManagemetMap" type="com.hnac.hzims.basic.vo.PersonManagemetVo"> | ||||||
|  |         <id property="id" column="id" jdbcType="VARCHAR" /> | ||||||
|  |         <result property="name" column="name" jdbcType="VARCHAR" /> | ||||||
|  |         <result property="unitName" column="unitName" jdbcType="VARCHAR" /> | ||||||
|  |         <result property="sex" column="sex" jdbcType="VARCHAR" /> | ||||||
|  |         <result property="job" column="job" jdbcType="VARCHAR" /> | ||||||
|  |         <result property="academicTitle" column="academic_title" jdbcType="VARCHAR"/> | ||||||
|  |         <result property="phone" column="phone" jdbcType="VARCHAR"/> | ||||||
|  |         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> | ||||||
|  |         <collection property="certificatetEntityList" ofType="com.hnac.hzims.basic.entity.CertificatetEntity"> | ||||||
|  |             <id property="id" column="certificatetId" /> | ||||||
|  |             <result property="personId" column="person_id" /> | ||||||
|  |             <result property="type" column="type" /> | ||||||
|  |             <result property="deadTime" column="dead_time" /> | ||||||
|  |             <result property="pic" column="pic" /> | ||||||
|  |             <result property="status" column="status" /> | ||||||
|  |             <result property="isDead" column="isDead" /> | ||||||
|  |         </collection> | ||||||
|  |     </resultMap> | ||||||
|  | 
 | ||||||
|  |     <!--嵌套查询--> | ||||||
|  |     <select id="getPersonManagemetEntity" resultMap="PersonManagemetMap"> | ||||||
|  |         select a.id ,a.name,a.unit_name ,a.sex,a.job ,a.academic_title,a.phone ,a.CREATE_TIME, | ||||||
|  |                 b.id as certificatetId,b.person_id,b.type,b.dead_time,b.pic,b.CREATE_TIME,b.status,b.create_dept, | ||||||
|  |         case when b.dead_time < NOW() then "过期" else "未过期" end as isDead | ||||||
|  |         from hzims_person_managemet as a | ||||||
|  |         left join hzims_certificatet as b | ||||||
|  |         on a.id=b.person_id | ||||||
|  |         where a.is_deleted = 0 and b.is_deleted = 0 | ||||||
|  |         <if test="type != null and type != ''"> | ||||||
|  |             and b.type = #{type} | ||||||
|  |         </if> | ||||||
|  |         <if test="deadStartTime != null and type != ''"> | ||||||
|  |             and b.dead_time  >= #{deadStartTime} | ||||||
|  |         </if> | ||||||
|  |         <if test="deadTime != null and type != ''"> | ||||||
|  |             and b.dead_time <=  #{deadTime} | ||||||
|  |         </if> | ||||||
|  |         <if test="name != null and name != ''"> | ||||||
|  |             and a.name like CONCAT('%',#{name},'%') | ||||||
|  |         </if> | ||||||
|  |         <if test="unitName != null and unitName != ''"> | ||||||
|  |             and a.unit_name like CONCAT('%',#{unitName},'%') | ||||||
|  |         </if> | ||||||
|  |         <if test="sex != null and sex != ''"> | ||||||
|  |             and a.sex = #{sex} | ||||||
|  |         </if> | ||||||
|  |         <if test="job != null and job != ''"> | ||||||
|  |             and a.job like CONCAT('%',#{job},'%') | ||||||
|  |         </if> | ||||||
|  |         <if test="academicTitle != null and academicTitle != ''"> | ||||||
|  |             and a.academic_title like CONCAT('%',#{academic_title},'%') | ||||||
|  |         </if> | ||||||
|  |         LIMIT #{current}, #{size} | ||||||
|  |     </select> | ||||||
|  |     <!--嵌套查询--> | ||||||
|  |     <select id="getCountByPersonManagemetEntity" resultType="Integer"> | ||||||
|  |         select count(*) | ||||||
|  |         from hzims_person_managemet as a | ||||||
|  |         left join hzims_certificatet as b | ||||||
|  |         on a.id=b.person_id | ||||||
|  |         where a.is_deleted = 0 and b.is_deleted = 0 | ||||||
|  |         <if test="type != null and type != ''"> | ||||||
|  |             and b.type = #{type} | ||||||
|  |         </if> | ||||||
|  |         <if test="deadStartTime != null and type != ''"> | ||||||
|  |             and b.dead_time  >= #{deadStartTime} | ||||||
|  |         </if> | ||||||
|  |         <if test="deadTime != null and type != ''"> | ||||||
|  |             and b.dead_time <=  #{deadTime} | ||||||
|  |         </if> | ||||||
|  |         <if test="name != null and name != ''"> | ||||||
|  |             and a.name like CONCAT('%',#{name},'%') | ||||||
|  |         </if> | ||||||
|  |         <if test="unitName != null and unitName != ''"> | ||||||
|  |             and a.unit_name like CONCAT('%',#{unitName},'%') | ||||||
|  |         </if> | ||||||
|  |         <if test="sex != null and sex != ''"> | ||||||
|  |             and a.sex = #{sex} | ||||||
|  |         </if> | ||||||
|  |         <if test="job != null and job != ''"> | ||||||
|  |             and a.job like CONCAT('%',#{job},'%') | ||||||
|  |         </if> | ||||||
|  |         <if test="academicTitle != null and academicTitle != ''"> | ||||||
|  |             and a.academic_title like CONCAT('%',#{academic_title},'%') | ||||||
|  |         </if> | ||||||
|  |         <if test="status != null and status != ''"> | ||||||
|  |             and b.status =#{status} | ||||||
|  |         </if> | ||||||
|  |     </select> | ||||||
|  | </mapper> | ||||||
|  | 
 | ||||||
| @ -0,0 +1,141 @@ | |||||||
|  | package com.hnac.hzims.scheduled.scheduled; | ||||||
|  | 
 | ||||||
|  | import com.alibaba.fastjson.JSONObject; | ||||||
|  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetEntity; | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | import com.hnac.hzims.basic.entity.PersonManagemetEntity; | ||||||
|  | import com.hnac.hzims.message.MessageConstants; | ||||||
|  | import com.hnac.hzims.message.dto.BusinessMessageDTO; | ||||||
|  | import com.hnac.hzims.message.entity.config.SmsConfigEntity; | ||||||
|  | import com.hnac.hzims.message.fegin.IMessageClient; | ||||||
|  | import com.hnac.hzims.message.fegin.IMessageConfigClient; | ||||||
|  | import com.hnac.hzims.scheduled.mapper.basic.PersonManagemetMapper; | ||||||
|  | import com.hnac.hzims.scheduled.service.basic.IImsCertificatetNoticeService; | ||||||
|  | import com.hnac.hzims.scheduled.service.basic.IImsCertificatetService; | ||||||
|  | import com.xxl.job.core.biz.model.ReturnT; | ||||||
|  | import com.xxl.job.core.handler.annotation.XxlJob; | ||||||
|  | import lombok.extern.slf4j.Slf4j; | ||||||
|  | import org.springblade.core.tool.api.R; | ||||||
|  | import org.springblade.core.tool.utils.CollectionUtil; | ||||||
|  | import org.springblade.core.tool.utils.DateUtil; | ||||||
|  | import org.springblade.core.tool.utils.Func; | ||||||
|  | import org.springblade.core.tool.utils.ObjectUtil; | ||||||
|  | import org.springblade.system.feign.ISysClient; | ||||||
|  | import org.springblade.system.user.cache.UserCache; | ||||||
|  | import org.springblade.system.user.entity.User; | ||||||
|  | import org.springblade.system.user.feign.IUserClient; | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  | import org.springframework.stereotype.Component; | ||||||
|  | 
 | ||||||
|  | import java.text.ParseException; | ||||||
|  | import java.text.SimpleDateFormat; | ||||||
|  | import java.util.*; | ||||||
|  | import java.util.stream.Collectors; | ||||||
|  | 
 | ||||||
|  | import static com.hnac.hzims.operational.main.constant.MainConstants.*; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 排班到期定时任务通知 | ||||||
|  |  * | ||||||
|  |  * @author ty | ||||||
|  |  */ | ||||||
|  | @Slf4j | ||||||
|  | @Component | ||||||
|  | public class basicScheduledTask { | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     private IImsCertificatetService iImsCertificatetService; | ||||||
|  |     @Autowired | ||||||
|  |     private IImsCertificatetNoticeService iImsCertificatetNoticeService; | ||||||
|  |     @Autowired | ||||||
|  |     private ISysClient sysClient; | ||||||
|  |     @Autowired | ||||||
|  |     private IUserClient userClient; | ||||||
|  |     @Autowired | ||||||
|  |     private IMessageClient messageClient; | ||||||
|  |     @Autowired | ||||||
|  |     private PersonManagemetMapper personManagemetMapper; | ||||||
|  |     @Autowired | ||||||
|  |     private IMessageConfigClient messageConfigClient; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * realId刷新 | ||||||
|  |      */ | ||||||
|  |     @XxlJob(CERTIFICATET_DEAD_LINE_NOTICE) | ||||||
|  | //    @Scheduled(cron = "0 */1 * * * ? ")
 | ||||||
|  |     public ReturnT<String> certificatetDeadLineNotice(String param) throws ParseException { | ||||||
|  |         Date endTime = new Date(); | ||||||
|  |         if (Func.isBlank(param)) { | ||||||
|  |             endTime = new SimpleDateFormat("yyyy-MM-dd").parse(param); | ||||||
|  |         } | ||||||
|  |         CertificatetNoticeEntity noticeEntity = iImsCertificatetNoticeService.getOne(Wrappers.<CertificatetNoticeEntity>lambdaQuery() | ||||||
|  |                 .eq(CertificatetNoticeEntity::getIsDeleted, 0) | ||||||
|  |                 .last("limit 1;")); | ||||||
|  |         //用户档案过期截止时间
 | ||||||
|  |         Date date = DateUtil.plusDays(endTime, noticeEntity.getSafeTime()); | ||||||
|  |         List<CertificatetEntity> list = iImsCertificatetService.list(Wrappers.<CertificatetEntity>lambdaQuery() | ||||||
|  |                 .le(CertificatetEntity::getDeadTime, date)); | ||||||
|  |         String noticeUsers = noticeEntity.getNoticeUsers(); | ||||||
|  |         List<String> userList = Arrays.asList(noticeUsers.split(",")); | ||||||
|  |         if (CollectionUtil.isNotEmpty(userList) && CollectionUtil.isNotEmpty(list)) { | ||||||
|  |             List<String> personIds = list.stream().map(CertificatetEntity::getPersonId).collect(Collectors.toList()); | ||||||
|  |             List<PersonManagemetEntity> personManagemetEntities = personManagemetMapper.selectList(Wrappers.<PersonManagemetEntity>query().lambda().in(PersonManagemetEntity::getId, personIds)); | ||||||
|  |             String personNotice=""; | ||||||
|  |             if (CollectionUtil.isNotEmpty(personManagemetEntities)) { | ||||||
|  |                 personNotice = personManagemetEntities.stream().map(PersonManagemetEntity::getName).collect(Collectors.joining(",")); | ||||||
|  |             } | ||||||
|  |             if ("1".equals(noticeEntity.getSendType())) { | ||||||
|  |                 sendSmsByUserList(userList, date,personNotice); | ||||||
|  |             } | ||||||
|  |             sendMessage(list.get(0), noticeEntity.getSafeTime(), noticeEntity.getNoticeUsers(),personNotice); | ||||||
|  |         } | ||||||
|  |         return new ReturnT<>("SUCCESS"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void sendSmsByUserList(List<String> userList, Date date,String personNotice) { | ||||||
|  |         //区分用户
 | ||||||
|  |         for (String s : userList) { | ||||||
|  |             User user = UserCache.getUser(Long.valueOf(s)); | ||||||
|  |             String phone = ""; | ||||||
|  |             if (ObjectUtil.isNotEmpty(user)) { | ||||||
|  |                 phone = user.getPhone(); | ||||||
|  |             } | ||||||
|  |             //短信推送
 | ||||||
|  |             String code = "certificatetNotice"; | ||||||
|  |             SmsConfigEntity smsConfigEntity = messageConfigClient.getSmsConfigByBusinessKey(code); | ||||||
|  |             Map<String, String> contentParams = new HashMap<>(2); | ||||||
|  |             contentParams.put("one", personNotice); | ||||||
|  |             String deadLine = DateUtil.format(date, "yyyy-MM-dd"); | ||||||
|  |             contentParams.put("two", deadLine); | ||||||
|  |             smsConfigEntity.setTemplateParam(JSONObject.toJSONString(contentParams)); | ||||||
|  |             smsConfigEntity.setPhones(phone); | ||||||
|  |             messageConfigClient.pushSmsMessageByConfig(smsConfigEntity); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void sendMessage(CertificatetEntity certificatetEntity, Integer date, String users,String personNotice) { | ||||||
|  | //        //注意:通知人是创建人所在机构
 | ||||||
|  |         BusinessMessageDTO message = new BusinessMessageDTO(); | ||||||
|  |         message.setBusinessClassify("system"); | ||||||
|  |         message.setBusinessKey(MessageConstants.BusinessClassifyEnum.CERTIFICATETNOTICE.getKey()); | ||||||
|  |         message.setSubject(MessageConstants.BusinessClassifyEnum.CERTIFICATETNOTICE.getDescription()); | ||||||
|  |         message.setTaskId(System.currentTimeMillis()); | ||||||
|  |         message.setTenantId("200000"); | ||||||
|  |         String countent = | ||||||
|  |                  personNotice + "的证书即将到期,请提交新的证书资料"; | ||||||
|  |         message.setContent(countent); | ||||||
|  |         message.setDeptId(certificatetEntity.getCreateDept()); | ||||||
|  |         R<String> deptName = sysClient.getDeptName(certificatetEntity.getCreateDept()); | ||||||
|  |         if (deptName.isSuccess()) { | ||||||
|  |             message.setDeptName(deptName.getData()); | ||||||
|  |         } | ||||||
|  |         message.setUserIds(users); | ||||||
|  |         User admin = userClient.userByAccount("200000", "admin").getData(); | ||||||
|  |         message.setCreateUser(admin.getId()); | ||||||
|  |         messageClient.sendAppAndWsMsgByUsers(message); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | package com.hnac.hzims.scheduled.service.basic; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  服务类 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | public interface IImsCertificatetNoticeService extends IService<CertificatetNoticeEntity> { | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | package com.hnac.hzims.scheduled.service.basic; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetEntity; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  *  服务类 | ||||||
|  |  * | ||||||
|  |  * @author Chill | ||||||
|  |  */ | ||||||
|  | public interface IImsCertificatetService extends IService<CertificatetEntity> { | ||||||
|  | } | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | package com.hnac.hzims.scheduled.service.basic.impl; | ||||||
|  | 
 | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; | ||||||
|  | import com.hnac.hzims.scheduled.mapper.basic.CertificatetNoticeMapper; | ||||||
|  | import com.hnac.hzims.scheduled.service.basic.IImsCertificatetNoticeService; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import lombok.extern.slf4j.Slf4j; | ||||||
|  | 
 | ||||||
|  | import org.springblade.core.mp.base.BaseServiceImpl; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 证书实现类 | ||||||
|  |  * @author ty | ||||||
|  |  */ | ||||||
|  | @Service | ||||||
|  | @Slf4j | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | public class CertificatetNoticeServiceImpl extends BaseServiceImpl<CertificatetNoticeMapper, CertificatetNoticeEntity> implements IImsCertificatetNoticeService { | ||||||
|  | } | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | package com.hnac.hzims.scheduled.service.basic.impl; | ||||||
|  | 
 | ||||||
|  | import com.hnac.hzims.basic.entity.CertificatetEntity; | ||||||
|  | import com.hnac.hzims.scheduled.mapper.basic.CertificatetMapper; | ||||||
|  | import com.hnac.hzims.scheduled.service.basic.IImsCertificatetService; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import lombok.extern.slf4j.Slf4j; | ||||||
|  | import org.springblade.core.mp.base.BaseServiceImpl; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 证书实现类 | ||||||
|  |  * @author ty | ||||||
|  |  */ | ||||||
|  | @Service | ||||||
|  | @Slf4j | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | public class CertificatetServiceImpl extends BaseServiceImpl<CertificatetMapper, CertificatetEntity> implements IImsCertificatetService { | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in new issue