2021与蓝度共同重构项目,服务端
fix
zhanzhiqin
2022-04-22 1a8340a0bb7dd7cd72bb6ca5fb5a3e3accda2924
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -2,31 +2,31 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.common.util.SpringContextHolder;
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.security.PermissionConfig;
import com.sandu.ximon.admin.service.AirEquipmentService;
import com.sandu.ximon.admin.service.BroadcastTerminalV2Service;
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.dao.domain.Pole;
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import java.util.Arrays;
import java.sql.Wrapper;
import java.util.List;
import java.util.Map;
/**
 * 灯杆模块以及设置分组到对应灯杆
@@ -40,8 +40,9 @@
    private final PoleService poleService;
    private MonitorService monitorService;
    private BroadcastTerminalV2Service broadcastTerminalV2Service;
    private IpVolumeService broadcastTerminalV2Service;
    private AirEquipmentService airEquipmentService;
    private final PermissionConfig permissionConfig;
    @PostMapping("/add")
    public ResponseVO<Object> addPole(@RequestBody @Validated PoleParam param) {
@@ -58,19 +59,38 @@
        return ResponseUtil.success(poleService.deletePole(poleId));
    }
    @GetMapping("/listPoleAndState")//可以整合//已整合 弃用
    @PostMapping("/list")
    public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) {
        if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<Pole> poles = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(),param);
        return ResponseUtil.success(poles);
        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());
        }
        return ResponseUtil.success(commonPage);
        // return ResponseUtil.success(poles);
    }
    @GetMapping("/list")
    @GetMapping("/listPoleAndState")
    public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword,
                                               @RequestParam(value = "groupid", required = false) Long groupid) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(),keyword,groupid);
        List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), keyword, groupid);
        return ResponseUtil.successPage(poles);
    }
    /**
     * 在线数量
     */
    @GetMapping("/online")
    public ResponseVO<Object> online() {
        return ResponseUtil.success(poleService.poleCount());
    }
@@ -101,9 +121,15 @@
    public ResponseVO<Object> bindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
        boolean result = poleService.bindPole(poleId, param);
        if (result) {
            //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助
            //设备类型,0路灯,1nove,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助, 10熙讯
            switch (param.getDeviceType()) {
                case 0:
                    Pole pole = poleService.getById(poleId);
                    if (pole != null) {
                        pole.setPoleName(param.getDeviceName());
                        pole.setDeviceCode(param.getDeviceCode());
                        poleService.updateById(pole);
                    }
                    break;
                case 1:
                    break;
@@ -125,6 +151,8 @@
                    break;
                case 9:
                    break;
                case 10:
                    break;
                default:
                    break;
            }
@@ -139,12 +167,18 @@
     * 灯杆绑定设备
     */
    @PostMapping("/unBind/{poleId}")
    public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) {
    public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody PoleBindingParam param) {
        boolean result = poleService.unBindPole(poleId, param.getDeviceCode());
        if (result) {
            //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助
            //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助, 10熙讯
            switch (param.getDeviceType()) {
                case 0:
                    //删除灯杆的devicescode
                    Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId));
                    if (pole != null) {
                        pole.setDeviceCode(null);
                        poleService.updateById(pole);
                    }
                    break;
                case 1:
                    break;
@@ -165,6 +199,8 @@
                case 8:
                    break;
                case 9:
                    break;
                case 10:
                    break;
                default:
                    break;
@@ -197,4 +233,31 @@
    }
    /**
     * 查找自己拥有的灯杆
     */
    @PostMapping("/getOwnerPole/{cilentId}")
    public ResponseVO<Object> getOwnerPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
            , @PathVariable Long cilentId) {
        List<Pole> results = poleService.getOwnerPole(baseConditionVO, keyword, cilentId);
//        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());
//        }
//        return ResponseUtil.success(commonPage);
        return ResponseUtil.success(results);
    }
    /**
     * 查看灯杆绑定的设备
     */
    @PostMapping("/getPoleBindDevice/{poleId}")
    public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) {
        return ResponseUtil.success(poleService.getBindByPoleId(poleId));
    }
}