package com.sandu.ximon.admin.controller; /** * @author ZZQ * @date 2022/4/24 17:36 */ import com.sandu.common.domain.ResponseVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.manager.iot.amqp.processor.AirDataProcessor; import com.sandu.ximon.admin.manager.iot.frame.A5Frame; import com.sandu.ximon.admin.manager.iot.frame.inner.request.AirDataNewReqInnerFrame; 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 lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 大气数据 */ @RestController @AllArgsConstructor @RequestMapping("/v1/admin/airdata_nonggeng") public class AirDataNongGengController { @PostMapping("/updateAirEquipmentInfo") public ResponseVO updataAirEquipmentInfo(@RequestBody List listMac) { AirDataNewReqInnerFrame airDataNewReqInnerFrame = new AirDataNewReqInnerFrame(); A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), airDataNewReqInnerFrame); System.out.println(a5Frame + " --------a5Frame"); List success = new ArrayList<>(); List failed = new ArrayList<>(); listMac.parallelStream().forEach(macStr -> { try { CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(macStr, a5Frame); System.out.println(commonFrame + " -----------commonFrame"); AirDataProcessor.getInstance().process("a1JsfPG4iKW", macStr, commonFrame); if (commonFrame != null) { success.add(macStr); } else { failed.add(macStr); } } catch (Exception e) { failed.add(macStr); } }); Map resultMap = new HashMap<>(); resultMap.put("success", success); resultMap.put("failed", failed); return ResponseUtil.success(resultMap); } }