From 7100c8a4f7dd3fc7d53ffead4475d7a8abc51c12 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期三, 09 九月 2026 02:32:44 +0800
Subject: [PATCH] 完善循环拼接与首页待办真实数据接口
---
ruoyi-admin/src/main/java/com/battery/business/web/TodoController.java | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/battery/business/web/TodoController.java b/ruoyi-admin/src/main/java/com/battery/business/web/TodoController.java
index 481fb79..339f6b0 100644
--- a/ruoyi-admin/src/main/java/com/battery/business/web/TodoController.java
+++ b/ruoyi-admin/src/main/java/com/battery/business/web/TodoController.java
@@ -1,26 +1,37 @@
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')")
+ /** 仅查询自己的待办,不开放按其他负责人 ID 查询。 */
+ @GetMapping("/list") @PreAuthorize("@ss.hasAnyPermi('todo:list:list,todo:list:query')")
public AjaxResult list() { return success().put("rows", service.list(getUserId())); }
+ /** 返回新增待办可选的启用用户。 */
+ @GetMapping("/owners") @PreAuthorize("@ss.hasPermi('todo:list:add')")
+ public AjaxResult owners() { return success(service.owners()); }
+ /** 校验负责人后创建,返回主键确认,不泄露别人待办的详情。 */
@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())); }
+ public AjaxResult create(@RequestBody CreateRequest request) {
+ if (request == null || request.ownerId() == null) return error("负责人不能为空");
+ return success(service.create(request.content(), request.ownerId(), 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("待办不存在、已处理或无权处理"); }
+ public AjaxResult handle(@PathVariable long id, @RequestBody HandleRequest request) {
+ service.handle(id, getUserId(), request == null ? null : request.remark()); return success();
+ }
+ /** 删除只作用于当前负责人自己的记录。 */
@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 AjaxResult remove(@PathVariable long id) { service.remove(id, getUserId()); return success(); }
+ public record CreateRequest(String content, Long ownerId) {}
public record HandleRequest(String remark) {}
}
--
Gitblit v1.7.1