| | |
| | | @Autowired |
| | | private ConfigService configService; |
| | | |
| | | public synchronized boolean notify(String deviceType, Integer device, String taskNo, NotifyMsgType msgType) { |
| | | SlaveType type = SlaveType.findInstance(deviceType); |
| | | if (type == null) { |
| | | return false; |
| | | } |
| | | return append(type, device, taskNo, msgType); |
| | | public synchronized boolean notify(String notifyType, Integer device, String taskNo, NotifyMsgType msgType) { |
| | | return append(notifyType, device, taskNo, msgType, null); |
| | | } |
| | | |
| | | public synchronized boolean notify(String notifyType, Integer device, String taskNo, NotifyMsgType msgType, String data) { |
| | | return append(notifyType, device, taskNo, msgType, data); |
| | | } |
| | | |
| | | public synchronized List<String> takeKeys(String deviceType, Integer device) { |
| | |
| | | return key; |
| | | } |
| | | |
| | | private boolean append(SlaveType deviceType, Integer device, String taskNo, NotifyMsgType msgType) { |
| | | private boolean append(String notifyType, Integer device, String taskNo, NotifyMsgType msgType, String data) { |
| | | String key = null; |
| | | switch (deviceType) { |
| | | case Shuttle: |
| | | key = RedisKeyType.QUEUE_SHUTTLE.key + device; |
| | | break; |
| | | case ForkLift: |
| | | key = RedisKeyType.QUEUE_FORK_LIFT.key + device; |
| | | break; |
| | | default: |
| | | return false; |
| | | if (notifyType.equals(String.valueOf(SlaveType.Shuttle))) { |
| | | key = RedisKeyType.QUEUE_SHUTTLE.key + device; |
| | | } else if (notifyType.equals(String.valueOf(SlaveType.ForkLift))) { |
| | | key = RedisKeyType.QUEUE_FORK_LIFT.key + device; |
| | | } else if (notifyType.equals("task")) { |
| | | key = RedisKeyType.QUEUE_FORK_LIFT.key + device; |
| | | } else { |
| | | return false; |
| | | } |
| | | |
| | | NotifyDto dto = new NotifyDto(); |
| | | dto.setId(snowflakeIdWorker.nextId()); |
| | | dto.setDeviceType(String.valueOf(deviceType)); |
| | | dto.setNotifyType(notifyType); |
| | | dto.setDevice(device); |
| | | dto.setMsgType(msgType.flag); |
| | | dto.setContent(msgType.desc); |
| | | dto.setMsgDesc(msgType.desc); |
| | | dto.setData(data); |
| | | dto.setTaskNo(taskNo); |
| | | |
| | | //重试次数 |