package com.ruoyi.web.controller.api;
import com.alibaba.fastjson.JSON;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TMission;
import com.ruoyi.system.query.TMissionQuery;
import com.ruoyi.system.service.TMissionReassignService;
import com.ruoyi.system.service.TMissionService;
import com.ruoyi.system.vo.TMissionReassignVO;
import com.ruoyi.system.vo.TMissionVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
*
* 任务管理 前端控制器
*
*
* @author xiaochen
* @since 2025-09-28
*/
@Api(tags = "任务管理")
@RestController
@RequestMapping("")
public class TMissionController {
private final TMissionService missionService;
private final TMissionReassignService missionReassignService;
private final TokenService tokenService;
@Autowired
public TMissionController(TMissionService missionService, TMissionReassignService missionReassignService, TokenService tokenService) {
this.missionService = missionService;
this.missionReassignService = missionReassignService;
this.tokenService = tokenService;
}
/**
* 任务管理列表
*/
//@PreAuthorize("@ss.hasPermi('system:mission:pageListAssigned')")
@ApiOperation(value = "任务管理分页列表-待分配任务池", response = TMissionQuery.class)
@PostMapping(value = "/api/t-mission/pageListAssigned")
public R> pageListAssigned(@RequestBody String param) {
TMissionQuery query = JSON.parseObject(param, TMissionQuery.class);
return R.ok(missionService.pageListAssigned(query));
}
/**
* 任务管理列表
*/
//@PreAuthorize("@ss.hasPermi('system:mission:pageListReassignAudit')")
@ApiOperation(value = "任务管理分页列表-改派支援审核", response = TMissionReassignVO.class)
@PostMapping(value = "/api/t-mission/pageListReassignAudit")
public R> pageListReassignAudit(@RequestBody String param) {
TMissionQuery query = JSON.parseObject(param, TMissionQuery.class);
return R.ok(missionService.pageListReassignAudit(query));
}
/**
* 任务管理列表
*/
//@PreAuthorize("@ss.hasPermi('system:mission:pageListMissionPool')")
@ApiOperation(value = "任务管理分页列表-抢单任务池", response = TMissionVO.class)
@PostMapping(value = "/api/t-mission/pageListMissionPool")
public R> pageListMissionPool(@RequestBody String param) {
TMissionQuery query = JSON.parseObject(param, TMissionQuery.class);
return R.ok(missionService.pageListMissionPool(query));
}
/**
* 添加任务管理管理
*/
//@PreAuthorize("@ss.hasPermi('system:mission:add')")
@Log(title = "任务管理信息-新增任务管理", businessType = BusinessType.INSERT)
@ApiOperation(value = "添加任务管理",response = TMission.class)
@PostMapping(value = "/api/t-mission/add")
public R add(@RequestBody String param) {
TMission dto = JSON.parseObject(param,TMission.class);
missionService.save(dto);
return R.ok();
}
/**
* 查看任务管理详情
*/
//@PreAuthorize("@ss.hasPermi('system:mission:detail')")
@ApiOperation(value = "查看任务管理详情")
@GetMapping(value = "/open/t-mission/getDetailById")
public R getDetailById(@RequestParam String id) {
TMission equipment = missionService.getById(id);
return R.ok(equipment);
}
}