zzw
1 天以前 1332cc511936d7dbe804921bc733c83d5e4d1400
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() {