package com.sandu.ximon.admin.controller; import com.sandu.common.domain.ResponseVO; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.manager.iot.frame.A5Frame; import com.sandu.ximon.admin.manager.iot.frame.inner.request.AirDataReqInnerFrame; 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.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService; import com.sandu.ximon.admin.service.AirDataService; import com.sandu.ximon.dao.bo.AirDataBo; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 大气数据 */ @RestController @AllArgsConstructor @RequestMapping("/v1/admin/airdata") public class AirDataController { private final AirDataService airDataService; /** * 查询大气数据模糊查询 * * @param keyword 关键字 * @return */ @GetMapping("/listAirData") public ResponseVO listAirDataByKeyword(BaseConditionVO baseConditionVO, @RequestParam(required = false) String keyword) { List list = airDataService.listAirDataByKeyword(baseConditionVO, keyword); return ResponseUtil.successPage(list); } /** * 查询大气设备MAC地址 * * @return */ @GetMapping("/listAirEquipmentMAC") public ResponseVO listAirEquipmentMAC() { List list = airDataService.listAirEquipmentMAC(); return ResponseUtil.success(list); } @PostMapping("/updateAirEquipmentInfo") public ResponseVO updataAirEquipmentInfo(@RequestBody List listMac) { AirDataReqInnerFrame airDataReqInnerFrame = new AirDataReqInnerFrame(); A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), airDataReqInnerFrame); // WrapResponseCommonFrame wrapResponseCommonFrame = // MainBoardInvokeSyncService.getInstance().sendRRPC(listMac.get(0), a5Frame, A5AtmosphereHeartbeatReportInnerFrame.class); List success = new ArrayList<>(); List failed = new ArrayList<>(); listMac.parallelStream().forEach(macStr -> { // System.out.println(System.currentTimeMillis()+" -------------"); try { CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(macStr, a5Frame); if (commonFrame != null) { success.add(macStr); } else { failed.add(macStr); } } catch (Exception e) { failed.add(macStr); } // System.out.println(System.currentTimeMillis()); }); // for (String macStr : listMac) { // System.out.println(System.currentTimeMillis()+" -------------"); // try { // CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(macStr, a5Frame); // if (commonFrame != null) { // success.add(macStr); // } else { // failed.add(macStr); // } // } catch (Exception e) { // failed.add(macStr); // } // System.out.println(System.currentTimeMillis()); // } Map resultMap = new HashMap<>(); resultMap.put("success", success); resultMap.put("failed", failed); return ResponseUtil.success(resultMap); } }