设备接入优化

This commit is contained in:
xy
2026-04-08 09:26:52 +08:00
parent 441b5d04fe
commit b3d2727a64
5 changed files with 12 additions and 10 deletions

View File

@@ -312,7 +312,7 @@ public class MqttMessageHandler {
if (Objects.equals(res.getCode(),AccessEnum.SUCCESS.getCode())){ if (Objects.equals(res.getCode(),AccessEnum.SUCCESS.getCode())){
int mid = 1; int mid = 1;
//修改装置状态 //修改装置状态
csEquipmentDeliveryService.updateStatusBynDid(nDid,AccessEnum.ACCESS.getCode()); csEquipmentDeliveryService.updateStatusBynDid(nDid,AccessEnum.ACCESS.getCode(),null,null);
csEquipmentDeliveryService.updateRunStatusBynDid(nDid,AccessEnum.ONLINE.getCode()); csEquipmentDeliveryService.updateRunStatusBynDid(nDid,AccessEnum.ONLINE.getCode());
//记录设备上线 //记录设备上线
PqsCommunicateDto dto = new PqsCommunicateDto(); PqsCommunicateDto dto = new PqsCommunicateDto();

View File

@@ -140,7 +140,7 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
//装置下线 //装置下线
csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode()); csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode());
//装置调整为注册状态 //装置调整为注册状态
csEquipmentDeliveryService.updateStatusBynDid(nDid,AccessEnum.REGISTERED.getCode()); csEquipmentDeliveryService.updateStatusBynDid(nDid,AccessEnum.REGISTERED.getCode(),null,null);
logDto.setOperate(nDid +"装置离线"); logDto.setOperate(nDid +"装置离线");
sendMessage(nDid); sendMessage(nDid);
//记录装置掉线时间 //记录装置掉线时间

View File

@@ -22,7 +22,7 @@ public interface ICsEquipmentDeliveryService extends IService<CsEquipmentDeliver
* 根据网关id修改装置的状态 * 根据网关id修改装置的状态
* @param nDid 网关id * @param nDid 网关id
*/ */
void updateStatusBynDid(String nDid,Integer status); void updateStatusBynDid(String nDid,Integer status,String engineeringId, String projectId);
/** /**
* 根据网关id修改软件信息 * 根据网关id修改软件信息

View File

@@ -295,8 +295,8 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
po.setSubUserId(RequestUtil.getUserIndex()); po.setSubUserId(RequestUtil.getUserIndex());
po.setDeviceId(vo.getId()); po.setDeviceId(vo.getId());
csDeviceUserService.saveBatch(Collections.singletonList(po)); csDeviceUserService.saveBatch(Collections.singletonList(po));
//6.修改装置状态 //6.修改装置状态;修改设备接入的工程、项目
csEquipmentDeliveryService.updateStatusBynDid(devAccessParam.getNDid(), AccessEnum.REGISTERED.getCode()); csEquipmentDeliveryService.updateStatusBynDid(devAccessParam.getNDid(), AccessEnum.REGISTERED.getCode(),devAccessParam.getEngineeringId(), devAccessParam.getProjectId());
//7.发起自动接入请求 //7.发起自动接入请求
devAccessAskTemplate(devAccessParam.getNDid(),version,1); devAccessAskTemplate(devAccessParam.getNDid(),version,1);
//8.删除redis监测点模板信息 //8.删除redis监测点模板信息
@@ -323,10 +323,6 @@ public class CsDeviceServiceImpl implements ICsDeviceService {
csMarketDataFeignClient.insertData(userVO.getId(), devAccessParam.getEngineeringId()); csMarketDataFeignClient.insertData(userVO.getId(), devAccessParam.getEngineeringId());
} }
} }
//12.如果设备接入,发现接入的工程项目和之前预设的工程项目不一致,则需要更新原来的预设,使用接入的工程项目
if (!Objects.equals(vo.getAssociatedEngineering(),devAccessParam.getEngineeringId()) || !Objects.equals(vo.getAssociatedProject(),devAccessParam.getProjectId())) {
equipmentFeignClient.updateLedger(devAccessParam.getNDid(), devAccessParam.getEngineeringId(), devAccessParam.getProjectId());
}
} catch (Exception e) { } catch (Exception e) {
logDto.setResult(0); logDto.setResult(0);
logDto.setFailReason(e.getMessage()); logDto.setFailReason(e.getMessage());

View File

@@ -41,9 +41,15 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
private final CsLogsFeignClient csLogsFeignClient; private final CsLogsFeignClient csLogsFeignClient;
@Override @Override
public void updateStatusBynDid(String nDid,Integer status) { public void updateStatusBynDid(String nDid,Integer status,String engineeringId, String projectId) {
LambdaUpdateWrapper<CsEquipmentDeliveryPO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<CsEquipmentDeliveryPO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.set(CsEquipmentDeliveryPO::getStatus,status).eq(CsEquipmentDeliveryPO::getNdid,nDid); lambdaUpdateWrapper.set(CsEquipmentDeliveryPO::getStatus,status).eq(CsEquipmentDeliveryPO::getNdid,nDid);
if (engineeringId != null && !engineeringId.isEmpty()) {
lambdaUpdateWrapper.set(CsEquipmentDeliveryPO::getAssociatedEngineering,engineeringId);
}
if (projectId != null && !projectId.isEmpty()) {
lambdaUpdateWrapper.set(CsEquipmentDeliveryPO::getAssociatedProject,projectId);
}
this.update(lambdaUpdateWrapper); this.update(lambdaUpdateWrapper);
} }