|
|
@@ -0,0 +1,125 @@
|
|
|
+package com.atmob.central.admin.controller.admin;
|
|
|
+
|
|
|
+import com.atmob.central.admin.constant.admin.AdminAuthSystem;
|
|
|
+import com.atmob.central.admin.constant.admin.AdminUserConst;
|
|
|
+import com.atmob.central.admin.constant.admin.AdminUserType;
|
|
|
+import com.atmob.central.admin.entity.admin.*;
|
|
|
+import com.atmob.central.admin.model.AdminUser;
|
|
|
+import com.atmob.central.admin.service.admin.AdminAuthService;
|
|
|
+import com.atmob.central.admin.service.admin.AdminDataAuthService;
|
|
|
+import com.atmob.central.admin.service.admin.AdminUserService;
|
|
|
+import com.atmob.central.common.entity.base.DataResponse;
|
|
|
+import com.atmob.central.common.entity.base.PageResult;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestHeader;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@Slf4j
|
|
|
+public class AdminAuthController {
|
|
|
+ @Resource
|
|
|
+ private AdminUserService adminUserService;
|
|
|
+ @Resource
|
|
|
+ private AdminAuthService adminAuthService;
|
|
|
+ @Resource
|
|
|
+ private AdminDataAuthService adminDataAuthService;
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/create")
|
|
|
+ public DataResponse<Void> create(@RequestBody AdminAuthDto adminAuth,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ AdminUser user = adminUserService.getAdminUser(authToken);
|
|
|
+ adminAuth.setEnv(user.getEnv());
|
|
|
+ adminAuthService.create(adminAuth);
|
|
|
+ return DataResponse.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/update")
|
|
|
+ public DataResponse<Void> update(@RequestBody AdminAuthDto adminAuth,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ AdminUser user = adminUserService.getAdminUser(authToken);
|
|
|
+ adminAuth.setEnv(user.getEnv());
|
|
|
+ adminAuthService.update(adminAuth);
|
|
|
+ return DataResponse.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/data/list")
|
|
|
+ public DataResponse<PageResult<AdminDataAuthDto>> getRoleDataAuthList(@RequestBody AdminDataAuthRequest request,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ List<AdminDataAuthDto> list = adminDataAuthService.queryDataAuthByRoleId(request.getRoleId());
|
|
|
+ return DataResponse.ok(new PageResult<AdminDataAuthDto>().withList(list));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/data/allocate")
|
|
|
+ public DataResponse<Void> allocateDataAuth(@RequestBody AdminDataAuthRequest request,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ adminDataAuthService.allocateDataAuth(request.getRoleId(), request.getList());
|
|
|
+ return DataResponse.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/allocate")
|
|
|
+ public DataResponse<Void> allocate(@RequestBody AdminAuthAllocateRequest request,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ AdminUser user = adminUserService.getAdminUser(authToken);
|
|
|
+ adminAuthService.allocate(user.getEnv(), request.getRoleId(), request.getAuthIds());
|
|
|
+ return DataResponse.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/ids")
|
|
|
+ public DataResponse<AdminAuthIdsResponse> getAuthIds(@RequestBody AdminAuthIdsRequest request,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ AdminUser user = adminUserService.getAdminUser(authToken);
|
|
|
+ List<Integer> ids = adminAuthService.getAuthIds(user.getEnv(), request.getUserId(), request.getRoleId());
|
|
|
+ return DataResponse.ok(new AdminAuthIdsResponse().withIds(ids));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/my")
|
|
|
+ public DataResponse<AdminAuthAuthsResponse> getMyAuths(@RequestBody AdminAuthQueryRequest request,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ AdminUser user = adminUserService.getAdminUser(authToken);
|
|
|
+ Long userId = null;
|
|
|
+ if (user.getUserType().equals(AdminUserType.NORMAL.ordinal())) {
|
|
|
+ userId = user.getId();
|
|
|
+ }
|
|
|
+ if (!StringUtils.hasText(request.getSystem())) {
|
|
|
+ request.setSystem(AdminAuthSystem.central.name());
|
|
|
+ }
|
|
|
+ List<String> auths = adminAuthService.getAuths(user.getEnv(), request.getSystem(), userId);
|
|
|
+ return DataResponse.ok(new AdminAuthAuthsResponse().withAuths(auths));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/menu")
|
|
|
+ public DataResponse<AdminAuthMenuResponse> getMyMenu(@RequestBody AdminAuthQueryRequest request,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ AdminUser user = adminUserService.getAdminUser(authToken);
|
|
|
+ Long userId = null;
|
|
|
+ if (user.getUserType().equals(AdminUserType.NORMAL.ordinal())) {
|
|
|
+ userId = user.getId();
|
|
|
+ }
|
|
|
+ if (!StringUtils.hasText(request.getSystem())) {
|
|
|
+ request.setSystem(AdminAuthSystem.central.name());
|
|
|
+ }
|
|
|
+ List<AdminAuthMenuVo> list = adminAuthService.getMenu(user.getEnv(), request.getSystem(), userId);
|
|
|
+ return DataResponse.ok(new AdminAuthMenuResponse().withList(list));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/central/admin/v1/admin/auth/trees")
|
|
|
+ public DataResponse<PageResult<AdminAuthDto>> queryTrees(@RequestBody AdminAuthQueryRequest request,
|
|
|
+ @RequestHeader(AdminUserConst.AUTH_TOKEN_HEADER) String authToken) {
|
|
|
+ AdminUser user = adminUserService.getAdminUser(authToken);
|
|
|
+ Long userId = null;
|
|
|
+ if (user.getUserType().equals(AdminUserType.NORMAL.ordinal())) {
|
|
|
+ userId = user.getId();
|
|
|
+ }
|
|
|
+ if (!StringUtils.hasText(request.getSystem())) {
|
|
|
+ request.setSystem(AdminAuthSystem.central.name());
|
|
|
+ }
|
|
|
+ List<AdminAuthDto> trees = adminAuthService.getTrees(user.getEnv(), request.getSystem(), userId);
|
|
|
+ return DataResponse.ok(new PageResult<AdminAuthDto>().withList(trees));
|
|
|
+ }
|
|
|
+}
|