package com.ld.igds.protocol.modbus.command;
|
|
import com.ld.igds.common.CoreDeviceService;
|
import com.ld.igds.io.constant.OrderRespEnum;
|
import com.ld.igds.io.notify.NotifyWebInvoker;
|
import com.ld.igds.io.request.DeviceControlRequest;
|
import com.ld.igds.protocol.modbus.ServerUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
|
/**
|
* 解析
|
*/
|
@Slf4j
|
@Component
|
public class AnalysisService {
|
|
@Resource
|
private CoreDeviceService deviceService;
|
@Resource
|
private NotifyWebInvoker notifyInvoker;
|
|
|
/**
|
* 异步更新设备状态,
|
*
|
* @param request
|
* @param sleepTime 延迟执行时间=毫秒值,如果==0 ,表示不延迟
|
*/
|
@Async
|
public void analysisDevice(DeviceControlRequest request, long sleepTime) {
|
|
try {
|
if (sleepTime > 0) {
|
Thread.sleep(sleepTime);
|
}
|
|
deviceService.updateStatus(request.getCompanyId(), request.getSerId(), ServerUtil.getStatusMap());
|
|
notifyInvoker.notifyAnalysisStatusSuccess(request.getCompanyId(), request.getSerId(), OrderRespEnum.MSG_SUCCESS, "设备状态查询成功并完成解析!");
|
|
} catch (Exception e) {
|
log.error("---MODBUS-TCP-状态解析异常{}", e);
|
}
|
}
|
}
|