2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-17 53d4c0d723402840c3a591664a839f7ce044bd2d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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.*;
 
/**
 * @Author liuhaonan
 * @Date 2021/12/16 10:03
 * @Version 1.0 音柱任务
 */
@RestController
@AllArgsConstructor
@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));
    }
 
   /* @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("未知错误");
        }
 
    }
 
    @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) {
        if (!permissionConfig.check(MenuEnum.IP_BROADCAST_TASK_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
 
        return ResponseUtil.successPage(ipVolumeMissionService.missionList(baseConditionVO, keyword));
    }
 
    //获取任务详情
    @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));
    }
 
 
    @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));
    }
 
 
}