Browse Source

增加为单个角色,批量添加多个操作权限和操作范围的接口

dev_shibei_match
wxz 5 years ago
parent
commit
c70704336e
  1. 50
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigAdd4RoletFormDTO.java
  2. 17
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java
  3. 4
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java
  4. 10
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java

50
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigAdd4RoletFormDTO.java

@ -2,16 +2,62 @@ package com.epmet.dto.form;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
@Data
public class AccessConfigAdd4RoletFormDTO {
@NotBlank(message = "角色Key不能为空")
// 为角色添加单个操作
public interface AddSingleOperation4RoleGroup {}
// 为角色添加多个操作
public interface AddMultiOperations4RoleGroup {}
@NotBlank(message = "角色Key不能为空", groups = { AddSingleOperation4RoleGroup.class })
private String roleKey;
@NotBlank(message = "操作Key不能为空")
@NotBlank(message = "操作Key不能为空", groups = { AddSingleOperation4RoleGroup.class })
private String operationKey;
private List<String> scopeKeys;
// 操作列表,及其范围
@Valid
@NotEmpty(message = "操作列表及其范围不能为空", groups = { AddMultiOperations4RoleGroup.class })
private List<OperationsAndScopes> operationsAndScopes = new ArrayList<>();
/**
* 操作及其范围封装类
*/
public static class OperationsAndScopes {
// 操作key
@NotBlank(message = "角色Key不能为空", groups = { AddMultiOperations4RoleGroup.class })
private String operationKey;
// 范围key列表
@NotEmpty(message = "操作Key列表不能为空", groups = { AddMultiOperations4RoleGroup.class })
private List<String> scopeKeys;
public String getOperationKey() {
return operationKey;
}
public void setOperationKey(String operationKey) {
this.operationKey = operationKey;
}
public List<String> getScopeKeys() {
return scopeKeys;
}
public void setScopeKeys(List<String> scopeKeys) {
this.scopeKeys = scopeKeys;
}
}
}

17
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java

@ -118,14 +118,14 @@ public class AccessConfigController {
}
/**
* @Description 给角色添加操作权限和操作范围
* @Description 给角色添加单个操作权限和操作范围
* @return
* @author wxz
* @date 2020.11.17 17:41
*/
@PostMapping("add-ope-and-scopes-4role")
public Result addOpeAndScopes4Role(@RequestBody AccessConfigAdd4RoletFormDTO form) {
ValidatorUtils.validateEntity(form);
ValidatorUtils.validateEntity(form, AccessConfigAdd4RoletFormDTO.AddSingleOperation4RoleGroup.class);
String roleKey = form.getRoleKey();
String operationKey = form.getOperationKey();
List<String> scopeKeys = form.getScopeKeys();
@ -134,5 +134,18 @@ public class AccessConfigController {
return new Result();
}
/**
* @Description 给角色添加单个操作权限和操作范围
* @return
* @author wxz
* @date 2020.12.02 16:20
*/
@PostMapping("add-opes-and-scopes-4role")
public Result addOpesAndScopes4Role(@RequestBody AccessConfigAdd4RoletFormDTO form) {
ValidatorUtils.validateEntity(form, AccessConfigAdd4RoletFormDTO.AddMultiOperations4RoleGroup.class);
accessConfigService.addOpesAndScopes4Role(form.getRoleKey(), form.getOperationsAndScopes());
return new Result();
}
}

4
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java

@ -1,6 +1,6 @@
package com.epmet.service;
import com.epmet.dto.form.AccessConfigRoleDefaultOpesFormDTO;
import com.epmet.dto.form.AccessConfigAdd4RoletFormDTO;
import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO;
import com.epmet.dto.result.AccessConfigOpesResultDTO;
import com.epmet.dto.result.AccessConfigOptionsResultDTO;
@ -27,4 +27,6 @@ public interface AccessConfigService {
void saveOpeDefaultScopes(String roleKey, String operationKey, List<String> scopeKeys);
void addOpeAndScopes4Role(String roleKey, String operationKey, List<String> scopeKeys);
void addOpesAndScopes4Role(String roleKey, List<AccessConfigAdd4RoletFormDTO.OperationsAndScopes> operations);
}

10
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.*;
import com.epmet.dto.form.AccessConfigAdd4RoletFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.OperationScopeDefaultEntity;
import com.epmet.entity.RoleOperationDefaultEntity;
@ -261,4 +262,13 @@ public class AccessConfigServiceImpl implements AccessConfigService {
}
}
}
@Override
public void addOpesAndScopes4Role(String roleKey, List<AccessConfigAdd4RoletFormDTO.OperationsAndScopes> operations) {
for (AccessConfigAdd4RoletFormDTO.OperationsAndScopes operation : operations) {
String operationKey = operation.getOperationKey();
List<String> scopeKeys = operation.getScopeKeys();
addOpeAndScopes4Role(roleKey, operationKey, scopeKeys);
}
}
}

Loading…
Cancel
Save