From d54b8d2372ff5cf685c10c66f094df7d3b91ecbf Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期三, 17 七月 2024 15:51:52 +0800 Subject: [PATCH] 跳板机状态反馈 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/PcAppRunRealDataServiceImpl.java | 18 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/PcAppRunRealDataMapper.java | 14 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IPcAppRunRealDataService.java | 14 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/PcAppRunRealDataMapper.xml | 5 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunHisData.java | 69 +++++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java | 112 ++++++++++++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunRealData.java | 69 +++++++++++ 7 files changed, 301 insertions(+), 0 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunHisData.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunHisData.java new file mode 100644 index 0000000..818075b --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunHisData.java @@ -0,0 +1,69 @@ +package org.jeecg.modules.mdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: app杩愯鍘嗗彶琛� + * @Author: lius + * @Date: 2024-07-17 + * @Version: V1.0 + */ +@Data +@TableName("pcAppRunHisData") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "pcAppRunHisData瀵硅薄", description = "app杩愯鍘嗗彶琛�") +public class PcAppRunHisData implements Serializable { + + private static final long serialVersionUID = -4306230586083354342L; + + /** + * 鏇存柊鏃堕棿 + */ + @Excel(name = "鏇存柊鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃堕棿") + private Date collecttime; + /** + * 浜х嚎id + */ + @Excel(name = "浜х嚎id", width = 15) + @ApiModelProperty(value = "浜х嚎id") + private String machineid; + /** + * app鍚嶇О + */ + @Excel(name = "app鍚嶇О", width = 15) + @ApiModelProperty(value = "app鍚嶇О") + private String appname; + /** + * app鎻忚堪 + */ + @Excel(name = "app鎻忚堪", width = 15) + @ApiModelProperty(value = "app鎻忚堪") + private String appdescribe; + /** + * 鐘舵��(1姝e父 0寮傚父) + */ + @Excel(name = "鐘舵��", width = 15) + @ApiModelProperty(value = "鐘舵��") + private Integer oporation; + /** + * 鏄惁棣栨鍚姩 + */ + @Excel(name = "鏄惁棣栨鍚姩", width = 15) + @ApiModelProperty(value = "鏄惁棣栨鍚姩") + private Integer isfirst; +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunRealData.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunRealData.java new file mode 100644 index 0000000..3d17919 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/PcAppRunRealData.java @@ -0,0 +1,69 @@ +package org.jeecg.modules.mdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: app杩愯瀹炴椂鐘舵�佽〃 + * @Author: lius + * @Date: 2024-07-17 + * @Version: V1.0 + */ +@Data +@TableName("pcAppRunRealData") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "pcAppRunRealData瀵硅薄", description = "app杩愯瀹炴椂鐘舵�佽〃") +public class PcAppRunRealData implements Serializable { + + private static final long serialVersionUID = -6241954790799443543L; + + /** + * 浜х嚎id + */ + @Excel(name = "浜х嚎id", width = 15) + @ApiModelProperty(value = "浜х嚎id") + private String machineid; + /** + * app鍚嶇О + */ + @Excel(name = "app鍚嶇О", width = 15) + @ApiModelProperty(value = "app鍚嶇О") + private String appname; + /** + * 璁板綍鏃堕棿 + */ + @Excel(name = "璁板綍鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "璁板綍鏃堕棿") + private Date collecttime; + /** + * app鎻忚堪 + */ + @Excel(name = "app鎻忚堪", width = 15) + @ApiModelProperty(value = "app鎻忚堪") + private String appdescribe; + /** + * 鐘舵��(1姝e父 0寮傚父) + */ + @Excel(name = "鐘舵��", width = 15) + @ApiModelProperty(value = "鐘舵��(1姝e父 0寮傚父)") + private Integer oporation; + /** + * 鏄惁棣栨鍚姩(1鏄� 0鍚�) + */ + @Excel(name = "鏄惁棣栨鍚姩", width = 15) + @ApiModelProperty(value = "鏄惁棣栨鍚姩(1鏄� 0鍚�)") + private Integer isfirst; +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java new file mode 100644 index 0000000..d427424 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/PcAppRunScanJob.java @@ -0,0 +1,112 @@ +package org.jeecg.modules.mdc.job; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.mdc.entity.MdcFeedback; +import org.jeecg.modules.mdc.entity.PcAppRunRealData; +import org.jeecg.modules.mdc.service.IMdcFeedbackService; +import org.jeecg.modules.mdc.service.IPcAppRunRealDataService; +import org.jeecg.modules.mdc.util.DateUtils; +import org.jeecg.modules.mdc.util.ThrowableUtil; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; +import org.jeecg.modules.system.entity.MdcProduction; +import org.jeecg.modules.system.service.IMdcProductionService; +import org.jeecg.modules.system.service.ISysAnnouncementService; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * 璺虫澘鏈虹姸鎬佺洃鎺� + * + * @author Lius + * @date 2024/7/17 10:33 + */ +@Slf4j +public class PcAppRunScanJob implements Job { + + @Resource + private ISysQuartzLogService sysQuartzLogService; + + @Resource + private IQuartzJobService quartzJobService; + + @Resource + private ISysAnnouncementService sysAnnouncementService; + + @Resource + private IMdcFeedbackService mdcFeedbackService; + + @Resource + private IPcAppRunRealDataService pcAppRunRealDataService; + + @Resource + private IMdcProductionService mdcProductionService; + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + log.info("瀹氭椂鐩戞帶璺虫澘鏈虹姸鎬佷换鍔� PcAppRunScanJob start! 鏃堕棿:" + DateUtils.getNow()); + long startTime = System.currentTimeMillis(); + try { + // step.1 鏌ヨ鐘舵�佷负O + List<PcAppRunRealData> pcAppRunRealDataList = pcAppRunRealDataService.list(); + if (pcAppRunRealDataList != null && !pcAppRunRealDataList.isEmpty()) { + for (PcAppRunRealData pcAppRunRealData : pcAppRunRealDataList) { + MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionName, pcAppRunRealData.getMachineid())); + Integer oporation = pcAppRunRealData.getOporation(); + Date collectTime = pcAppRunRealData.getCollecttime(); + long second = DateUtils.differentSecond(collectTime, DateUtils.getNow()); + MdcFeedback mdcFeedback = new MdcFeedback(); + if (oporation.equals(CommonConstant.DEL_FLAG_1)) { + // 瓒呰繃10鍒嗛挓鍒欐姤璀� + if (second > 600) { + //鐘舵�佸紓甯告彃鍏ラ棶棰樺弽棣堣褰� + List<MdcFeedback> list = mdcFeedbackService.list(new LambdaQueryWrapper<MdcFeedback>().like(MdcFeedback::getContent, pcAppRunRealData.getAppdescribe())); + if (list == null || list.isEmpty()) { + mdcFeedback.setProductionId(mdcProduction.getId()); + mdcFeedback.setContent(pcAppRunRealData.getAppdescribe() + "杩炴帴寮傚父锛�"); + } + } else { + //鐘舵�佹甯告煡璇㈤棶棰樺弽棣堝垹闄よ褰� + mdcFeedbackService.remove(new LambdaQueryWrapper<MdcFeedback>().like(MdcFeedback::getContent, pcAppRunRealData.getAppdescribe())); + } + } else { + //鐘舵�佸紓甯告彃鍏ラ棶棰樺弽棣堣褰� + List<MdcFeedback> list = mdcFeedbackService.list(new LambdaQueryWrapper<MdcFeedback>().like(MdcFeedback::getContent, pcAppRunRealData.getAppdescribe())); + if (list == null || list.isEmpty()) { + mdcFeedback.setProductionId(mdcProduction.getId()); + mdcFeedback.setContent(pcAppRunRealData.getAppdescribe() + "杩炴帴寮傚父锛�"); + } + } + if (StringUtils.isNotBlank(mdcFeedback.getProductionId())) { + mdcFeedbackService.save(mdcFeedback); + } + } + } + quartzLog.setIsSuccess(0); + } catch (Exception e) { + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + // 鍙戦�佹秷鎭�氱煡 + sysAnnouncementService.jobSendMessage("瀹氭椂鐩戞帶璺虫澘鏈虹姸鎬佷换鍔�", quartzLog.getExceptionDetail()); + } + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); + } +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/PcAppRunRealDataMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/PcAppRunRealDataMapper.java new file mode 100644 index 0000000..43b9504 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/PcAppRunRealDataMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.mdc.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.mdc.entity.PcAppRunRealData; + +/** + * @Description: app杩愯瀹炴椂鐘舵�佽〃 + * @Author: lius + * @Date: 2024-07-17 + * @Version: V1.0 + */ +public interface PcAppRunRealDataMapper extends BaseMapper<PcAppRunRealData> { + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/PcAppRunRealDataMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/PcAppRunRealDataMapper.xml new file mode 100644 index 0000000..49ac7ab --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/PcAppRunRealDataMapper.xml @@ -0,0 +1,5 @@ +<?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="org.jeecg.modules.mdc.mapper.PcAppRunRealDataMapper"> + +</mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IPcAppRunRealDataService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IPcAppRunRealDataService.java new file mode 100644 index 0000000..18aac66 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IPcAppRunRealDataService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.mdc.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.mdc.entity.PcAppRunRealData; + +/** + * @Description: app杩愯瀹炴椂鐘舵�佽〃 + * @Author: lius + * @Date: 2024-07-17 + * @Version: V1.0 + */ +public interface IPcAppRunRealDataService extends IService<PcAppRunRealData> { + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/PcAppRunRealDataServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/PcAppRunRealDataServiceImpl.java new file mode 100644 index 0000000..124800d --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/PcAppRunRealDataServiceImpl.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.mdc.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.mdc.entity.PcAppRunRealData; +import org.jeecg.modules.mdc.mapper.PcAppRunRealDataMapper; +import org.jeecg.modules.mdc.service.IPcAppRunRealDataService; +import org.springframework.stereotype.Service; + +/** + * @Description: app杩愯瀹炴椂鐘舵�佽〃 + * @Author: lius + * @Date: 2024-07-17 + * @Version: V1.0 + */ +@Service +public class PcAppRunRealDataServiceImpl extends ServiceImpl<PcAppRunRealDataMapper, PcAppRunRealData> implements IPcAppRunRealDataService { + +} -- Gitblit v1.9.3