2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-10-19 612404528a4759a1064f458610832ce056e3b21a
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -6,18 +6,20 @@
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.dto.DeviceStatus;
import com.sandu.ximon.admin.param.PoleBindParam;
import com.sandu.ximon.admin.param.PoleBindingParam;
import com.sandu.ximon.admin.param.PoleParam;
import com.sandu.ximon.admin.param.PoleStatesParam;
import com.sandu.ximon.admin.dto.DeviceStatusDto;
import com.sandu.ximon.admin.param.*;
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.AirEquipmentService;
import com.sandu.ximon.admin.service.IpVolumeService;
import com.sandu.ximon.admin.service.MonitorService;
import com.sandu.ximon.admin.service.PoleService;
import com.sandu.ximon.admin.utils.response.VnnoxResult;
import com.sandu.ximon.admin.vo.PoleBindVO;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.enums.MenuEnum;
@@ -118,6 +120,7 @@
    /**
     * 在线数量
     */
//    @AnonymousAccess
    @GetMapping("/online")
    public ResponseVO<Object> online() {
        return ResponseUtil.success(poleService.poleCount());
@@ -127,17 +130,29 @@
    /**
     * 设置三元码
     */
    @AnonymousAccess
    @PostMapping("/setMac/{baseMac}")
    public ResponseVO<Object> setMac(@PathVariable String baseMac) {
        if (!permissionConfig.check(MenuEnum.POLE_REAL_ADD.getCode())) {
        //判断是否是有设置三元码权限
        if (!permissionConfig.check(MenuEnum.BASE_DEVICE_01.getCode()) && MenuEnum.BASE_DEVICE_01.getCode().equals(baseMac)) {
            return ResponseUtil.fail("缺少对应用户权限");
        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_02.getCode()) && MenuEnum.BASE_DEVICE_02.getCode().equals(baseMac)) {
            return ResponseUtil.fail("缺少对应用户权限");
        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_03.getCode()) && MenuEnum.BASE_DEVICE_03.getCode().equals(baseMac)) {
            return ResponseUtil.fail("缺少对应用户权限");
        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_04.getCode()) && MenuEnum.BASE_DEVICE_04.getCode().equals(baseMac)) {
            return ResponseUtil.fail("缺少对应用户权限");
        } else if (!permissionConfig.check(MenuEnum.BASE_DEVICE_05.getCode()) && MenuEnum.BASE_DEVICE_05.getCode().equals(baseMac)) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(poleService.setMac(baseMac));
    }
    /**
     * 恢复灯杆出厂设置
     */
    @AnonymousAccess
    @PostMapping("/poleReset/{poleId}")
    public ResponseVO<Object> poleReset(@PathVariable Long poleId) {
        if (!permissionConfig.check(MenuEnum.POLE_REAL_RESET.getCode())) {
@@ -254,6 +269,7 @@
        }
    }
    @AnonymousAccess
    @PostMapping("/listStatusByDeviceCode")
    public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList) {
        if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
@@ -272,6 +288,62 @@
        return ResponseUtil.success(statusList);
    }
    /**
     * 查询是否存在可注册设备
     *
     * @param
     * @return
     */
    @AnonymousAccess
    @PostMapping("/isRegisterByCode")
    public ResponseVO<Object> getStatusByCode() {
        if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        ArrayList<String> deviceCodeList = new ArrayList<>();
        deviceCodeList.add("baseDevice01");
        deviceCodeList.add("baseDevice02");
        deviceCodeList.add("baseDevice03");
        deviceCodeList.add("baseDevice04");
        deviceCodeList.add("baseDevice05");
        for (String s : deviceCodeList) {
            if (s == null) {
                return ResponseUtil.fail("参数不能为空");
            }
        }
        if (ArrayUtil.isEmpty(deviceCodeList)) {
            return ResponseUtil.fail("参数不能为空");
        }
        List<DeviceStatus> statusList = poleService.listStatusByDeviceCode(deviceCodeList);
        List<DeviceStatusDto> list = new ArrayList<>();
        String s = "baseDevice0";
        for (int i = 0; i < deviceCodeList.size(); i++) {
            DeviceStatusDto dto = new DeviceStatusDto();
            dto.setDeviceCode(s + (i + 1));
            dto.setName(s + (i + 1));
            list.add(dto);
        }
        statusList.forEach(
                status -> {
                    list.forEach(
                            dto -> {
                                if (status.getDeviceCode().equals(dto.getDeviceCode())) {
                                    //status=1时  设备可以注册
                                    if (status.getStatus() == 1) {
                                        dto.setStatus(1);
                                    }
                                }
                            }
                    );
                }
        );
        return ResponseUtil.success(list);
    }
    @PostMapping("/ClientBindingPole")
    public ResponseVO<Object> ClientBindingPole(@RequestBody PoleBindParam param) {
        if (!permissionConfig.check(MenuEnum.CLIENT_BINDING_POLE.getCode())) {
@@ -280,9 +352,17 @@
        return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds()));
    }
    @PostMapping("/ClientUnBindingPole")
    public ResponseVO<Object> ClientUnBindingPole(@RequestBody PoleBindParam param) {
        if (!permissionConfig.check(MenuEnum.CLIENT_UNBINDING_POLE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(poleService.ClientUnBindingPole(param.getClientId(), param.getPoleIds()));
    }
    /**
     * 查找自己拥有的灯杆
     * 查找拥有的灯杆
     */
    @PostMapping("/getOwnerPole/{cilentId}")
    public ResponseVO<Object> getOwnerPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
@@ -309,12 +389,20 @@
    /**
     * 推送大气设备到诺瓦
     */
    @GetMapping("/pushAidDataToNova/{poleId}")
    public ResponseVO<Object> pushAirDataToNova(@PathVariable Long poleId) {
    @PostMapping("/pushAidDataToNova")
    public ResponseVO<Object> pushAirDataToNova(@RequestBody @Validated PushAirDataToNovaParam param) {
        if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_NOVA.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(poleService.pushAirDataToNova(poleId));
        if (param.getDuration() <= 0 || param.getDuration() > 86400000) {
            throw new BusinessException("播放时间需大于零且小于86400000 !");
        }
        VnnoxResult vnnoxResult = poleService.pushAirDataToNova(param);
        if (vnnoxResult.getSuccess().size() != 0) {
            return ResponseUtil.success("推送成功");
        } else {
            return ResponseUtil.fail("推送失败");
        }
    }
    /**
@@ -328,4 +416,12 @@
        return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
    }
    @AnonymousAccess
    @PostMapping("/setRedis")
    public ResponseVO<Object> pushAirDataToXiXun() {
        poleService.setRedis();
        return ResponseUtil.success("更新状态完成");
    }
}