REM:
1. 接口更新设备状态是,同步更新缓存中的设备状态
This commit is contained in:
HuangXin 2021-02-02 19:09:16 +08:00
parent 11b93e1ce2
commit cd9cc0d617
3 changed files with 36 additions and 3 deletions

View File

@ -64,7 +64,15 @@ public class DisposeDeviceManagerImpl implements DisposeDeviceManager {
if (tDev.getStatus() == ObjectStatus.DELETED) {
// 重置状态
dev.setStatus(ObjectStatus.NORMAL);
return upgradeDisposeDevice(dev);
MulReturnType<ErrorCode, Long> ret = upgradeDisposeDevice(dev);
if (ret.getFirstParam() == ErrorCode.ERR_OK) {
// 同步更新缓存中设备状态
disposeAbilityRouterService.upgradeDisposeDevice(dev.getId(), dev.getStatus());
}
return ret;
}
return new MulReturnType<>(ErrorCode.ERR_DEVICEEXISTS, tDev.getId());

View File

@ -2,6 +2,7 @@ package com.dispose.service;
import com.dispose.common.DisposeCapacityType;
import com.dispose.common.ErrorCode;
import com.dispose.common.ObjectStatus;
import com.dispose.pojo.entity.DisposeDevice;
import com.dispose.pojo.po.AbilityInfo;
@ -16,8 +17,8 @@ public interface DisposeAbilityRouterService {
/**
* Gets ability device.
*
* @param ipAddr the ip addr
* @param ipPort the ip port
* @param ipAddr the ip addr
* @param ipPort the ip port
* @param deviceType the device type
* @return the ability device
*/
@ -56,6 +57,14 @@ public interface DisposeAbilityRouterService {
*/
ErrorCode verifyDisposeCapacity(Long deviceId, String disposeIp, DisposeCapacityType capacityType);
/**
* Upgrade dispose device.
*
* @param id the id
* @param objStatus the obj status
*/
void upgradeDisposeDevice(Long id, ObjectStatus objStatus);
/**
* Run period task.
*/

View File

@ -95,6 +95,19 @@ public class DisposeAbilityRouterServiceImpl implements DisposeAbilityRouterServ
return null;
}
/**
* Upgrade dispose device.
*
* @param id the id
* @param objStatus the obj status
*/
@Override
public void upgradeDisposeDevice(Long id, ObjectStatus objStatus) {
getAllAbilityDevices().stream()
.filter(v -> v.getDev().getId().equals(id))
.forEach(v -> v.getDev().setStatus(objStatus));
}
/**
* Gets all ability devices.
*
@ -210,6 +223,9 @@ public class DisposeAbilityRouterServiceImpl implements DisposeAbilityRouterServ
// 如果数据库中设备不存在那么删除该设备
v.getDev().setStatus(ObjectStatus.DELETED);
} else {
v.getDev().setStatus(ObjectStatus.NORMAL);
// 数据库中的设备信息和缓存中的设备信息同步
v.getDev().getDevCapacity().forEach(k -> dev.getDevCapacity().forEach(m -> {
if (k.getId().equals(m.getId())) {