2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-04 2611d27616bdbea6331f75a0147bd67c95f2eb0e
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/IpVolumeMissionController.java
@@ -1,9 +1,17 @@
package com.sandu.ximon.admin.controller;
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.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.IpVolumeMissionParam;
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.IpVolumeMissionService;
import com.sandu.ximon.dao.domain.IpVolumeMission;
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@@ -17,30 +25,131 @@
@RequestMapping("/v1/volumeMission")
public class IpVolumeMissionController {
    private final IpVolumeMissionService ipVolumeMissionService;
    private PermissionConfig permissionConfig;
    /**
     * @param missionParam
     * @return
     */
    @PostMapping("/add")
    public ResponseVO<Object> addMission(@RequestBody IpVolumeMissionParam missionParam) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_ADD.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ipVolumeMissionService.addMission(missionParam));
    }
    @GetMapping("/update/{id}")
    public ResponseVO<Object> updateMission(@PathVariable Long id, @RequestBody IpVolumeMissionParam missionParam) {
        return ResponseUtil.success(ipVolumeMissionService.updateMission(id, missionParam));
   /* @PostMapping("/add1")
    public ResponseVO<Object> add1() {
        return ResponseUtil.success(ipVolumeMissionService.add1());
    }*/
    /**
     * @param taskId
     * @param missionParam
     * @return 0:成功 1:服务器无该任务 2:任务正在执行,无法修改 3:服务器修改失败
     * 4:任务名称不可为空  5:文件列表不可为空 6:终端列表不可为空
     */
    @PostMapping("/update/{taskId}")
    public ResponseVO<Object> updateMission(@PathVariable Integer taskId, @RequestBody IpVolumeMissionParam missionParam) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_UPDATE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        Integer result = ipVolumeMissionService.updateMission(taskId, missionParam);
        if (result == 0) {
            return ResponseUtil.success("修改成功");
        } else if (result == 1) {
            return ResponseUtil.fail("服务器无该任务");
        } else if (result == 2) {
            return ResponseUtil.fail("任务正在执行,无法修改");
        } else if (result == 3) {
            return ResponseUtil.fail("服务器修改失败");
        } else if (result == 4) {
            return ResponseUtil.fail("任务名称不可为空");
        } else if (result == 5) {
            return ResponseUtil.fail("文件列表不可为空");
        } else if (result == 6) {
            return ResponseUtil.fail("终端列表不可为空");
        } else {
            return ResponseUtil.fail("未知错误");
        }
    }
    @GetMapping("/delete/{id}")
    public ResponseVO<Object> deleteMission(@PathVariable Long id) {
        return ResponseUtil.success(ipVolumeMissionService.deleteMission(id));
    @PostMapping("/delete/{taskId}")
    public ResponseVO<Object> deleteMission(@PathVariable Integer taskId) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_DELETE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        //  0:成功   1:任务不处于空闲状态 2:服务器删除失败
        Integer result = ipVolumeMissionService.deleteMission(taskId);
        if (result == 0) {
            return ResponseUtil.success("删除成功");
        } else if (result == 1) {
            return ResponseUtil.fail("任务正在执行中");
        } else if (result == 2) {
            return ResponseUtil.fail("服务器删除失败");
        } else if (result == -1) {
            return ResponseUtil.success("服务器删除成功,数据库未找到该任务");
        } else {
            return ResponseUtil.fail("未知错误");
        }
    }
    @GetMapping("/list")
    public ResponseVO<Object> listMission(BaseConditionVO baseConditionVO,
                                          @RequestParam(value = "keyword", required = false) String keyword,
                                          @RequestParam(value = "order", required = false) Integer order,
                                          @RequestParam(value = "seq", required = false) Integer seq) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.successPage(ipVolumeMissionService.missionList(baseConditionVO, keyword,order,seq));
    }
    //获取任务详情
    @GetMapping("/getByTaskId/{taskId}")
    public ResponseVO<Object> getByTaskId(@PathVariable Integer taskId) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_DETAIL.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ipVolumeMissionService.getByTaskId(taskId));
    }
    // @AnonymousAccess
    @PostMapping("/list")
    public ResponseVO<Object> listMission() {
        //List<LampPost> list = lampPostService.list();
        // return ResponseUtil.success(list);
        return ResponseUtil.success(ipVolumeMissionService.list());
        // todo
    @GetMapping("/playTask/{taskId}")
    public ResponseVO<Object> playTask(@PathVariable Integer taskId) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_PLAY.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ipVolumeMissionService.playTask(taskId));
    }
    @GetMapping("/continueTask/{taskId}")
    public ResponseVO<Object> continueTask(@PathVariable Integer taskId) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_CONTINUE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ipVolumeMissionService.continueTask(taskId));
    }
    @GetMapping("/pauseTask/{taskId}")
    public ResponseVO<Object> pauseTask(@PathVariable Integer taskId) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_PAUSE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ipVolumeMissionService.pauseTask(taskId));
    }
    @GetMapping("/stopTask/{taskId}")
    public ResponseVO<Object> stopTask(@PathVariable Integer taskId) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_STOP.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ipVolumeMissionService.stopTask(taskId));
    }
}