| | |
| | | import com.sandu.common.service.impl.BaseServiceImpl; |
| | | import com.sandu.common.util.SpringContextHolder; |
| | | import com.sandu.ximon.admin.manager.iot.frame.A5Frame; |
| | | 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.A5AtmosphereQueryVersionReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.AtmosphereQueryHeartBeatTimeReqInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.AtmosphereQueryVersionReqInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.AtmosphereRebootReqInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.request.AtmosphereSetHeartBeatTimeReqInnerFrame; |
| | | 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.utils.StoreOperationRecordsUtils; |
| | | import com.sandu.ximon.admin.utils.StringUtil; |
| | | import com.sandu.ximon.dao.bo.AirEquipmentNongGengBo; |
| | | import com.sandu.ximon.dao.domain.AirEquipment; |
| | | import com.sandu.ximon.dao.domain.AirEquipmentNongGeng; |
| | | import com.sandu.ximon.dao.mapper.AirEquipmentNongGengMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | public void addAirEquipment(AirEquipmentNongGeng airEquipmentNongGeng) { |
| | | AirEquipmentNongGeng one = getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, airEquipmentNongGeng.getMac())); |
| | | if (one == null) { |
| | | //TODO |
| | | save(airEquipmentNongGeng); |
| | | /** |
| | | * 添加农耕大气设备 日志记录开始 |
| | |
| | | PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); |
| | | } |
| | | List<AirEquipmentNongGengBo> airEquipmentBos; |
| | | // if (SecurityUtils.getClientId() == null) { |
| | | // airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(keyword, null); |
| | | // } else { |
| | | // airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(keyword, SecurityUtils.getUserId()); |
| | | // } |
| | | if (SecurityUtils.getClientId() == null) { |
| | | airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(keyword, null); |
| | | } else { |
| | | airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(keyword, SecurityUtils.getUserId()); |
| | | } |
| | | |
| | | if (SecurityUtils.getClientId() == null) { |
| | | airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(keyword, null); |
| | |
| | | * 大气设备列表(农耕,用于首页数据统计) |
| | | */ |
| | | public List<AirEquipmentNongGengBo> listAirEquipmentOnHome() { |
| | | // List<AirEquipmentNongGengBo> airEquipmentBos; |
| | | // if (SecurityUtils.getClientId() == null) { |
| | | // airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(null, null); |
| | | // } else { |
| | | // airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(null, SecurityUtils.getUserId()); |
| | | // } |
| | | List<AirEquipmentNongGengBo> airEquipmentBos; |
| | | if (SecurityUtils.getClientId() == null) { |
| | | airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(null, null); |
| | | } else { |
| | | airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(null, SecurityUtils.getUserId()); |
| | | } |
| | | |
| | | // return airEquipmentBos; |
| | | return null; |
| | | return airEquipmentBos; |
| | | // return null; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public AirEquipmentNongGeng getAirEquipment(String mac) { |
| | | AirEquipmentNongGeng one = getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, mac)); |
| | | if (one == null) { |
| | | throw new BusinessException("大气设备不存在!"); |
| | | } |
| | | if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT_NONG_GENG_STATE.getCode() + mac) != null) { |
| | | one.setState(1); |
| | | } else { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询大气设备心跳包时间 |
| | | */ |
| | | public String QueryHeartBeatTime(String mac) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | AirEquipmentNongGeng airEquipmentNongGeng = SpringContextHolder.getBean(AirEquipmentNongGengService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, mac).last("limit 1")); |
| | | if (airEquipmentNongGeng == null) { |
| | | throw new BusinessException("大气设备不存在!"); |
| | | } |
| | | |
| | | AtmosphereQueryHeartBeatTimeReqInnerFrame atmosphereQueryHeartBeatTimeReqInnerFrame = new AtmosphereQueryHeartBeatTimeReqInnerFrame(); |
| | | A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereQueryHeartBeatTimeReqInnerFrame); |
| | | System.out.println(a5Frame + " --------a5Frame"); |
| | | CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame); |
| | | System.out.println(commonFrame + " -----------commonFrame"); |
| | | |
| | | A5AtmosphereHeartBeatTimeReportInnerFrame a5AtmosphereHeartBeatTimeReportInnerFrame |
| | | = new A5AtmosphereHeartBeatTimeReportInnerFrame().transformFrame(commonFrame.getPayload()); |
| | | |
| | | if (a5AtmosphereHeartBeatTimeReportInnerFrame != null && a5AtmosphereHeartBeatTimeReportInnerFrame.isValidate()) { |
| | | return "该大气设备心跳包间隔时间为:" + a5AtmosphereHeartBeatTimeReportInnerFrame.getIntervalTime() + "s"; |
| | | } else { |
| | | throw new BusinessException("数据校验异常!"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询软硬件版本 |
| | | * 设置类型 |
| | | * |
| | | * @param mac |
| | | * @param param |
| | | * @return |
| | | */ |
| | | public String QueryVersion(String mac) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean setAirEquipmentType(AirEquipmentNongGeng param) { |
| | | if (param.getType() == null || param.getId() == null || param.getType().isEmpty()) { |
| | | throw new BusinessException("设备id或类型不能为空"); |
| | | } |
| | | AirEquipmentNongGeng airEquipmentNongGeng = SpringContextHolder.getBean(AirEquipmentNongGengService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, mac).last("limit 1")); |
| | | if (airEquipmentNongGeng == null) { |
| | | throw new BusinessException("大气设备不存在!"); |
| | | if (!"0".equals(param.getType()) && !"1".equals(param.getType()) && !"2".equals(param.getType())) { |
| | | throw new BusinessException("设备类型不正确"); |
| | | } |
| | | AirEquipmentNongGeng byId = getById(param.getId()); |
| | | if (byId == null) { |
| | | throw new BusinessException("设备id错误或设备不存在!"); |
| | | } |
| | | byId.setType(param.getType()); |
| | | |
| | | AtmosphereQueryVersionReqInnerFrame atmosphereQueryVersionReqInnerFrame = new AtmosphereQueryVersionReqInnerFrame(); |
| | | A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereQueryVersionReqInnerFrame); |
| | | System.out.println(a5Frame + " --------a5Frame"); |
| | | CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame); |
| | | System.out.println(commonFrame + " -----------commonFrame"); |
| | | |
| | | A5AtmosphereQueryVersionReportInnerFrame a5AtmosphereQueryVersionReportInnerFrame = |
| | | new A5AtmosphereQueryVersionReportInnerFrame().transformFrame(commonFrame.getPayload()); |
| | | if (a5AtmosphereQueryVersionReportInnerFrame != null && a5AtmosphereQueryVersionReportInnerFrame.isValidate()) { |
| | | return a5AtmosphereQueryVersionReportInnerFrame.getVersion(); |
| | | } else { |
| | | throw new BusinessException("数据校验异常!"); |
| | | } |
| | | return updateById(byId); |
| | | } |
| | | |
| | | /** |
| | | * 软重启 |
| | | * |
| | | * @param mac |
| | | * @return |
| | | */ |
| | | public String Reboot(String mac) { |
| | | if (StringUtil.strIsNullOrEmpty(mac)) { |
| | | throw new BusinessException("灯杆mac参数错误!"); |
| | | } |
| | | |
| | | AirEquipmentNongGeng airEquipmentNongGeng = SpringContextHolder.getBean(AirEquipmentNongGengService.class). |
| | | getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, mac).last("limit 1")); |
| | | if (airEquipmentNongGeng == null) { |
| | | throw new BusinessException("大气设备不存在!"); |
| | | } |
| | | |
| | | AtmosphereRebootReqInnerFrame atmosphereRebootReqInnerFrame = new AtmosphereRebootReqInnerFrame(); |
| | | A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereRebootReqInnerFrame); |
| | | 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 != null && a5AtmosphereOperationReportInnerFrame.isValidate()) { |
| | | return a5AtmosphereOperationReportInnerFrame.getState(); |
| | | } else { |
| | | throw new BusinessException("数据校验异常!"); |
| | | } |
| | | } |
| | | |
| | | } |