package com.ld.igds.protocol.fzzy.analysis;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.ld.igds.common.CoreDeviceService;
|
import com.ld.igds.io.notify.NotifyWebInvoker;
|
import com.ld.igds.io.constant.OrderRespEnum;
|
import com.ld.igds.models.DeviceSer;
|
import com.ld.igds.protocol.fzzy.ServerUtils;
|
import com.ld.igds.protocol.fzzy.command.BaseRemoteImpl;
|
import com.ld.igds.protocol.fzzy.dto.ReMessage;
|
import com.ld.igds.protocol.fzzy.resp.Response3102;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
/**
|
* 设备操作类
|
*/
|
@Slf4j
|
@Component(AnalysisDevice.BEAN_ID)
|
public class AnalysisDevice extends BaseRemoteImpl {
|
|
public static final String BEAN_ID = "fzzy.analysisDevice";
|
|
@Autowired
|
private CoreDeviceService deviceService;
|
@Autowired
|
private NotifyWebInvoker notifyInvoker;
|
|
|
public void analysis3101(ReMessage reMessage, DeviceSer ser) {
|
log.debug("-DO NOTHING-");
|
//DO NOTHING
|
}
|
|
/**
|
* 设备状态
|
*
|
* @param reMessage
|
* @param ser
|
*/
|
public void analysis3102(ReMessage reMessage, DeviceSer ser) {
|
|
List<Response3102> responseList = JSONObject.parseArray(reMessage.getContent(), Response3102.class);
|
|
|
if(null == responseList || responseList.isEmpty()){
|
log.error("控制柜----->>>>平台:解析返回出现问题,没有返回设备列表");
|
return;
|
}
|
|
String status;
|
for (Response3102 resp : responseList) {
|
status = ServerUtils.analysisDeviceStatus(resp.getDeviceId(), resp.getStatus());
|
log.info("解析控制柜返回设备状态-解析后---{}--{}---{}--{}", ser.getCompanyId(), ser.getId(), resp.getDeviceId(), status);
|
ServerUtils.add2StatusMap(ser.getCompanyId(), ser.getId(), resp.getDeviceId(), status);
|
}
|
deviceService.updateStatus(ser.getCompanyId(), ser.getId(), ServerUtils.getStatusMap());
|
|
notifyInvoker.notifyAnalysisStatusSuccess(ser.getCompanyId(), ser.getId(), OrderRespEnum.MSG_SUCCESS, "设备状态查询成功并完成解析!");
|
}
|
|
public void analysis3103(ReMessage message, DeviceSer ser) {
|
//DO NOTHING
|
}
|
|
public void analysis3201(ReMessage message, DeviceSer ser) {
|
//DO NOTHING
|
}
|
|
|
}
|