2021与蓝度共同重构项目,服务端
liuhaonan
2022-02-18 81d00b6d3079d721b8c0d2ffa6ef51c10a433eae
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
@@ -3,18 +3,20 @@
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.FrameBuilder;
import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
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.AtmoFunctionCode;
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;
/**
 * 大气数据
@@ -50,14 +52,51 @@
    @PostMapping("/updateAirEquipmentInfo")
    public ResponseVO<Object> updataAirEquipmentInfo(@RequestBody List<String> listMac) {
        AirDataReqInnerFrame airDataReqInnerFrame = new AirDataReqInnerFrame();
        A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), airDataReqInnerFrame);
        IRequestFrame build = FrameBuilder.builderA5().innerFrame(new AirDataReqInnerFrame())
                .orderType(AtmoFunctionCode.QueryHeartBeat.getCode()).build();
//A5Frame frame=new A5Frame(AtmoFunctionCode.QueryHeartBeat.getCode(),build);
//        WrapResponseCommonFrame<A5AtmosphereHeartbeatReportInnerFrame> wrapResponseCommonFrame =
//                MainBoardInvokeSyncService.getInstance().sendRRPC(listMac.get(0), a5Frame, A5AtmosphereHeartbeatReportInnerFrame.class);
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(listMac.get(0), build);
        List<String> success = new ArrayList<>();
        List<String> failed = new ArrayList<>();
        return ResponseUtil.success(commonFrame);
        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<String, List> resultMap = new HashMap<>();
        resultMap.put("success", success);
        resultMap.put("failed", failed);
        return ResponseUtil.success(resultMap);
    }
}