| | |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartBeatTimeReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereOperationReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereQuerySensorInfoReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereQueryVersionReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.*; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum; |
| | |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.RedisUtils; |
| | | import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; |
| | | import com.sandu.ximon.admin.utils.StringUtil; |
| | | import com.sandu.ximon.admin.vo.EquipmentInfomation; |
| | | import com.sandu.ximon.dao.bo.AirEquipmentBo; |
| | | import com.sandu.ximon.dao.domain.AirEquipment; |
| | |
| | | */ |
| | | public void addAirEquipment(AirEquipment airEquipment) { |
| | | AirEquipment one = getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, airEquipment.getMac())); |
| | | // //存储设备状态到缓存 |
| | | // RedisUtils.getBean().set(AtmoFunctionCode.AIR_EQUIPMENT_STATE.getCode() + airEquipment.getMac() |
| | | // , 1, 300L); |
| | | |
| | | if (one == null) { |
| | | save(airEquipment); |
| | | /** |
| | |
| | | * 查询大气设备心跳包时间 |
| | | */ |
| | | public String QueryHeartBeatTime(String mac) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1")); |
| | | |
| | |
| | | * @param time |
| | | */ |
| | | public String setHeartBeatTime(String mac, Integer time) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | if (time == null) { |
| | | throw new BusinessException("心跳包间隔时间不能为空!"); |
| | | } |
| | | |
| | | if (time < 30) { |
| | | throw new BusinessException("心跳包间隔时间不能少于30s!"); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | public A5AtmosphereQuerySensorInfoReportInnerFrame.SensorInfoPackage QuerySensorInfo(String mac) { |
| | | //TODO |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | |
| | | AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1")); |
| | | |
| | |
| | | * @param mac |
| | | * @return |
| | | */ |
| | | public void QueryVersion(String mac) { |
| | | //TODO |
| | | public String QueryVersion(String mac) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1")); |
| | | |
| | |
| | | System.out.println(commonFrame + " -----------commonFrame"); |
| | | |
| | | // FEA504000AFE040002FFFF8E00974C --------a5Frame |
| | | // FEA584000BFE040003FFFFFF38586A49EE3EAF62 -----------commonFrame |
| | | // FEA584000CFE040004FFFF0105954FAA7F1123C0CB -----------commonFrame |
| | | A5AtmosphereQueryVersionReportInnerFrame a5AtmosphereQueryVersionReportInnerFrame = |
| | | new A5AtmosphereQueryVersionReportInnerFrame().transformFrame(commonFrame.getPayload()); |
| | | if (a5AtmosphereQueryVersionReportInnerFrame.isValidate()) { |
| | | return a5AtmosphereQueryVersionReportInnerFrame.getVersion(); |
| | | } else { |
| | | throw new BusinessException("数据校验异常!"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | public String Reboot(String mac) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | |
| | | AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1")); |
| | | if (airEquipment == null) { |
| | |
| | | throw new BusinessException("数据校验异常!"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 设置数据修正值 |
| | | * |
| | | * @param mac 灯杆MAC |
| | | * @param type 数据修正设备类型 |
| | | * @param valueOfReal 传感器数值 |
| | | * @param valueOfStandard 标准仪器数值 |
| | | */ |
| | | public String ModifiedData(String mac, String type, String valueOfReal, String valueOfStandard) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | if (StringUtil.strIsNullOrEmpty(type)) { |
| | | throw new BusinessException("数据修正设备类型错误!"); |
| | | } |
| | | if (valueOfReal == null || valueOfStandard == null) { |
| | | throw new BusinessException("传感器数值或标准仪器数值错误!"); |
| | | } |
| | | AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1")); |
| | | if (airEquipment == null) { |
| | | throw new BusinessException("大气设备不存在!"); |
| | | } |
| | | AtmosphereModifiedDataReqInnerFrame atmosphereModifiedDataReqInnerFrame = new AtmosphereModifiedDataReqInnerFrame(type, valueOfReal, valueOfStandard); |
| | | A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereModifiedDataReqInnerFrame); |
| | | System.out.println(a5Frame + " --------a5Frame"); |
| | | CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame); |
| | | System.out.println(commonFrame + " -----------commonFrame"); |
| | | |
| | | |
| | | A5AtmosphereOperationReportInnerFrame a5AtmosphereOperationReportInnerFrame |
| | | = new A5AtmosphereOperationReportInnerFrame().transformFrame(commonFrame.getPayload()); |
| | | if (a5AtmosphereOperationReportInnerFrame.isValidate()) { |
| | | return a5AtmosphereOperationReportInnerFrame.getState(); |
| | | } else { |
| | | throw new BusinessException("数据校验异常!"); |
| | | } |
| | | } |
| | | } |