| | |
| | | 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.SysLoginLog; |
| | | import com.emergencyrepair.system.entity.SysOperationLog; |
| | | import com.emergencyrepair.system.entity.SysRole; |
| | | import com.emergencyrepair.system.service.SystemService; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | 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; |
| | |
| | | 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)); |
| | | } |
| | | |
| | | @PostMapping("/menu") |
| | |
| | | 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") |
| | |
| | | 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); |