2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-10-19 2b9c6e86f1fb2abd7ad7f1a8d74d3fcd515da858
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -6,19 +6,21 @@
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;
import com.sandu.ximon.dao.enums.PoleBindingEnums;
@@ -26,6 +28,7 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
@@ -68,24 +71,41 @@
        return ResponseUtil.success(poleService.deletePole(poleId));
    }
    @PostMapping("/list")
    public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
    @PostMapping("/listDetail")
    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("缺少对应用户权限");
        }
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<Pole> results = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param);
        CommonPage commonPage = CommonPage.restPage(results);
        int size = results.size();
        commonPage.setTotal((long) size);
        commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1);
        if (size % baseConditionVO.getPageSize() == 0) {
            commonPage.setTotalPage(size / baseConditionVO.getPageSize());
        CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param, order, seq);
        List<Pole> listCommonPage = (List<Pole>) commonPage.getList();
        List<PoleBindVO> listResult = new ArrayList<>();
        for (Pole pole : listCommonPage) {
            PoleBindVO bindByPoleId = poleService.getBindByPoleId(pole.getId());
            bindByPoleId.setPole(pole);
            listResult.add(bindByPoleId);
        }
        commonPage.setList(listResult);
        return ResponseUtil.success(commonPage);
        // return ResponseUtil.success(poles);
    }
    @PostMapping("/list")
    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, 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) {
@@ -100,7 +120,7 @@
    /**
     * 在线数量
     */
    @AnonymousAccess
//    @AnonymousAccess
    @GetMapping("/online")
    public ResponseVO<Object> online() {
        return ResponseUtil.success(poleService.poleCount());
@@ -110,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())) {
@@ -129,7 +161,6 @@
        return ResponseUtil.success(poleService.poleReset(poleId));
    }
//TODO  设备的绑定解绑都要单独重新处理
    /**
     * 灯杆绑定设备
@@ -186,7 +217,7 @@
    }
    /**
     * 灯杆绑定设备
     * 灯杆解绑设备
     */
    @PostMapping("/unBind/{poleId}")
    public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
@@ -238,6 +269,7 @@
        }
    }
    @AnonymousAccess
    @PostMapping("/listStatusByDeviceCode")
    public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList) {
        if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) {
@@ -256,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())) {
@@ -264,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
@@ -279,9 +375,8 @@
    }
    /**
     * 查看灯杆绑定的设备
     * 查看灯杆绑定的设备   //已合并到列表功能 此接口已废弃
     */
    @AnonymousAccess
    @PostMapping("/getPoleBindDevice/{poleId}")
    public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) {
        if (!permissionConfig.check(MenuEnum.GET_POLE_BINDING.getCode())) {
@@ -294,19 +389,25 @@
    /**
     * 推送大气设备到诺瓦
     */
    @AnonymousAccess
    @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("推送失败");
        }
    }
    /**
     * 推送大气设备到熙讯
     */
    @AnonymousAccess
    @GetMapping("/pushAirDataToXiXun/{poleId}")
    public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) {
        if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_XIXUN.getCode())) {
@@ -315,4 +416,12 @@
        return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
    }
    @AnonymousAccess
    @PostMapping("/setRedis")
    public ResponseVO<Object> pushAirDataToXiXun() {
        poleService.setRedis();
        return ResponseUtil.success("更新状态完成");
    }
}