package com.ruoyi.web.controller.api;
|
|
|
import com.alibaba.fastjson2.JSON;
|
import com.ruoyi.common.basic.PageInfo;
|
import com.ruoyi.common.core.domain.BasePage;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.redis.RedisCache;
|
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.system.dto.MissionIdDto;
|
import com.ruoyi.system.dto.TMissionUserDto;
|
import com.ruoyi.system.model.TAppUser;
|
import com.ruoyi.system.model.TMission;
|
import com.ruoyi.system.model.TMissionAssignRule;
|
import com.ruoyi.system.model.TMissionReassign;
|
import com.ruoyi.system.service.TAppUserService;
|
import com.ruoyi.system.service.TMissionAssignRuleService;
|
import com.ruoyi.system.service.TMissionReassignService;
|
import com.ruoyi.system.service.TMissionService;
|
import com.ruoyi.system.vo.MissionTotalVo;
|
import com.ruoyi.system.vo.TotalHistoryVo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 任务管理 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2025-09-28
|
*/
|
@RestController
|
@RequestMapping("")
|
@Api(tags = "任务App")
|
public class TMissionController {
|
private final TokenService tokenService;
|
private final TAppUserService appUserService;
|
private final TMissionService missionService;
|
private final TMissionReassignService missionReassignService;
|
private final TMissionAssignRuleService missionAssignRuleService;
|
|
|
@Autowired
|
public TMissionController(TokenService tokenService, TAppUserService appUserService, TMissionService missionService, RedisCache redisCache, TMissionReassignService missionReassignService, TMissionAssignRuleService missionAssignRuleService) {
|
this.tokenService = tokenService;
|
this.appUserService = appUserService;
|
this.missionService = missionService;
|
this.missionReassignService = missionReassignService;
|
this.missionAssignRuleService = missionAssignRuleService;
|
|
}
|
|
|
@ApiOperation(value = "获取任务列表--任务汇总",notes = "响应参数:R«app任务汇总数»", response = MissionTotalVo.class)
|
@PostMapping(value = "/api/t-mission/missionTotal")
|
public R<MissionTotalVo> missionTotal() {
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
return R.ok(missionService.missionTotal(userId));
|
}
|
|
/**
|
* 获取待执行任务 任务列表
|
*/
|
// @PreAuthorize("@ss.hasPermi('system:mission:list')")
|
@ApiOperation(value = "获取任务列表--待执行任务",notes = "请求参数:基础查询列表dto,响应参数:TMission对象", response = TMission.class)
|
@PostMapping(value = "/api/t-mission/pageNowList")
|
public R<PageInfo<TMission>> pageList(@RequestBody String param) {
|
BasePage query = JSON.parseObject(param, BasePage.class);
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
return R.ok(missionService.pageNowList(query,userId));
|
}
|
/**
|
* 获取抢单任务列表 任务列表
|
*/
|
// @PreAuthorize("@ss.hasPermi('system:mission:list')")
|
@ApiOperation(value = "获取任务列表--抢单任务列表",notes = "请求参数:基础查询列表dto,响应参数:TMission对象", response = BasePage.class)
|
@PostMapping(value = "/api/t-mission/pageGrabList")
|
public R<PageInfo<TMission>> pageGrabList(@RequestBody String param) {
|
BasePage query = JSON.parseObject(param, BasePage.class);
|
return R.ok(missionService.pageGrabList(query));
|
}
|
/**
|
* 获取历史任务 任务列表
|
*/
|
// @PreAuthorize("@ss.hasPermi('system:mission:list')")
|
@ApiOperation(value = "获取任务列表--历史任务",notes = "请求参数:基础查询列表dto,响应参数:TMission对象", response = TMission.class)
|
@PostMapping(value = "/api/t-mission/pageHistoryList")
|
public R<PageInfo<TMission>> pageHistoryList(@RequestBody String param) {
|
BasePage query = JSON.parseObject(param, BasePage.class);
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
return R.ok(missionService.pageHistoryList(query,userId));
|
}
|
|
|
@ApiOperation(value = "获取任务列表--历史任务汇总",notes = "响应参数:app历史任务顶部汇总", response = TotalHistoryVo.class)
|
@PostMapping(value = "/open/t-mission/totalHistory")
|
public R<TotalHistoryVo> totalHistory() {
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
// String userId ="1";
|
return R.ok(missionService.totalHistory(userId));
|
}
|
|
/**
|
* 添加任务
|
*/
|
@ApiOperation(value = "获取任务列表--添加任务",notes = "请求参数:TMission对象", response = TMission.class)
|
@PostMapping(value = "/api/t-mission/addMission")
|
public R<String> addMission(@RequestBody String param) {
|
TMission tMission = JSON.parseObject(param, TMission.class);
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
TAppUser appUser = appUserService.getById(userId);
|
|
tMission.setCommitUserId(userId);
|
tMission.setCommitTime(LocalDateTime.now());
|
tMission.setCommitUserName(appUser.getNickName());
|
tMission.setCommitType(2);
|
tMission.setIsMissionPool(0);
|
missionService.save(tMission);
|
return R.ok(tMission.getId());
|
}
|
|
|
/**
|
* 抢单任务
|
*/
|
@ApiOperation(value = "获取任务列表--抢单任务", response = TMission.class)
|
@PostMapping(value = "/api/t-mission/grabMission")
|
public R<String> grabMission(@RequestBody String param) {
|
MissionIdDto missionId = JSON.parseObject(param, MissionIdDto.class);
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
return R.ok( missionService.grabMission(missionId.getMissionId(),userId));
|
}
|
|
/**
|
* 申请支援
|
*/
|
@ApiOperation(value = "获取任务列表--申请支援/改派", response = TMission.class)
|
@PostMapping(value = "/api/t-mission/requestSupport")
|
public R<?> requestSupport(@RequestBody String param) {
|
TMissionReassign tMissionReassign = JSON.parseObject(param, TMissionReassign.class);
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
TAppUser appUser = appUserService.getById(userId);
|
tMissionReassign.setCommitUserId(userId);
|
tMissionReassign.setCommitTime(LocalDateTime.now());
|
tMissionReassign.setCommitUserName(appUser.getNickName());
|
missionReassignService.save(tMissionReassign);
|
return R.ok();
|
}
|
|
|
|
|
|
/**
|
* 完成任务
|
*/
|
@ApiOperation(value = "获取任务列表--完成任务汇报", response = TMission.class)
|
@PostMapping(value = "/api/t-mission/successMission")
|
public R<?> successMission(@RequestBody String param) {
|
TMissionUserDto dto = JSON.parseObject(param, TMissionUserDto.class);
|
String userId = tokenService.getLoginUserApplet().getUserId();
|
missionService.successMission(dto,userId);
|
return R.ok();
|
}
|
|
|
/**
|
* 获取任务类型
|
*/
|
@ApiOperation(value = "获取任务列表--获取任务类型", response = TMissionAssignRule.class)
|
@PostMapping(value = "/api/t-mission/missionTypeList")
|
public R<List<TMissionAssignRule>> missionTypeList() {
|
List<TMissionAssignRule> list = missionAssignRuleService.list();
|
return R.ok(list);
|
}
|
|
|
/**
|
* 获取任务详情
|
*/
|
@ApiOperation(value = "获取任务列表--获取任务详情", response = TMission.class)
|
@PostMapping(value = "/api/t-mission/detailMission")
|
public R<TMission> detailMission(@RequestBody String param) {
|
MissionIdDto missionId = JSON.parseObject(param, MissionIdDto.class);
|
TMission tMission = missionService.getById(missionId.getMissionId());
|
TMissionAssignRule byId = missionAssignRuleService.getById(tMission.getMissionTypeId());
|
tMission.setMissionType(byId.getTypeName());
|
return R.ok(tMission);
|
}
|
|
}
|