| | |
| | | if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_START.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | String orderType; |
| | | boolean UpdateFlag = false; |
| | | String deviceType; |
| | | |
| | | if(remotePrarm.getDeviceType()==null){ |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | if (RemoteUpdateTypeEnum.MQTT_MAIN.equals(remotePrarm.getDeviceType())) { |
| | | //MQTT主板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.MQTT_MAIN; |
| | | } else if (RemoteUpdateTypeEnum.MQTT_CORE.equals(remotePrarm.getDeviceType())) { |
| | | //MQTT核心板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.MQTT_CORE; |
| | | } else if (RemoteUpdateTypeEnum.LIGHT.equals(remotePrarm.getDeviceType())) { |
| | | //单灯模块 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.LIGHT; |
| | | } else if (RemoteUpdateTypeEnum.C3_CHARGING.equals(remotePrarm.getDeviceType())) { |
| | | //C3充电桩模块 |
| | | orderType = A5OrderEnum.REQUEST_C3_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.C3_CHARGING; |
| | | } else if (RemoteUpdateTypeEnum.CAT1_MAIN.equals(remotePrarm.getDeviceType())) { |
| | | //Cat.1主板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.CAT1_MAIN; |
| | | } else if (RemoteUpdateTypeEnum.LIGHT_POLE_HELING.equals(remotePrarm.getDeviceType())) { |
| | | //灯杆倾斜模块 |
| | | orderType = A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.LIGHT_POLE_HELING; |
| | | } else if (RemoteUpdateTypeEnum.AIR_EQUIPMENT.equals(remotePrarm.getDeviceType())) { |
| | | //大气设备模块 |
| | | orderType = A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.AIR_EQUIPMENT; |
| | | } else { |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | String deviceType = remotePrarm.getDeviceType(); |
| | | String orderType = deviceType2OrderType(deviceType); |
| | | boolean UpdateFlag = false; |
| | | |
| | | //启动远程升级命令 |
| | | boolean startRemoteUpdateFlag = remoteUpdateService.StartRemoteUpdate(orderType, remotePrarm.getMac(), remotePrarm.getHardwareVersion() |
| | |
| | | // if (!permissionConfig.check(MenuEnum.REMOTE_UPDATE_START.getCode())) { |
| | | // return ResponseUtil.fail("缺少对应用户权限"); |
| | | // } |
| | | String orderType; |
| | | String deviceType; |
| | | String deviceType = remotePrarm.getDeviceType(); |
| | | |
| | | if(remotePrarm.getDeviceType()==null){ |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | if (RemoteUpdateTypeEnum.MQTT_MAIN.equals(remotePrarm.getDeviceType())) { |
| | | //MQTT主板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.MQTT_MAIN; |
| | | } else if (RemoteUpdateTypeEnum.MQTT_CORE.equals(remotePrarm.getDeviceType())) { |
| | | //MQTT核心板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.MQTT_CORE; |
| | | } else if (RemoteUpdateTypeEnum.LIGHT.equals(remotePrarm.getDeviceType())) { |
| | | //单灯模块 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.LIGHT; |
| | | } else if (RemoteUpdateTypeEnum.C3_CHARGING.equals(remotePrarm.getDeviceType())) { |
| | | //C3充电桩模块 |
| | | orderType = A5OrderEnum.REQUEST_C3_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.C3_CHARGING; |
| | | } else if (RemoteUpdateTypeEnum.CAT1_MAIN.equals(remotePrarm.getDeviceType())) { |
| | | //Cat.1主板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.CAT1_MAIN; |
| | | } else if (RemoteUpdateTypeEnum.LIGHT_POLE_HELING.equals(remotePrarm.getDeviceType())) { |
| | | //灯杆倾斜模块 |
| | | orderType = A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.LIGHT_POLE_HELING; |
| | | } else if (RemoteUpdateTypeEnum.AIR_EQUIPMENT.equals(remotePrarm.getDeviceType())) { |
| | | //大气设备模块 |
| | | orderType = A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(); |
| | | deviceType=RemoteUpdateTypeEnum.AIR_EQUIPMENT; |
| | | } else { |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | isDeviceType(deviceType); |
| | | |
| | | RemoteUpgradeProgress progress = new RemoteUpgradeProgress(); |
| | | String s = RedisUtils.getBean().get(deviceType + ":" + SecurityUtils.getUserId() + remotePrarm.getMac()); |
| | |
| | | if (remotePrarm.getMac() == null || remotePrarm.getDeviceType() == null) { |
| | | throw new BusinessException("缺少相关参数!"); |
| | | } |
| | | String orderType; |
| | | switch (remotePrarm.getDeviceType()) { |
| | | case "MQTT串口": |
| | | case "CAT1": |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | break; |
| | | case "大气": |
| | | orderType = A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(); |
| | | break; |
| | | case "C3充电桩": |
| | | orderType = A5OrderEnum.REQUEST_C3_DATA.getCode(); |
| | | break; |
| | | case "杆体倾斜": |
| | | orderType = A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(); |
| | | break; |
| | | default: |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | String orderType = deviceType2OrderType(remotePrarm.getDeviceType()); |
| | | |
| | | //服务器下发升级结果查询 |
| | | String result = remoteUpdateService.SearchUpdateResult(orderType, remotePrarm.getMac()); |
| | |
| | | if (remotePrarm.getMac() == null || remotePrarm.getDeviceType() == null) { |
| | | throw new BusinessException("缺少相关参数!"); |
| | | } |
| | | String orderType; |
| | | switch (remotePrarm.getDeviceType()) { |
| | | case "MQTT串口": |
| | | case "CAT1": |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | break; |
| | | case "大气": |
| | | orderType = A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(); |
| | | break; |
| | | case "C3充电桩": |
| | | orderType = A5OrderEnum.REQUEST_C3_DATA.getCode(); |
| | | break; |
| | | case "杆体倾斜": |
| | | orderType = A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(); |
| | | break; |
| | | default: |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | String orderType = deviceType2OrderType(remotePrarm.getDeviceType()); |
| | | |
| | | //服务器下发升级结果查询 |
| | | boolean flag = remoteUpdateService.stopUpdate(orderType, remotePrarm.getMac()); |
| | |
| | | return ResponseUtil.success("紧急结束升级失败"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 设备类型转指令类型 |
| | | * |
| | | * @param deviceType |
| | | * @return |
| | | */ |
| | | private String deviceType2OrderType(String deviceType) { |
| | | String orderType; |
| | | if (RemoteUpdateTypeEnum.MQTT_MAIN.equals(deviceType)) { |
| | | //MQTT主板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | } else if (RemoteUpdateTypeEnum.MQTT_CORE.equals(deviceType)) { |
| | | //MQTT核心板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | } else if (RemoteUpdateTypeEnum.LIGHT.equals(deviceType)) { |
| | | //单灯模块 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | } else if (RemoteUpdateTypeEnum.C3_CHARGING.equals(deviceType)) { |
| | | //C3充电桩模块 |
| | | orderType = A5OrderEnum.REQUEST_C3_DATA.getCode(); |
| | | } else if (RemoteUpdateTypeEnum.CAT1_MAIN.equals(deviceType)) { |
| | | //Cat.1主板 |
| | | orderType = A5OrderEnum.REQUEST_LIGHT_DATA.getCode(); |
| | | } else if (RemoteUpdateTypeEnum.LIGHT_POLE_HELING.equals(deviceType)) { |
| | | //灯杆倾斜模块 |
| | | orderType = A5OrderEnum.REQUEST_POLE_MONITOR_DATA.getCode(); |
| | | } else if (RemoteUpdateTypeEnum.AIR_EQUIPMENT.equals(deviceType)) { |
| | | //大气设备模块 |
| | | orderType = A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(); |
| | | } else { |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | return orderType; |
| | | } |
| | | |
| | | /** |
| | | * 是否为系统内的设备类型 |
| | | * |
| | | * @param deviceType |
| | | * @return |
| | | */ |
| | | private boolean isDeviceType(String deviceType) { |
| | | if (RemoteUpdateTypeEnum.MQTT_MAIN.equals(deviceType)) { |
| | | //MQTT主板 |
| | | } else if (RemoteUpdateTypeEnum.MQTT_CORE.equals(deviceType)) { |
| | | //MQTT核心板 |
| | | } else if (RemoteUpdateTypeEnum.LIGHT.equals(deviceType)) { |
| | | //单灯模块 |
| | | } else if (RemoteUpdateTypeEnum.C3_CHARGING.equals(deviceType)) { |
| | | //C3充电桩模块 |
| | | } else if (RemoteUpdateTypeEnum.CAT1_MAIN.equals(deviceType)) { |
| | | //Cat.1主板 |
| | | } else if (RemoteUpdateTypeEnum.LIGHT_POLE_HELING.equals(deviceType)) { |
| | | //灯杆倾斜模块 |
| | | } else if (RemoteUpdateTypeEnum.AIR_EQUIPMENT.equals(deviceType)) { |
| | | //大气设备模块 |
| | | } else { |
| | | throw new BusinessException("升级硬件设备类型指令有误,请确认!"); |
| | | } |
| | | return true; |
| | | } |
| | | } |