2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-04 e55c8b0a92eb9715edd90c31dfd4de51a47b588b
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -6,19 +6,19 @@
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.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;
@@ -62,20 +62,23 @@
        return ResponseUtil.success(poleService.updatePole(poleId, param));
    }
    @PostMapping("/delete/{poleId}")
    public ResponseVO<Object> deletePole(@PathVariable Long poleId) {
    @PostMapping("/delete")
    public ResponseVO<Object> deletePole(@RequestBody List<Long> poleIds) {
        if (!permissionConfig.check(MenuEnum.POLE_DELETE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(poleService.deletePole(poleId));
        return ResponseUtil.success(poleService.deletePole(poleIds));
    }
    @PostMapping("/listDetail")
    public ResponseVO<Object> listPoleDetail(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
    public ResponseVO<Object> listPoleDetail(BaseConditionVO baseConditionVO,
                                             @RequestBody PoleStatesParam param,
                                             @RequestParam(value = "order", required = false) Integer order,
                                             @RequestParam(value = "seq", required = false) Integer seq) {
        if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param);
        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
        List<Pole> listCommonPage = (List<Pole>) commonPage.getList();
        List<PoleBindVO> listResult = new ArrayList<>();
@@ -89,15 +92,19 @@
    }
    @PostMapping("/list")
    public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
    public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO,
                                       @RequestBody PoleStatesParam param,
                                       @RequestParam(value = "order", required = false) Integer order,
                                       @RequestParam(value = "seq", required = false) Integer seq) {
        if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param);
        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
        return ResponseUtil.success(commonPage);
    }
    //已启用
    @GetMapping("/listPoleAndState")
    public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
                                               @RequestParam(value = "groupid", required = false) Long groupid) {
@@ -112,6 +119,7 @@
    /**
     * 在线数量
     */
//    @AnonymousAccess
    @GetMapping("/online")
    public ResponseVO<Object> online() {
        return ResponseUtil.success(poleService.poleCount());
@@ -121,17 +129,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())) {
@@ -196,14 +216,14 @@
    }
    /**
     * 灯杆绑定设备
     * 灯杆解绑设备
     */
    @PostMapping("/unBind/{poleId}")
    public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
        if (!permissionConfig.check(MenuEnum.UNBIND.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
        boolean result = poleService.unBindPole(poleId, param.getDeviceCode(), param.getDeviceType());
        if (result) {
            //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助, 10熙讯, 11农耕
            switch (param.getDeviceType().toString()) {
@@ -248,6 +268,7 @@
        }
    }
    @AnonymousAccess
    @PostMapping("/listStatusByDeviceCode")
    public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList) {
        if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
@@ -266,6 +287,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())) {
@@ -274,9 +351,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
@@ -289,7 +374,7 @@
    }
    /**
     * 查看灯杆绑定的设备
     * 查看灯杆绑定的设备   //已合并到列表功能 此接口已废弃
     */
    @PostMapping("/getPoleBindDevice/{poleId}")
    public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) {
@@ -303,12 +388,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 != null && vnnoxResult.getSuccess() != null && !vnnoxResult.getSuccess().isEmpty()) {
            return ResponseUtil.success("推送成功");
        } else {
            return ResponseUtil.fail("推送失败");
        }
    }
    /**
@@ -322,4 +415,12 @@
        return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
    }
    @AnonymousAccess
    @PostMapping("/setRedis")
    public ResponseVO<Object> pushAirDataToXiXun() {
        poleService.setRedis();
        return ResponseUtil.success("更新状态完成");
    }
}