15 changed files with 1167 additions and 852 deletions
			
			
		@ -0,0 +1,54 @@
					 | 
				
			||||
package com.hnac.hzims.operational.maintenance.template.abstracts; | 
				
			||||
 | 
				
			||||
import com.hnac.hzims.message.dto.PlanMsgRecordDto; | 
				
			||||
import com.hnac.hzims.message.fegin.IMessageClient; | 
				
			||||
import com.hnac.hzims.operational.maintenance.template.service.TemplateService; | 
				
			||||
import lombok.RequiredArgsConstructor; | 
				
			||||
import lombok.extern.slf4j.Slf4j; | 
				
			||||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			||||
 | 
				
			||||
import javax.annotation.Resource; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @Author WL | 
				
			||||
 * @Version v1.0 | 
				
			||||
 * @Serial 1.0 | 
				
			||||
 * @Date 2023/4/14 14:27 | 
				
			||||
 */ | 
				
			||||
@Slf4j | 
				
			||||
public abstract class TemplateAbstractService implements TemplateService { | 
				
			||||
 | 
				
			||||
    @Resource | 
				
			||||
    private  IMessageClient messageClient; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 具体业务 | 
				
			||||
     * | 
				
			||||
     * @param planMsgRecord | 
				
			||||
     */ | 
				
			||||
    @Override | 
				
