feiyu02
2024-11-08 d2727f231319a48019bc3b87439136ab49b97b9b
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
package cn.flightfeather.supervision.lightshare.web
 
import cn.flightfeather.supervision.domain.ds1.entity.Task
import cn.flightfeather.supervision.lightshare.service.TaskService
import cn.flightfeather.supervision.lightshare.vo.AreaVo
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import org.springframework.web.bind.annotation.*
 
@Api(tags = ["TaskController"], description = "巡查总任务和日任务API接口")
@RestController
@RequestMapping("/task")
class TaskController(val taskService: TaskService) {
 
    @PutMapping
    fun save(@RequestBody task: Task) = taskService.save(task)
 
    @PutMapping("/create")
    fun create(@RequestBody task: Task) = resPack { taskService.create(task) }
 
    @PostMapping
    fun update(@RequestBody task: Task) = taskService.update(task)
 
    @GetMapping("/{id}")
    fun getById(@PathVariable id: String) = taskService.findByID(id)
 
    @PostMapping("/lastTask")
    fun getLastTask(@RequestBody task: Task) = taskService.findLastTask(task)
 
    @GetMapping
    fun getAll() = taskService.findAll()
 
    @DeleteMapping("/{id}")
    fun deleteById(@PathVariable id: String) = taskService.delete(id)
 
    @GetMapping("/alltask/{type}")
    fun getAllbyCondition(@PathVariable type: Int) = taskService.getAllbyCondition(type)
 
    /**
     * 根据用户及用户类型获取某月所有总任务
     */
    @GetMapping("/mothTask/{userId}")
    fun getMonthTask(
            @PathVariable("userId") userId: String,
            @RequestParam("date") date: String,
            @RequestParam("userType") userType: String
    ) = taskService.getMonthTaskList(date, userId, userType)
 
    /**
     * 根据顶层任务id及用户id和类型获取日任务
     */
    @GetMapping("/dayTask/{taskId}")
    fun getDayTask(
            @PathVariable("taskId") taskId: String,
            @RequestParam("userId") userId: String,
            @RequestParam("userType") userType: String
    ) = taskService.getDayTask(taskId, userId, userType)
 
    @GetMapping("/taskprogress/{userid}")
    fun getTaskProgress(@PathVariable userid: String) = taskService.getTaskProgress(userid)
 
    @PostMapping("/getFrequency")
    fun getFrequency(@RequestParam(value = "id", required = true)id: String) = taskService.getFrequency(id)
 
    @PostMapping("/getRank")
    fun getRank(@RequestParam(value = "id", required = true) id: String,
                @RequestParam(value = "curSceneTypeId", required = true) sceneTypeId: String,
                @RequestParam(value = "sceneId", required = false) sceneId: String?) = taskService.getRank(id, sceneTypeId, sceneId)
 
    @PostMapping("/find")
    fun findTask(@RequestBody areaVo: AreaVo) = resPack { taskService.findTask(areaVo) }
 
    @ApiOperation(value = "获取总任务的完成情况")
    @PostMapping("/progress")
    fun findTaskProgress(@RequestBody areaVo: AreaVo) = resPack { taskService.findTaskProgress(areaVo) }
}