package com.ld.igds.pressure;
|
|
import com.ld.igds.common.CoreCommonService;
|
import com.ld.igds.common.CoreDeviceService;
|
import com.ld.igds.common.CoreSerService;
|
import com.ld.igds.constant.BizType;
|
import com.ld.igds.io.N2RemoteManager;
|
import com.ld.igds.io.RemotePressureService;
|
import com.ld.igds.io.constant.OrderRespEnum;
|
import com.ld.igds.io.request.BaseRequest;
|
import com.ld.igds.io.response.BaseResponse;
|
import com.ld.igds.models.Device;
|
import com.ld.igds.models.DeviceSer;
|
import com.ld.igds.order.ExeOrderService;
|
import com.ld.igds.order.data.ExeRequest;
|
import com.ld.igds.util.ContextUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
/**
|
* 气压管理
|
*
|
* @author: andy.jia
|
* @description:
|
* @version:
|
* @data:2020年2月17日
|
*/
|
@Slf4j
|
@Component
|
public class PressureManager {
|
|
@Autowired
|
private N2RemoteManager remoteManager;
|
@Autowired
|
private ExeOrderService exeOrderService;
|
@Autowired
|
private CoreSerService coreSerService;
|
|
/**
|
* 根据基础请求参数执行气压检测
|
*
|
* @param request
|
*/
|
public void checkByRequest(BaseRequest request) {
|
|
if (null == request.getBizType()) {
|
request.setBizType(BizType.N2.getCode());
|
}
|
|
if (null == request.getProtocol()) {
|
log.error("---------自动检测压力,没有获取到协议信息-----{}", request.toString());
|
return;
|
}
|
|
RemotePressureService remoteService = remoteManager.getRemotePressureService(request.getProtocol());
|
if (null == remoteService) {
|
log.error("---------自动检测压力,当前协议下没有接口实现-----{}--{}", request.getSerName(), request.getProtocol());
|
return;
|
}
|
|
ExeRequest exeRequest = new ExeRequest(request);
|
exeRequest.setRepeatTag(true);
|
exeOrderService.checkExecute(exeRequest);
|
BaseResponse response = remoteService.checkPressure(request);
|
if (OrderRespEnum.ORDER_SUCCESS.getCode().equals(response.getCode())) {
|
exeOrderService.addCache(exeRequest);
|
}
|
|
}
|
|
|
public void checkAll() {
|
String defaultCompanyId = ContextUtil.getDefaultCompanyId();
|
//获取分机信息
|
List<DeviceSer> listSer = coreSerService.getCacheSerList(defaultCompanyId);
|
if (null == listSer) return;
|
|
BaseRequest baseRequest;
|
for (DeviceSer ser: listSer ) {
|
baseRequest = new BaseRequest();
|
baseRequest.setCompanyId(ser.getCompanyId());
|
baseRequest.setSerName(ser.getName());
|
baseRequest.setSerId(ser.getId());
|
baseRequest.setIp(ser.getIp());
|
baseRequest.setPort(ser.getPort());
|
baseRequest.setProtocol(ser.getProtocol());
|
|
checkByRequest(baseRequest);
|
}
|
|
|
|
}
|
}
|