From 7635dc25bd2a4d565df496b2d96354639966768d Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 25 九月 2025 11:09:44 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/NotifyScheduler.java | 52 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 38 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/NotifyScheduler.java b/src/main/java/com/zy/asrs/task/NotifyScheduler.java
index 601d9aa..0b318c5 100644
--- a/src/main/java/com/zy/asrs/task/NotifyScheduler.java
+++ b/src/main/java/com/zy/asrs/task/NotifyScheduler.java
@@ -4,13 +4,14 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.domain.NotifyDto;
+import com.zy.asrs.entity.DeviceConfig;
+import com.zy.asrs.entity.HttpRequestLog;
+import com.zy.asrs.service.DeviceConfigService;
+import com.zy.asrs.service.HttpRequestLogService;
import com.zy.asrs.utils.NotifyUtils;
import com.zy.common.utils.HttpHandler;
import com.zy.common.utils.RedisUtil;
import com.zy.core.enums.SlaveType;
-import com.zy.core.model.ForkLiftSlave;
-import com.zy.core.model.ShuttleSlave;
-import com.zy.core.properties.SlaveProperties;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
@@ -18,6 +19,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.util.Date;
import java.util.List;
@Component
@@ -29,25 +31,36 @@
@Autowired
private NotifyUtils notifyUtils;
@Autowired
- private SlaveProperties slaveProperties;
- @Autowired
private ConfigService configService;
+ @Autowired
+ private HttpRequestLogService httpRequestLogService;
+ @Autowired
+ private DeviceConfigService deviceConfigService;
@Scheduled(cron = "0/3 * * * * ? ")
public synchronized void notifyShuttle(){
- for (ShuttleSlave slave : slaveProperties.getShuttle()) {
- notifyMsg(String.valueOf(SlaveType.Shuttle), slave.getId());
+ List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Shuttle)));
+ for (DeviceConfig device : shuttleList) {
+ notifyMsg(String.valueOf(SlaveType.Shuttle), device.getDeviceNo());
}
}
@Scheduled(cron = "0/3 * * * * ? ")
public synchronized void notifyForkLift(){
- for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
- notifyMsg(String.valueOf(SlaveType.ForkLift), slave.getId());
+ List<DeviceConfig> forkLiftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.ForkLift)));
+ for (DeviceConfig device : forkLiftList) {
+ notifyMsg(String.valueOf(SlaveType.ForkLift), device.getDeviceNo());
}
}
- private synchronized void notifyMsg(String deviceType, Integer device) {
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public synchronized void notifyTask(){
+ notifyMsg("task", 1);
+ }
+
+ private synchronized void notifyMsg(String notifyType, Integer device) {
Config notifyEnableConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "notifyEnable"));
if(notifyEnableConfig == null){
return;
@@ -69,7 +82,7 @@
}
String notifyUriPath = notifyUriPathConfig.getValue();
- List<String> keys = notifyUtils.takeKeys(deviceType, device);
+ List<String> keys = notifyUtils.takeKeys(notifyType, device);
if(keys == null){
return;
}
@@ -89,6 +102,11 @@
continue;
}
+ HttpRequestLog httpRequestLog = new HttpRequestLog();
+ httpRequestLog.setName(notifyUri + notifyUriPath);
+ httpRequestLog.setRequest(JSON.toJSONString(notifyDto));
+ httpRequestLog.setCreateTime(new Date());
+
try {
//瑙﹀彂閫氱煡
String response = new HttpHandler.Builder()
@@ -97,15 +115,21 @@
.setJson(JSON.toJSONString(notifyDto))
.build()
.doPost();
+ httpRequestLog.setResponse(response);
+
JSONObject jsonObject = JSON.parseObject(response);
Integer code = jsonObject.getInteger("code");
if(code == 200){
//閫氱煡鎴愬姛
redisUtil.del(key);
- return;
+
+ continue;
}
}catch (Exception e){
e.printStackTrace();
+ }finally {
+ //淇濆瓨璁板綍
+ httpRequestLogService.insert(httpRequestLog);
}
//閫氱煡澶辫触
@@ -113,13 +137,13 @@
if (times >= notifyDto.getFailTimes()) {
//瓒呰繃娆℃暟
redisUtil.del(key);
- return;
+ continue;
}
notifyDto.setLastRetryTime(System.currentTimeMillis());
notifyDto.setRetryTimes(times);
redisUtil.set(key, notifyDto);
- return;
+ continue;
}
}
--
Gitblit v1.9.1