jiazx0107@163.com
2023-05-17 620eab6cca2bc9ef9ea6d3067a0a5ba1deadbd1c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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);
        }
 
 
 
    }
}