This commit is contained in:
2026-07-09 08:40:32 +08:00
parent caf4e2c415
commit 8f7a35e3c7
44 changed files with 1328 additions and 188 deletions

View File

@@ -18,11 +18,13 @@ import org.springframework.util.CollectionUtils;
import com.maibu.constant.FastBeeConstant;
import com.maibu.core.business.DevicePlan;
import com.maibu.core.business.DevicePlanTask;
import com.maibu.core.business.DeviceRunParam;
import com.maibu.core.domain.entity.SysSite;
import com.maibu.core.enums.DeviceTaskStaus;
import com.maibu.influxdb.util.InfluxDBUtil;
import com.maibu.mapper.DevicePlanMapper;
import com.maibu.mapper.DevicePlanTaskMapper;
import com.maibu.mapper.DeviceRunParamMapper;
import com.maibu.mapper.SysSiteMapper;
import com.maibu.memory.GlobalMemory;
import com.maibu.memory.SiteMemory;
@@ -59,6 +61,9 @@ public class InitThread implements ApplicationRunner {
@Autowired
private SysSiteMapper sysSiteMapper;
@Autowired
private DeviceRunParamMapper deviceRunParamMapper;
@Value("${influxdb.url}")
private String influxDBUrl;
@@ -127,9 +132,6 @@ public class InitThread implements ApplicationRunner {
* 恢复内存
*/
public void recoverMemory() {
// todo 启动时清除当前登录记录
// System.out.println("开始清除登录信息");
// sysUserClientMapper.clearDeviceName();
List<SysSite> siteList = sysSiteMapper.selectList();
if (!CollectionUtils.isEmpty(siteList)) {
siteList.forEach(x -> {
@@ -138,10 +140,23 @@ public class InitThread implements ApplicationRunner {
SiteMemory siteMemory = GlobalMemory.getSiteMemory(orgId, siteId);
if (siteMemory == null) {
siteMemory = new SiteMemory();
siteMemory.setSiteId(siteId);
siteMemory.setSysSite(x);
GlobalMemory.addSiteMemory(orgId, siteId, siteMemory);
}
});
}
List<DeviceRunParam> deviceRunParamList = deviceRunParamMapper.selectList();
if (!CollectionUtils.isEmpty(deviceRunParamList)) {
deviceRunParamList.forEach(x -> {
Long orgId = x.getOrgId();
Long siteId = x.getId();
SiteMemory siteMemory = GlobalMemory.getSiteMemory(orgId, siteId);
if (siteMemory != null) {
siteMemory.saveDeviceRunParam(x);
}
});
}
// 未执行完的重复计划
LambdaQueryWrapperX<DevicePlan> query = new LambdaQueryWrapperX<>();
List<String> list = Arrays.asList(DeviceTaskStaus.NEW.getCode(), DeviceTaskStaus.EXECUTING.getCode(),