package com.sandu.ximon.admin.controller;
|
|
/**
|
* @author ZZQ
|
* @date 2022/4/24 17:36
|
*/
|
|
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.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.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.security.PermissionConfig;
|
import com.sandu.ximon.admin.service.AirDataNongGengService;
|
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
|
import com.sandu.ximon.dao.bo.AirDataNongGengBo;
|
import com.sandu.ximon.dao.enums.MenuEnum;
|
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_nonggeng")
|
public class AirDataNongGengController {
|
private PermissionConfig permissionConfig;
|
private final AirDataNongGengService airDataNongGengService;
|
|
@PostMapping("/updateAirEquipmentInfo")
|
public ResponseVO<Object> updataAirEquipmentInfo(@RequestBody List<String> listMac) {
|
AirDataNewReqInnerFrame airDataNewReqInnerFrame = new AirDataNewReqInnerFrame();
|
A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), airDataNewReqInnerFrame);
|
System.out.println(a5Frame + " --------a5Frame");
|
|
List<String> success = new ArrayList<>();
|
List<String> failed = new ArrayList<>();
|
listMac.parallelStream().forEach(macStr -> {
|
try {
|
|
CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(macStr, a5Frame);
|
StoreOperationRecordsUtils.storeInnerFrameData(macStr, "大气设备-心跳包", a5Frame, commonFrame);
|
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<String, List> resultMap = new HashMap<>();
|
resultMap.put("success", success);
|
resultMap.put("failed", failed);
|
return ResponseUtil.success(resultMap);
|
}
|
|
/**
|
* 查询大气数据模糊查询
|
*
|
* @param keyword 关键字
|
* @return
|
*/
|
@GetMapping("/listAirData")
|
public ResponseVO<Object> listAirDataByKeyword(BaseConditionVO baseConditionVO, @RequestParam(required = false) String keyword) {
|
if (!permissionConfig.check(MenuEnum.AIR_DATA__NONG_GENG_LIST.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
List<AirDataNongGengBo> list = airDataNongGengService.listAirDataByKeyword(baseConditionVO, keyword);
|
return ResponseUtil.successPage(list);
|
}
|
}
|