			||||
    public  void execute(PlanMsgRecordDto planMsgRecord) { | 
				
			||||
        //1.具体的业务逻辑
 | 
				
			||||
        PlanMsgRecordDto list = executeTemplateMessage(planMsgRecord); | 
				
			||||
        //2.保存数据
 | 
				
			||||
        saveData(list); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 推送的数据 | 
				
			||||
     * | 
				
			||||
     * @param list | 
				
			||||
     */ | 
				
			||||
    private void saveData(PlanMsgRecordDto list) { | 
				
			||||
        log.info("正在保存推送的数据"); | 
				
			||||
        messageClient.planSendMessage(list); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 执行具体的业务场景,推送消息 | 
				
			||||
     * | 
				
			||||
     * @return | 
				
			||||
     */ | 
				
			||||
    public abstract  PlanMsgRecordDto executeTemplateMessage(PlanMsgRecordDto planMsgRecord); | 
				
			||||
} | 
				
			||||
@ -0,0 +1,24 @@
					 | 
				
			||||
package com.hnac.hzims.operational.maintenance.template.service; | 
				
			||||
 | 
				
			||||
import com.hnac.hzims.message.dto.PlanMsgRecordDto; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @Author WL | 
				
			||||
 * @Version v1.0 | 
				
			||||
 * @Serial 1.0 | 
				
			||||
 * @Date 2023/4/14 14:25 | 
				
			||||
 */ | 
				
			||||
public interface TemplateService { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 模板状态 | 
				
			||||
     */ | 
				
			||||
    Boolean isTemplateStatus(int status); | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 具体业务 | 
				
			||||
     */ | 
				
			||||
    void execute(PlanMsgRecordDto planMsgRecord); | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,42 @@
					 | 
				
			||||
package com.hnac.hzims.operational.maintenance.template.serviceimpl; | 
				
			||||
 | 
				
			||||
import com.hnac.hzims.message.dto.PlanMsgRecordDto; | 
				
			||||
import com.hnac.hzims.message.fegin.IMessageClient; | 
				
			||||
import com.hnac.hzims.operational.maintenance.template.abstracts.TemplateAbstractService; | 
				
			||||
import com.hnac.hzims.operational.maintenance.template.service.TemplateService; | 
				
			||||
import org.springframework.stereotype.Service; | 
				
			||||
 | 
				
			||||
import java.util.Objects; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * 日常维护计划 | 
				
			||||
 * @Author WL | 
				
			||||
 * @Version v1.0 | 
				
			||||
 * @Serial 1.0 | 
				
			||||
 * @Date 2023/4/14 14:48 | 
				
			||||
 */ | 
				
			||||
@Service | 
				
			||||
public class MaintenanceTempleServiceImpl extends TemplateAbstractService { | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 执行具体的业务场景,推送消息 | 
				
			||||
     * | 
				
			||||
     * @return | 
				
			||||
     */ | 
				
			||||
    @Override | 
				
			||||
    public PlanMsgRecordDto executeTemplateMessage(PlanMsgRecordDto planMsgRecord) { | 
				
			||||
        planMsgRecord.setContent("距离任务执行时间已不满一小时,请及时处理"); | 
				
			||||
        return planMsgRecord; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 模板状态 | 
				
			||||
     * @param status | 
				
			||||
     */ | 
				
			||||
    @Override | 
				
			||||
    public Boolean isTemplateStatus(int status) { | 
				
			||||
        return Objects.equals(status,1); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -0,0 +1,54 @@
					 | 
				
			||||
package com.hnac.hzims.safeproduct.template.abstracts; | 
				
			||||
 | 
				
			||||
import com.hnac.hzims.message.dto.PlanMsgRecordDto; | 
				
			||||
import com.hnac.hzims.message.fegin.IMessageClient; | 
				
			||||
import com.hnac.hzims.safeproduct.template.service.TemplateService; | 
				
			||||
import lombok.RequiredArgsConstructor; | 
				
			||||
import lombok.extern.slf4j.Slf4j; | 
				
			||||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			||||
 | 
				
			||||
import javax.annotation.Resource; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @Author WL | 
				
			||||
 * @Version v1.0 | 
				
			||||
 * @Serial 1.0 | 
				
			||||
 * @Date 2023/4/14 14:27 | 
				
			||||
 */ | 
				
			||||
@Slf4j | 
				
			||||
public abstract class TemplateAbstractService implements TemplateService { | 
				
			||||
 | 
				
			||||
    @Resource | 
				
			||||
    private  IMessageClient messageClient; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 具体业务 | 
				
			||||
     * | 
				
			||||
     * @param planMsgRecord | 
				
			||||
     */ | 
				
			||||
    @Override | 
				
			||||
    public  void  execute(PlanMsgRecordDto planMsgRecord) { | 
				
			||||
        //1.具体的业务逻辑
 | 
				
			||||
        PlanMsgRecordDto list = executeTemplateMessage(planMsgRecord); | 
				
			||||
        //2.保存数据
 | 
				
			||||
        saveData(list); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 推送的数据 | 
				
			||||
     * | 
				
			||||
     * @param list | 
				
			||||
     */ | 
				
			||||
    private void saveData(PlanMsgRecordDto list) { | 
				
			||||
        log.info("正在保存推送的数据"); | 
				
			||||
        messageClient.planSendMessage(list); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 执行具体的业务场景,推送消息 | 
				
			||||
     * | 
				
			||||
     * @return | 
				
			||||
     */ | 
				
			||||
    public abstract  PlanMsgRecordDto executeTemplateMessage(PlanMsgRecordDto planMsgRecord); | 
				
			||||
} | 
				
			||||
@ -0,0 +1,24 @@
					 | 
				
			||||
package com.hnac.hzims.safeproduct.template.service; | 
				
			||||
 | 
				
			||||
import com.hnac.hzims.message.dto.PlanMsgRecordDto; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * @Author WL | 
				
			||||
 * @Version v1.0 | 
				
			||||
 * @Serial 1.0 | 
				
			||||
 * @Date 2023/4/14 14:25 | 
				
			||||
 */ | 
				
			||||
public interface TemplateService { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 模板状态 | 
				
			||||
     */ | 
				
			||||
    Boolean isTemplateStatus(int status); | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 具体业务 | 
				
			||||
     */ | 
				
			||||
    void execute(PlanMsgRecordDto planMsgRecord); | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,55 @@
					 | 
				
			||||
package com.hnac.hzims.safeproduct.template.serviceimpl; | 
				
			||||
 | 
				
			||||
import com.alibaba.fastjson.JSON; | 
				
			||||
import com.hnac.hzims.message.dto.PlanMsgRecordDto; | 
				
			||||
import com.hnac.hzims.message.fegin.IMessageClient; | 
				
			||||
import com.hnac.hzims.safeproduct.template.abstracts.TemplateAbstractService; | 
				
			||||
import com.qiniu.util.Json; | 
				
			||||
import org.springblade.system.user.cache.UserCache; | 
				
			||||
import org.springblade.system.user.entity.User; | 
				
			||||
import org.springframework.stereotype.Service; | 
				
			||||
 | 
				
			||||
import java.util.HashMap; | 
				
			||||
import java.util.Map; | 
				
			||||
import java.util.Objects; | 
				
			||||
import java.util.Optional; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * 日常维护计划 | 
				
			||||
 * @Author WL | 
				
			||||
 * @Version v1.0 | 
				
			||||
 * @Serial 1.0 | 
				
			||||
 * @Date 2023/4/14 14:48 | 
				
			||||
 */ | 
				
			||||
@Service | 
				
			||||
public class MaintenanceTempleServiceImpl extends TemplateAbstractService { | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 执行具体的业务场景,推送消息 | 
				
			||||
     * | 
				
			||||
     * @return | 
				
			||||
     */ | 
				
			||||
    @Override | 
				
			||||
    public PlanMsgRecordDto executeTemplateMessage(PlanMsgRecordDto planMsgRecord) { | 
				
			||||
        Map<String,Object> map = new HashMap<>(); | 
				
			||||
        map.put("one", | 
				
			||||
                Optional.ofNullable(UserCache.getUser(planMsgRecord.getReceiver())).map(User::getName).orElse("")); | 
				
			||||
        map.put("two", planMsgRecord.getPlanTime()); | 
				
			||||
        planMsgRecord.setContent(JSON.toJSONString(map)); | 
				
			||||
        return planMsgRecord; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 模板状态 | 
				
			||||
     * @param status | 
				
			||||
     */ | 
				
			||||
    @Override | 
				
			||||
    public Boolean isTemplateStatus(int status) { | 
				
			||||
        return Objects.equals(status,1); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue