package com.zy.core.controller;
|
|
import com.zy.common.R;
|
import com.zy.core.cache.SlaveConnection;
|
import com.zy.core.enums.SlaveType;
|
import com.zy.core.model.param.AddFakeDeviceParam;
|
import com.zy.core.model.param.DeleteDeviceParam;
|
import com.zy.core.properties.DeviceConfig;
|
import com.zy.core.thread.ShuttleThread;
|
import com.zy.core.utils.DeviceMsgUtils;
|
import com.zy.core.utils.FakeDeviceUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/open")
|
public class OpenController {
|
|
@Autowired
|
private DeviceMsgUtils deviceMsgUtils;
|
@Autowired
|
private FakeDeviceUtils fakeDeviceUtils;
|
|
@GetMapping("/getDeviceList")
|
public R getDeviceList() {
|
List<DeviceConfig> deviceList = new ArrayList<>();
|
|
List<DeviceConfig> configList = new ArrayList<>();
|
|
List<DeviceConfig> deviceConfigs = deviceMsgUtils.getDeviceConfig();
|
configList.addAll(deviceConfigs);
|
|
List<DeviceConfig> fakeDeviceConfig = fakeDeviceUtils.getFakeDeviceConfig();
|
configList.addAll(fakeDeviceConfig);
|
|
for (DeviceConfig config : configList) {
|
SlaveType slaveType = SlaveType.findInstance(config.getDeviceType());
|
if(slaveType == null){
|
continue;
|
}
|
|
if(slaveType.equals(SlaveType.Shuttle)) {
|
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(slaveType, config.getDeviceNo());
|
if(shuttleThread == null){
|
continue;
|
}
|
deviceList.add(shuttleThread.getDeviceConfig());
|
}
|
}
|
|
return R.ok().add(deviceList);
|
}
|
|
@PostMapping("/addFakeDevice")
|
public R addFakeDevice(@RequestBody AddFakeDeviceParam param) {
|
DeviceConfig deviceConfig = new DeviceConfig();
|
deviceConfig.setDeviceNo(param.getDeviceNo());
|
deviceConfig.setIp(param.getIp());
|
deviceConfig.setPort(param.getPort());
|
deviceConfig.setDeviceType(param.getDeviceType());
|
deviceConfig.setThreadImpl(param.getThreadImpl());
|
deviceConfig.setFake(true);
|
|
fakeDeviceUtils.addFakeDevice(deviceConfig);
|
return R.ok();
|
}
|
|
@PostMapping("/deleteFakeDevice")
|
public R deleteFakeDevice(@RequestBody DeleteDeviceParam param) {
|
fakeDeviceUtils.deleteFakeDevice(param.getDeviceNo(), param.getDeviceType());
|
return R.ok();
|
}
|
|
}
|