package com.emergencyrepair.system.controller;
|
|
import com.emergencyrepair.business.dto.Requests;
|
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.SysRole;
|
import com.emergencyrepair.system.service.SystemService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
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.RestController;
|
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
@RequestMapping("/api/system")
|
@RequiredArgsConstructor
|
public class SystemController {
|
private final SystemService systemService;
|
|
@GetMapping("/menu/nav")
|
public Result<List<SysMenu>> nav() {
|
return Result.ok(systemService.menuTree());
|
}
|
|
@GetMapping("/menu/list")
|
public Result<List<SysMenu>> menuList() {
|
return Result.ok(systemService.listMenus());
|
}
|
|
@PostMapping("/menu")
|
public Result<SysMenu> createMenu(@RequestBody SysMenu menu) {
|
menu.setId(null);
|
return Result.ok(systemService.saveMenu(menu));
|
}
|
|
@PutMapping("/menu/{id}")
|
public Result<SysMenu> updateMenu(@PathVariable Long id, @RequestBody SysMenu menu) {
|
menu.setId(id);
|
return Result.ok(systemService.saveMenu(menu));
|
}
|
|
@DeleteMapping("/menu/{id}")
|
public Result<Void> deleteMenu(@PathVariable Long id) {
|
systemService.deleteMenu(id);
|
return Result.ok();
|
}
|
|
@GetMapping("/roles")
|
public Result<List<SysRole>> roles() {
|
return Result.ok(systemService.listRoles());
|
}
|
|
@PostMapping("/roles")
|
public Result<SysRole> createRole(@RequestBody SysRole role) {
|
role.setId(null);
|
return Result.ok(systemService.saveRole(role));
|
}
|
|
@PutMapping("/roles/{id}")
|
public Result<SysRole> updateRole(@PathVariable Long id, @RequestBody SysRole role) {
|
role.setId(id);
|
return Result.ok(systemService.saveRole(role));
|
}
|
|
@DeleteMapping("/roles/{id}")
|
public Result<Void> deleteRole(@PathVariable Long id) {
|
systemService.deleteRole(id);
|
return Result.ok();
|
}
|
|
@GetMapping("/contractors")
|
public Result<List<Contractor>> contractors() {
|
return Result.ok(systemService.listContractors());
|
}
|
|
@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);
|
return Result.ok();
|
}
|
|
@GetMapping("/engineering-majors")
|
public Result<List<EngineeringMajor>> engineeringMajors() {
|
return Result.ok(systemService.listEngineeringMajors());
|
}
|
|
@PostMapping("/engineering-majors")
|
public Result<EngineeringMajor> createEngineeringMajor(@RequestBody EngineeringMajor major) {
|
major.setId(null);
|
return Result.ok(systemService.saveEngineeringMajor(major));
|
}
|
|
@PutMapping("/engineering-majors/{id}")
|
public Result<EngineeringMajor> updateEngineeringMajor(@PathVariable Long id, @RequestBody EngineeringMajor major) {
|
major.setId(id);
|
return Result.ok(systemService.saveEngineeringMajor(major));
|
}
|
|
@DeleteMapping("/engineering-majors/{id}")
|
public Result<Void> deleteEngineeringMajor(@PathVariable Long id) {
|
systemService.deleteEngineeringMajor(id);
|
return Result.ok();
|
}
|
|
@GetMapping("/team-majors")
|
public Result<List<TeamMajor>> teamMajors() {
|
return Result.ok(systemService.listTeamMajors());
|
}
|
|
@PostMapping("/team-majors")
|
public Result<TeamMajor> createTeamMajor(@RequestBody TeamMajor major) {
|
major.setId(null);
|
return Result.ok(systemService.saveTeamMajor(major));
|
}
|
|
@PutMapping("/team-majors/{id}")
|
public Result<TeamMajor> updateTeamMajor(@PathVariable Long id, @RequestBody TeamMajor major) {
|
major.setId(id);
|
return Result.ok(systemService.saveTeamMajor(major));
|
}
|
|
@DeleteMapping("/team-majors/{id}")
|
public Result<Void> deleteTeamMajor(@PathVariable Long id) {
|
systemService.deleteTeamMajor(id);
|
return Result.ok();
|
}
|
|
@GetMapping("/tree")
|
public Result<List<Map<String, Object>>> tree(@RequestParam String type) {
|
return Result.ok(systemService.tree(type));
|
}
|
|
@PostMapping("/tree/product")
|
public Result<ProductNode> createProduct(@RequestBody ProductNode node) {
|
node.setId(null);
|
return Result.ok(systemService.saveProductNode(node));
|
}
|
|
@PutMapping("/tree/product/{id}")
|
public Result<ProductNode> updateProduct(@PathVariable Long id, @RequestBody ProductNode node) {
|
node.setId(id);
|
return Result.ok(systemService.saveProductNode(node));
|
}
|
|
@DeleteMapping("/tree/product/{id}")
|
public Result<Void> deleteProduct(@PathVariable Long id) {
|
systemService.deleteProductNode(id);
|
return Result.ok();
|
}
|
|
@PostMapping("/tree/base")
|
public Result<BaseEquipment> createBase(@RequestBody BaseEquipment node) {
|
node.setId(null);
|
return Result.ok(systemService.saveBaseNode(node));
|
}
|
|
@PutMapping("/tree/base/{id}")
|
public Result<BaseEquipment> updateBase(@PathVariable Long id, @RequestBody BaseEquipment node) {
|
node.setId(id);
|
return Result.ok(systemService.saveBaseNode(node));
|
}
|
|
@DeleteMapping("/tree/base/{id}")
|
public Result<Void> deleteBase(@PathVariable Long id) {
|
systemService.deleteBaseNode(id);
|
return Result.ok();
|
}
|
|
@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));
|
}
|
|
@PostMapping("/menu-permissions")
|
public Result<Void> saveMenuPermissions(@RequestBody Requests.MenuPermissionRequest request) {
|
systemService.saveMenuPermissions(request.getRoleId(), request.getTenantId(),
|
request.getRoleMenuIds(), request.getTenantMenuIds());
|
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() {
|
return Result.ok(systemService.threeMemberOverview());
|
}
|
}
|