From f9114ffadfab1c01198dd980c3afb66d0c44a5ea Mon Sep 17 00:00:00 2001
From: zzw <228544128@qq.com>
Date: 星期二, 06 十月 2026 18:22:00 +0800
Subject: [PATCH] fix: limit equipment picker to selected X number
---
emergency-repair-server/src/main/java/com/emergencyrepair/system/controller/SystemController.java | 160 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 130 insertions(+), 30 deletions(-)
diff --git a/emergency-repair-server/src/main/java/com/emergencyrepair/system/controller/SystemController.java b/emergency-repair-server/src/main/java/com/emergencyrepair/system/controller/SystemController.java
index 2f96559..09f271c 100644
--- a/emergency-repair-server/src/main/java/com/emergencyrepair/system/controller/SystemController.java
+++ b/emergency-repair-server/src/main/java/com/emergencyrepair/system/controller/SystemController.java
@@ -1,13 +1,16 @@
package com.emergencyrepair.system.controller;
import com.emergencyrepair.business.dto.Requests;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.emergencyrepair.business.entity.BaseEquipment;
-import com.emergencyrepair.business.entity.Contractor;
import com.emergencyrepair.business.entity.EngineeringMajor;
import com.emergencyrepair.business.entity.ProductNode;
import com.emergencyrepair.business.entity.TeamMajor;
import com.emergencyrepair.common.Result;
import com.emergencyrepair.system.entity.SysMenu;
+import com.emergencyrepair.system.entity.SysErrorLog;
+import com.emergencyrepair.system.entity.SysLoginLog;
+import com.emergencyrepair.system.entity.SysOperationLog;
import com.emergencyrepair.system.entity.SysRole;
import com.emergencyrepair.system.service.SystemService;
import lombok.RequiredArgsConstructor;
@@ -19,6 +22,7 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@@ -31,13 +35,97 @@
private final SystemService systemService;
@GetMapping("/menu/nav")
- public Result<List<SysMenu>> nav() {
- return Result.ok(systemService.menuTree());
+ public Result<List<SysMenu>> nav(@RequestHeader(value = "X-Username", required = false) String username) {
+ return Result.ok(systemService.menuTreeForUser(username));
}
@GetMapping("/menu/list")
public Result<List<SysMenu>> menuList() {
return Result.ok(systemService.listMenus());
+ }
+
+ @GetMapping("/menu/tree")
+ public Result<List<SysMenu>> menuTreeWithButtons() {
+ return Result.ok(systemService.menuTreeWithButtons());
+ }
+
+ @GetMapping("/menu/buttons")
+ public Result<Map<String, Object>> menuButtons(@RequestParam Long menuId) {
+ return Result.ok(systemService.menuButtons(menuId));
+ }
+
+ @PostMapping("/menu/buttons")
+ public Result<Void> syncMenuButtons(@RequestBody Requests.ButtonSyncRequest request) {
+ systemService.syncMenuButtons(request.getMenuId(), request.getCodes());
+ return Result.ok();
+ }
+
+ @GetMapping("/users")
+ public Result<Map<String, Object>> users(@RequestParam(required = false) String keyword,
+ @RequestParam(required = false) Long deptId,
+ @RequestParam(required = false) Long roleId,
+ @RequestParam(defaultValue = "1") int current,
+ @RequestParam(defaultValue = "20") int size) {
+ return Result.ok(systemService.userPage(keyword, deptId, roleId, current, size));
+ }
+
+ @GetMapping("/users/{userId}/roles")
+ public Result<List<String>> userRoles(@PathVariable Long userId) {
+ return Result.ok(systemService.userRoleIds(userId));
+ }
+
+ @PutMapping("/users/{userId}/roles")
+ public Result<Void> saveUserRoles(@PathVariable Long userId, @RequestBody Requests.UserRoleRequest request) {
+ systemService.saveUserRoles(userId, request.getRoleIds());
+ return Result.ok();
+ }
+
+ @PutMapping("/users/roles/batch")
+ public Result<Void> saveBatchUserRoles(@RequestBody Requests.BatchUserRoleRequest request) {
+ systemService.saveUserRolesBatch(request.getUserIds(), request.getRoleIds(), request.getMode());
+ return Result.ok();
+ }
+
+ @GetMapping("/depts")
+ public Result<List<Map<String, Object>>> depts() {
+ return Result.ok(systemService.depts());
+ }
+
+ @GetMapping("/login-logs")
+ public Result<Page<SysLoginLog>> loginLogs(@RequestParam(defaultValue = "1") int current,
+ @RequestParam(defaultValue = "20") int size,
+ @RequestParam(required = false) String keyword,
+ @RequestParam(required = false) String status,
+ @RequestParam(required = false) String startDate,
+ @RequestParam(required = false) String endDate) {
+ return Result.ok(systemService.loginLogPage(current, size, keyword, status, startDate, endDate));
+ }
+
+ @GetMapping("/operation-logs")
+ public Result<Page<SysOperationLog>> operationLogs(@RequestParam(defaultValue = "1") int current,
+ @RequestParam(defaultValue = "20") int size,
+ @RequestParam(required = false) String keyword,
+ @RequestParam(required = false) String module,
+ @RequestParam(required = false) String operationType,
+ @RequestParam(required = false) String startDate,
+ @RequestParam(required = false) String endDate) {
+ return Result.ok(systemService.operationLogPage(current, size, keyword, module, operationType, startDate, endDate));
+ }
+
+ @GetMapping("/error-logs")
+ public Result<Page<SysErrorLog>> errorLogs(@RequestParam(defaultValue = "1") int current,
+ @RequestParam(defaultValue = "20") int size,
+ @RequestParam(required = false) String keyword,
+ @RequestParam(required = false) String module,
+ @RequestParam(required = false) String exceptionType,
+ @RequestParam(required = false) String startDate,
+ @RequestParam(required = false) String endDate) {
+ return Result.ok(systemService.errorLogPage(current, size, keyword, module, exceptionType, startDate, endDate));
+ }
+
+ @GetMapping("/error-logs/{id}")
+ public Result<SysErrorLog> errorLog(@PathVariable Long id) {
+ return Result.ok(systemService.errorLog(id));
}
@PostMapping("/menu")
@@ -81,27 +169,20 @@
return Result.ok();
}
- @GetMapping("/contractors")
- public Result<List<Contractor>> contractors() {
- return Result.ok(systemService.listContractors());
+ @GetMapping("/roles/{roleId}/users")
+ public Result<Map<String, Object>> roleUsers(@PathVariable Long roleId) {
+ return Result.ok(systemService.roleUsers(roleId));
}
- @PostMapping("/contractors")
- public Result<Contractor> createContractor(@RequestBody Contractor contractor) {
- contractor.setId(null);
- return Result.ok(systemService.saveContractor(contractor));
- }
-
- @PutMapping("/contractors/{id}")
- public Result<Contractor> updateContractor(@PathVariable Long id, @RequestBody Contractor contractor) {
- contractor.setId(id);
- return Result.ok(systemService.saveContractor(contractor));
- }
-
- @DeleteMapping("/contractors/{id}")
- public Result<Void> deleteContractor(@PathVariable Long id) {
- systemService.deleteContractor(id);
+ @PutMapping("/roles/{roleId}/users")
+ public Result<Void> saveRoleUsers(@PathVariable Long roleId, @RequestBody Requests.RoleUserRequest request) {
+ systemService.saveRoleUsers(roleId, request.getUserIds());
return Result.ok();
+ }
+
+ @GetMapping("/contractors")
+ public Result<List<Map<String, Object>>> contractors() {
+ return Result.ok(systemService.listContractors());
}
@GetMapping("/engineering-majors")
@@ -155,6 +236,31 @@
return Result.ok(systemService.tree(type));
}
+ @GetMapping("/tree/product/roots")
+ public Result<List<Map<String, Object>>> productTreeRoots() {
+ return Result.ok(systemService.productTreeRoots());
+ }
+
+ @GetMapping("/tree/product/children")
+ public Result<List<Map<String, Object>>> productTreeChildren(@RequestParam Long parentId) {
+ return Result.ok(systemService.productTreeChildren(parentId));
+ }
+
+ @GetMapping("/tree/product/side-roots")
+ public Result<List<Map<String, Object>>> productTreeForXNo(@RequestParam(required = false) String xNo) {
+ return Result.ok(systemService.productTreeForXNo(xNo));
+ }
+
+ @GetMapping("/tree/product/x-numbers")
+ public Result<List<String>> productXNumbers() {
+ return Result.ok(systemService.productXNumbers());
+ }
+
+ @GetMapping("/tree/product/selected")
+ public Result<List<Map<String, Object>>> selectedProductNodes(@RequestParam List<Long> ids) {
+ return Result.ok(systemService.selectedProductNodes(ids));
+ }
+
@PostMapping("/tree/product")
public Result<ProductNode> createProduct(@RequestBody ProductNode node) {
node.setId(null);
@@ -192,22 +298,16 @@
}
@GetMapping("/menu-permissions")
- public Result<Map<String, Object>> menuPermissions(@RequestParam(required = false) Long roleId,
- @RequestParam(required = false) Long tenantId) {
- return Result.ok(systemService.menuPermissions(roleId, tenantId));
+ public Result<Map<String, Object>> menuPermissions(@RequestParam(required = false) Long roleId) {
+ return Result.ok(systemService.menuPermissions(roleId));
}
@PostMapping("/menu-permissions")
public Result<Void> saveMenuPermissions(@RequestBody Requests.MenuPermissionRequest request) {
- systemService.saveMenuPermissions(request.getRoleId(), request.getTenantId(),
- request.getRoleMenuIds(), request.getTenantMenuIds());
+ systemService.saveMenuPermissions(request.getRoleId(), request.getRoleMenuIds());
return Result.ok();
}
- @GetMapping("/tenants")
- public Result<List<Map<String, Object>>> tenants() {
- return Result.ok(systemService.tenants());
- }
@GetMapping("/three-member")
public Result<Map<String, Object>> threeMember() {
--
Gitblit v1.9.1