| | |
| | | package com.zy.core.controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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.model.param.GetFakeThreadStatusParam; |
| | | import com.zy.core.model.param.UpdateFakeThreadStatusParam; |
| | | import com.zy.core.properties.DeviceConfig; |
| | | import com.zy.core.thread.FakeThread; |
| | | import com.zy.core.thread.ForkLiftThread; |
| | | 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.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | | @RestController |
| | | @RequestMapping("/open") |
| | | public class OpenController { |
| | | |
| | | @Value("${deviceMsgConfig.gatewayId}") |
| | | private Integer gatewayId; |
| | | @Value("${deviceMsgConfig.gatewayPort}") |
| | | private Integer gatewayPort; |
| | | |
| | | @Autowired |
| | | private DeviceMsgUtils deviceMsgUtils; |
| | | @Autowired |
| | | private FakeDeviceUtils fakeDeviceUtils; |
| | | |
| | | @GetMapping("/getSystemInfo") |
| | | public R getSystemInfo() { |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("gatewayId", gatewayId); |
| | | map.put("gatewayPort", gatewayPort); |
| | | return R.ok().add(map); |
| | | } |
| | | |
| | | @PostMapping("/updateFakeThreadStatus") |
| | | public R updateFakeThreadStatus(@RequestBody UpdateFakeThreadStatusParam param) { |
| | | FakeThread fakeThread = null; |
| | | if (param.getDeviceType().equals(String.valueOf(SlaveType.Shuttle))) { |
| | | fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1); |
| | | } else if (param.getDeviceType().equals(String.valueOf(SlaveType.ForkLift))) { |
| | | fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1); |
| | | } |
| | | |
| | | if (fakeThread == null) { |
| | | return R.error("找不到设备线程"); |
| | | } |
| | | |
| | | boolean result = fakeThread.updateFakeStatus(param); |
| | | if (result) { |
| | | return R.ok(); |
| | | } |
| | | return R.error("更新失败"); |
| | | } |
| | | |
| | | @PostMapping("/getFakeThreadStatus") |
| | | public R getFakeThreadStatus(@RequestBody GetFakeThreadStatusParam param) { |
| | | FakeThread fakeThread = null; |
| | | if (param.getDeviceType().equals(String.valueOf(SlaveType.Shuttle))) { |
| | | fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1); |
| | | } else if (param.getDeviceType().equals(String.valueOf(SlaveType.ForkLift))) { |
| | | fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1); |
| | | } |
| | | |
| | | if (fakeThread == null) { |
| | | return R.error("找不到设备线程"); |
| | | } |
| | | |
| | | ConcurrentHashMap<String, JSONObject> fakeStatusMap = fakeThread.getFakeStatusMap(); |
| | | |
| | | String key = param.getDeviceType() + param.getDeviceNo(); |
| | | JSONObject result = fakeStatusMap.get(key); |
| | | if (result == null) { |
| | | return R.error("数据不存在"); |
| | | } |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | @GetMapping("/getFakeThreadStatusList") |
| | | public R getFakeThreadStatusList() { |
| | | FakeThread fakeThread1 = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1); |
| | | FakeThread fakeThread2 = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 2); |
| | | |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("fakeNyShuttleStatusMap", fakeThread1.getFakeStatusMap()); |
| | | map.put("fakeZyForkLiftStatusMap", fakeThread2.getFakeStatusMap()); |
| | | return R.ok().add(map); |
| | | } |
| | | |
| | | @GetMapping("/getDeviceList") |
| | | public R getDeviceList() { |
| | | List<DeviceConfig> deviceList = new ArrayList<>(); |