From 3b2decedde042efe481330a20981a374efdf5978 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期二, 18 六月 2024 10:39:33 +0800 Subject: [PATCH] 提交 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 94 insertions(+), 0 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java new file mode 100644 index 0000000..52da0f6 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java @@ -0,0 +1,94 @@ +package org.jeecg.modules.mdc.job; + +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.mdc.service.IEquipmentService; +import org.jeecg.modules.mdc.util.CxfClientUtil; +import org.jeecg.modules.mdc.util.ThrowableUtil; +import org.jeecg.modules.mdc.util.XmlUtil; +import org.jeecg.modules.mdc.vo.WsEquipmentStatus; +import org.jeecg.modules.mdc.vo.WsEquipmentStatusList; +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.quartz.*; +import org.springframework.beans.factory.annotation.Value; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Lius + * @date 2024/6/11 11:27 + */ +@PersistJobDataAfterExecution +@DisallowConcurrentExecution +@Slf4j +public class WebServiceStatusJob implements Job { + + /** + * url + */ + @Value("${webservice.url}") + private String url; + + /** + * namespace + */ + @Value("${webservice.namespace}") + private String namespace; + + /** + * method + */ + @Value("${webservice.statusMethod}") + private String method; + + + @Resource + private IQuartzJobService quartzJobService; + + @Resource + private ISysQuartzLogService sysQuartzLogService; + + @Resource + private IEquipmentService equipmentService; + + @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("WebService涓婃姤璁惧鐘舵�佸埌浜岀骇缁煎悎绠℃帶骞冲彴浠诲姟 WebServiceStatusJob start! 鏃堕棿:" + DateUtils.now()); + long startTime = System.currentTimeMillis(); + try { + List<WsEquipmentStatus> equipmentStatusList = equipmentService.selectEquipmentStatus(); + WsEquipmentStatusList wsEquipmentStatusList = new WsEquipmentStatusList(); + List<WsEquipmentStatus> list = new ArrayList<>(); + if (equipmentStatusList != null && !equipmentStatusList.isEmpty()) { + for (WsEquipmentStatus wsEquipmentStatus : equipmentStatusList) { + list.add(wsEquipmentStatus); + wsEquipmentStatusList.setList(list); + String s = XmlUtil.convertToXml(wsEquipmentStatusList); + list.clear(); + log.info("涓婃姤鐘舵�佹暟鎹� ===== " + s); + String result = CxfClientUtil.invokeService(url, s, namespace, method); + log.info("涓婃姤鐘舵�佺粨鏋� ===== " + result); + } + } + quartzLog.setIsSuccess(0); + } catch (Exception e) { + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + } + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); + } +} -- Gitblit v1.9.3