package com.battery.business.web;
|
|
import java.util.List;
|
import com.battery.business.service.TodoService;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
|
/** 待办列表接口;负责人身份由服务端从当前登录会话取得。 */
|
@RestController
|
@RequestMapping("/system/todo")
|
public class TodoController extends BaseController {
|
private final TodoService service;
|
public TodoController(TodoService service) { this.service = service; }
|
@GetMapping("/list") @PreAuthorize("@ss.hasPermi('todo:list:query')")
|
public AjaxResult list() { return success().put("rows", service.list(getUserId())); }
|
@PostMapping @PreAuthorize("@ss.hasPermi('todo:list:add')")
|
public AjaxResult create(@RequestBody CreateRequest request) { if (request == null || request.content() == null || request.content().trim().isEmpty() || request.ownerId() == null || request.ownerName() == null) return error("待办内容和负责人不能为空"); return success(service.create(request.content(), request.ownerId(), request.ownerName(), getUserId(), getUsername())); }
|
@PutMapping("/{id}/handle") @PreAuthorize("@ss.hasPermi('todo:list:handle')")
|
public AjaxResult handle(@PathVariable long id,@RequestBody HandleRequest request) { if (request == null || request.remark() == null || request.remark().trim().isEmpty()) return error("处理说明不能为空"); return service.handle(id,getUserId(),request.remark()) ? success() : error("待办不存在、已处理或无权处理"); }
|
@DeleteMapping("/{id}") @PreAuthorize("@ss.hasPermi('todo:list:remove')")
|
public AjaxResult remove(@PathVariable long id) { return service.remove(id,getUserId()) ? success() : error("待办不存在或无权删除"); }
|
public record CreateRequest(String content, Long ownerId, String ownerName) {}
|
public record HandleRequest(String remark) {}
|
}
|