Merge remote-tracking branch 'origin/feature/REQ-1102' into feature/REQ-1102
This commit is contained in:
commit
2f671973bb
@ -9,16 +9,18 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限集
|
* 权限集
|
||||||
*/
|
*/
|
||||||
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080/api/saasPermissionGoup}")
|
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}")
|
||||||
public interface SaasPermissionGroupApi {
|
public interface SaasPermissionGroupApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存/更新
|
* 保存/更新
|
||||||
*/
|
*/
|
||||||
@PostMapping("saveOrUpdate")
|
@PostMapping("/api/saasPermissionGoup/saveOrUpdate")
|
||||||
ApiResult<Void> saveOrUpdate(@RequestBody SaasPermissionGroupVO req);
|
ApiResult<Void> saveOrUpdate(@RequestBody SaasPermissionGroupVO req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -26,19 +28,19 @@ public interface SaasPermissionGroupApi {
|
|||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("getById")
|
@PostMapping("/api/saasPermissionGoup/getById")
|
||||||
ApiResult<SaasPermissionGroupVO> getById(@RequestParam("id") Long id);
|
ApiResult<SaasPermissionGroupVO> getById(@RequestParam("id") Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询
|
* 查询
|
||||||
*/
|
*/
|
||||||
@PostMapping("query")
|
@PostMapping("/api/saasPermissionGoup/query")
|
||||||
ApiPageResult<SaasPermissionGroupVO> query(@RequestBody QuerySaasPermissionGroupReq req);
|
ApiPageResult<SaasPermissionGroupVO> query(@RequestBody QuerySaasPermissionGroupReq req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除
|
* 删除
|
||||||
*/
|
*/
|
||||||
@PostMapping("delete")
|
@PostMapping("/api/saasPermissionGoup/delete")
|
||||||
ApiResult<Void> delete(@RequestParam(required = true) Long id);
|
ApiResult delete(@RequestBody List<Long> id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package cn.axzo.tyr.client.feign;
|
|||||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||||
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
|
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
||||||
|
import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@ -12,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色
|
* 角色
|
||||||
@ -41,6 +41,12 @@ public interface SaasRoleApi {
|
|||||||
@PostMapping("/api/saasRole/query")
|
@PostMapping("/api/saasRole/query")
|
||||||
ApiResult<List<SaasRoleVO>> query(@RequestBody QuerySaasRoleReq req);
|
ApiResult<List<SaasRoleVO>> query(@RequestBody QuerySaasRoleReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*/
|
||||||
|
@PostMapping("/api/saasRole/delete")
|
||||||
|
ApiResult delete(@RequestBody List<Long> id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据身份id身份类型查询权限列表(批量)
|
* 根据身份id身份类型查询权限列表(批量)
|
||||||
* @param identityType 身份类型 1:工人 2:班组长 3:从业人员 4:监管人员 5:运营人员
|
* @param identityType 身份类型 1:工人 2:班组长 3:从业人员 4:监管人员 5:运营人员
|
||||||
@ -54,7 +60,7 @@ public interface SaasRoleApi {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/api/saasRole/queryBatchByIdentityIdType")
|
@GetMapping("/api/saasRole/queryBatchByIdentityIdType")
|
||||||
ApiResult<Map<QueryByIdentityIdTypeReq, List<SaasRoleVO>>> queryBatchByIdentityIdType(@RequestBody List<QueryByIdentityIdTypeReq> req);
|
ApiResult<List<QueryBatchByIdentityIdTypeRes>> queryBatchByIdentityIdType(@RequestBody List<QueryByIdentityIdTypeReq> req);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package cn.axzo.tyr.client.feign;
|
package cn.axzo.tyr.client.feign;
|
||||||
|
|
||||||
import cn.axzo.framework.domain.web.result.ApiListResult;
|
|
||||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO;
|
||||||
@ -9,31 +8,33 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色分组
|
* 角色分组
|
||||||
*/
|
*/
|
||||||
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080/api/saasRoleGroup}")
|
@FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080}")
|
||||||
public interface SaasRoleGroupApi {
|
public interface SaasRoleGroupApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存/更新
|
* 保存/更新
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("save")
|
@PostMapping("/api/saasRoleGroup/save")
|
||||||
ApiResult<Void> saveOrUpdate(@RequestBody SaasRoleGroupVO req);
|
ApiResult saveOrUpdate(@RequestBody SaasRoleGroupVO req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取权限分组列表
|
* 获取权限分组列表
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("getList")
|
@PostMapping("/api/saasRoleGroup/getList")
|
||||||
ApiListResult<SaasRoleGroupVO> getList(@RequestBody QuerySaasRoleGroupReq req);
|
ApiResult<List<SaasRoleGroupVO>> getList(@RequestBody QuerySaasRoleGroupReq req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除分组
|
* 删除
|
||||||
*/
|
*/
|
||||||
@PostMapping("delete")
|
@PostMapping("/api/saasRoleGroup//api/saasPermissionGoup/delete")
|
||||||
ApiResult<Void> delete(@RequestParam(required = true) Long id);
|
ApiResult delete(@RequestBody List<Long> id);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import java.util.Map;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum PermissionGroupType {
|
public enum PermissionGroupType {
|
||||||
COMMON(1, "通用"),
|
COMMON(1, "通用"),
|
||||||
Special (0, "例外"),
|
SPECIAL(0, "例外"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private Integer code;
|
private Integer code;
|
||||||
|
|||||||
@ -0,0 +1,29 @@
|
|||||||
|
package cn.axzo.tyr.client.model.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum PermissionScope {
|
||||||
|
INCLUDE(1, "正选"),
|
||||||
|
EXCLUDE (2, "反选"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private Integer code;
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
private static final Map<Integer, PermissionScope> MAPPING = new HashMap<>();
|
||||||
|
static {
|
||||||
|
for (PermissionScope type : PermissionScope.values()) {
|
||||||
|
MAPPING.put(type.code, type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PermissionScope apply(Integer code) {
|
||||||
|
return code == null ? null :MAPPING.get(code);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
package cn.axzo.tyr.client.model.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum PermissionScopeType {
|
||||||
|
WORKSPACE("workspace", "项目部"),
|
||||||
|
OU ("ou", "单位"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private String code;
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
private static final Map<String, PermissionScopeType> MAPPING = new HashMap<>();
|
||||||
|
static {
|
||||||
|
for (PermissionScopeType type : PermissionScopeType.values()) {
|
||||||
|
MAPPING.put(type.code, type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PermissionScopeType apply(Integer code) {
|
||||||
|
return code == null ? null :MAPPING.get(code);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@ package cn.axzo.tyr.client.model.permission;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限点树形查询请求参数
|
* 权限点树形查询请求参数
|
||||||
@ -27,7 +28,7 @@ public class PermissionPointTreeQueryReq {
|
|||||||
private List<String> terminalList;
|
private List<String> terminalList;
|
||||||
|
|
||||||
/** 权限点ID列表 **/
|
/** 权限点ID列表 **/
|
||||||
private List<Long> ids;
|
private Set<Long> ids;
|
||||||
|
|
||||||
/** 权限点terminal对应workspaceType **/
|
/** 权限点terminal对应workspaceType **/
|
||||||
private List<String> workspaceType;
|
private List<String> workspaceType;
|
||||||
|
|||||||
@ -29,4 +29,9 @@ public class ProductFeatureRelationSearchReq {
|
|||||||
*/
|
*/
|
||||||
private Long dictCodeId;
|
private Long dictCodeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典的 code
|
||||||
|
*/
|
||||||
|
private String dictCode;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,6 +32,11 @@ public class ProductFeatureRelationUpdateReq {
|
|||||||
@NotNull(message = "字典 ouType ID 不能为空")
|
@NotNull(message = "字典 ouType ID 不能为空")
|
||||||
private Long dictCodeId;
|
private Long dictCodeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典的 code
|
||||||
|
*/
|
||||||
|
private String dictCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限点 ID
|
* 权限点 ID
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -0,0 +1,31 @@
|
|||||||
|
package cn.axzo.tyr.client.model.res;
|
||||||
|
|
||||||
|
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class QueryBatchByIdentityIdTypeRes {
|
||||||
|
|
||||||
|
Long identityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 身份类型 1:工人 2:班组长 3:从业人员 4:监管人员 5:运营人员
|
||||||
|
*/
|
||||||
|
Integer identityType;
|
||||||
|
|
||||||
|
Long workspaceId;
|
||||||
|
|
||||||
|
Long ouId;
|
||||||
|
|
||||||
|
List<SaasRoleVO> role;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -46,9 +46,18 @@ public class SaasPermissionGroupVO {
|
|||||||
*/
|
*/
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否为通用权限集 1:是 0:否
|
||||||
|
*/
|
||||||
|
private Integer isCommon;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限
|
* 权限
|
||||||
*/
|
*/
|
||||||
private List<PermissionPointTreeNode> feature;
|
private List<PermissionPointTreeNode> feature;
|
||||||
|
/**
|
||||||
|
* 权限范围
|
||||||
|
*/
|
||||||
|
private List<SaasRolePermissionScopeVO> scopes;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,17 @@
|
|||||||
package cn.axzo.tyr.client.model.vo;
|
package cn.axzo.tyr.client.model.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
public class SaasRoleGroupVO {
|
public class SaasRoleGroupVO {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
@ -13,22 +19,12 @@ public class SaasRoleGroupVO {
|
|||||||
/**
|
/**
|
||||||
* 工作台类型字典code
|
* 工作台类型字典code
|
||||||
*/
|
*/
|
||||||
private Long workspaceTypeCode;
|
private String workspaceTypeCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单位类型字典code
|
* 单位类型字典code
|
||||||
*/
|
*/
|
||||||
private List<Long> ouTypeCode;
|
private List<String> ouTypeCode;
|
||||||
|
|
||||||
/**
|
|
||||||
* 所属工作台id
|
|
||||||
*/
|
|
||||||
private Long workspaceId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 所属单位id
|
|
||||||
*/
|
|
||||||
private Long ouId;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 名称
|
* 名称
|
||||||
|
|||||||
@ -14,6 +14,8 @@ public class SaasRolePermissionScopeVO {
|
|||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
private Long pgroupId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 选择类型: 1.正选 2.反选
|
* 选择类型: 1.正选 2.反选
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -38,11 +38,6 @@ public class SaasRoleVO {
|
|||||||
*/
|
*/
|
||||||
private Long updateBy;
|
private Long updateBy;
|
||||||
|
|
||||||
/**
|
|
||||||
* 分组id(这个关联关系应该放在上一级,从结构上看,上下级是多对多的,如果放在下级返回上级的id不太合适)
|
|
||||||
*/
|
|
||||||
// private List<Long> roleGroupIds;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限组
|
* 权限组
|
||||||
*/
|
*/
|
||||||
@ -53,7 +48,6 @@ public class SaasRoleVO {
|
|||||||
*/
|
*/
|
||||||
private Long isDelete;
|
private Long isDelete;
|
||||||
|
|
||||||
|
|
||||||
private Date createAt;
|
private Date createAt;
|
||||||
|
|
||||||
private Date updateAt;
|
private Date updateAt;
|
||||||
@ -65,5 +59,4 @@ public class SaasRoleVO {
|
|||||||
public List<PermissionPointTreeNode> getFeature(){
|
public List<PermissionPointTreeNode> getFeature(){
|
||||||
return this.permissionGroup.stream().map(SaasPermissionGroupVO::getFeature).flatMap(List::stream).distinct().collect(Collectors.toList());
|
return this.permissionGroup.stream().map(SaasPermissionGroupVO::getFeature).flatMap(List::stream).distinct().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,57 @@
|
|||||||
|
package cn.axzo.tyr.server.controller.role;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||||
|
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||||
|
import cn.axzo.tyr.client.feign.SaasPermissionGroupApi;
|
||||||
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
|
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||||
|
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupDao;
|
||||||
|
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupScopeDao;
|
||||||
|
import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao;
|
||||||
|
import cn.axzo.tyr.server.service.PermissionGroupService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
||||||
|
|
||||||
|
private final SaasPermissionGroupDao permissionGroupDao;
|
||||||
|
private final SaasPgroupPermissionRelationDao pgroupPermissionRelationDao;
|
||||||
|
private final SaasPermissionGroupScopeDao permissionGroupScopeDao;
|
||||||
|
private final PermissionGroupService permissionGroupService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> saveOrUpdate(SaasPermissionGroupVO req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<SaasPermissionGroupVO> getById(Long id) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiPageResult<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req) {
|
||||||
|
return ApiPageResult.ok(permissionGroupService.page(req));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
@Override
|
||||||
|
public ApiResult delete(List<Long> id) {
|
||||||
|
// 删除权限集
|
||||||
|
permissionGroupDao.delete(id);
|
||||||
|
// 删除权限集权限关联关系
|
||||||
|
pgroupPermissionRelationDao.deleteByPGroupId(id);
|
||||||
|
// 删除权限集作用范围
|
||||||
|
permissionGroupScopeDao.deleteByPGroupId(id);
|
||||||
|
return ApiResult.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -6,6 +6,7 @@ import cn.axzo.framework.domain.web.result.ApiResult;
|
|||||||
import cn.axzo.tyr.client.feign.SaasRoleApi;
|
import cn.axzo.tyr.client.feign.SaasRoleApi;
|
||||||
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
|
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
||||||
|
import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
||||||
import cn.axzo.tyr.server.service.RoleService;
|
import cn.axzo.tyr.server.service.RoleService;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
@ -16,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限
|
* 权限
|
||||||
@ -53,13 +53,18 @@ public class SaasRoleController implements SaasRoleApi {
|
|||||||
return ApiResult.ok(roleService.query(req));
|
return ApiResult.ok(roleService.query(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult delete(List<Long> id) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<List<SaasRoleVO>> queryByIdentityIdType(Long identityId, Integer identityType,Long workspaceId,Long ouId) {
|
public ApiResult<List<SaasRoleVO>> queryByIdentityIdType(Long identityId, Integer identityType,Long workspaceId,Long ouId) {
|
||||||
return ApiResult.ok(roleService.queryByIdentityIdType(identityId, identityType,workspaceId,ouId));
|
return ApiResult.ok(roleService.queryByIdentityIdType(identityId, identityType,workspaceId,ouId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<Map<QueryByIdentityIdTypeReq, List<SaasRoleVO>>> queryBatchByIdentityIdType(List<QueryByIdentityIdTypeReq> req) {
|
public ApiResult<List<QueryBatchByIdentityIdTypeRes>> queryBatchByIdentityIdType(List<QueryByIdentityIdTypeReq> req) {
|
||||||
return ApiResult.ok(roleService.queryBatchByIdentityIdType(req));
|
return ApiResult.ok(roleService.queryBatchByIdentityIdType(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package cn.axzo.tyr.server.controller.role;
|
package cn.axzo.tyr.server.controller.role;
|
||||||
|
|
||||||
import cn.axzo.framework.domain.web.result.ApiListResult;
|
|
||||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||||
import cn.axzo.tyr.client.feign.SaasRoleGroupApi;
|
import cn.axzo.tyr.client.feign.SaasRoleGroupApi;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
||||||
@ -10,24 +9,29 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class SaasRoleGroupController implements SaasRoleGroupApi {
|
public class SaasRoleGroupController implements SaasRoleGroupApi {
|
||||||
|
|
||||||
private final SaasRoleGroupService saasRoleGroupService;
|
private final SaasRoleGroupService saasRoleGroupService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<Void> saveOrUpdate(SaasRoleGroupVO req) {
|
public ApiResult saveOrUpdate(SaasRoleGroupVO req) {
|
||||||
return null;
|
saasRoleGroupService.saveOrUpdate(req);
|
||||||
|
return ApiResult.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiListResult<SaasRoleGroupVO> getList(QuerySaasRoleGroupReq req) {
|
public ApiResult<List<SaasRoleGroupVO>> getList(QuerySaasRoleGroupReq req) {
|
||||||
return ApiListResult.ok(saasRoleGroupService.getList(req));
|
return ApiResult.ok(saasRoleGroupService.getList(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<Void> delete(Long id) {
|
public ApiResult delete(List<Long> id) {
|
||||||
return null;
|
|
||||||
|
return ApiResult.ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,11 +36,15 @@ public class SaasPermissionGroup extends BaseEntity<SaasPermissionGroup> {
|
|||||||
* 创建者
|
* 创建者
|
||||||
*/
|
*/
|
||||||
private Long createBy;
|
private Long createBy;
|
||||||
|
|
||||||
|
private String createName;
|
||||||
/**
|
/**
|
||||||
* 更新者
|
* 更新者
|
||||||
*/
|
*/
|
||||||
private Long updateBy;
|
private Long updateBy;
|
||||||
|
|
||||||
|
private String updateName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限集类型:feature data
|
* 权限集类型:feature data
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -23,6 +23,12 @@ public class SaasPermissionGroupScope extends BaseEntity<SaasPermissionGroupScop
|
|||||||
|
|
||||||
private static final long serialVersionUID = 972205950455439772L;
|
private static final long serialVersionUID = 972205950455439772L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 权限组id
|
||||||
|
*/
|
||||||
|
@TableField("pgroup_id")
|
||||||
|
private Long pgroupId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 选择类型: 1.正选 2.反选
|
* 选择类型: 1.正选 2.反选
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -32,6 +32,11 @@ public class SaasProductModuleFeatureRelation extends BaseEntity<SaasProductModu
|
|||||||
*/
|
*/
|
||||||
private Long dictCodeId;
|
private Long dictCodeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品关联的字典 Code 原值
|
||||||
|
*/
|
||||||
|
private String dictCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限点 ID
|
* 权限点 ID
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,12 +1,21 @@
|
|||||||
package cn.axzo.tyr.server.repository.service;
|
package cn.axzo.tyr.server.repository.service;
|
||||||
|
|
||||||
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
||||||
import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper;
|
import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class SaasPermissionGroupDao extends ServiceImpl<SaasPermissionGroupMapper, SaasPermissionGroup> {
|
public class SaasPermissionGroupDao extends ServiceImpl<SaasPermissionGroupMapper, SaasPermissionGroup> {
|
||||||
|
|
||||||
|
public void delete(List<Long> id) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(BaseEntity::getId,id)
|
||||||
|
.set(BaseEntity::getIsDelete,id)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package cn.axzo.tyr.server.repository.service;
|
package cn.axzo.tyr.server.repository.service;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||||
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope;
|
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope;
|
||||||
import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper;
|
import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper;
|
||||||
@ -7,8 +9,16 @@ import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupScopeMapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class SaasPermissionGroupScopeDao extends ServiceImpl<SaasPermissionGroupScopeMapper, SaasPermissionGroupScope> {
|
public class SaasPermissionGroupScopeDao extends ServiceImpl<SaasPermissionGroupScopeMapper, SaasPermissionGroupScope> {
|
||||||
|
|
||||||
|
public void deleteByPGroupId(List<Long> pgroupId) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(SaasPermissionGroupScope::getPgroupId,pgroupId)
|
||||||
|
.set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package cn.axzo.tyr.server.repository.service;
|
package cn.axzo.tyr.server.repository.service;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||||
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation;
|
import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||||
import cn.axzo.tyr.server.repository.mapper.SaasPgroupPermissionRelationMapper;
|
import cn.axzo.tyr.server.repository.mapper.SaasPgroupPermissionRelationMapper;
|
||||||
@ -17,5 +19,13 @@ public class SaasPgroupPermissionRelationDao extends ServiceImpl<SaasPgroupPermi
|
|||||||
this.remove(new LambdaQueryWrapper<SaasPgroupPermissionRelation>()
|
this.remove(new LambdaQueryWrapper<SaasPgroupPermissionRelation>()
|
||||||
.in(SaasPgroupPermissionRelation::getFeatureId, permissionPointIds));
|
.in(SaasPgroupPermissionRelation::getFeatureId, permissionPointIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteByPGroupId(List<Long> pgroupId) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(SaasPgroupPermissionRelation::getGroupId,pgroupId)
|
||||||
|
.set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package cn.axzo.tyr.server.repository.service;
|
package cn.axzo.tyr.server.repository.service;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||||
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation;
|
import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation;
|
||||||
import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper;
|
import cn.axzo.tyr.server.repository.mapper.SaasPermissionGroupMapper;
|
||||||
@ -7,8 +9,17 @@ import cn.axzo.tyr.server.repository.mapper.SaasPgroupRoleRelationMapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class SaasPgroupRoleRelationDao extends ServiceImpl<SaasPgroupRoleRelationMapper, SaasPgroupRoleRelation> {
|
public class SaasPgroupRoleRelationDao extends ServiceImpl<SaasPgroupRoleRelationMapper, SaasPgroupRoleRelation> {
|
||||||
|
|
||||||
|
public void deleteByRoleId(List<Long> roleId) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(SaasPgroupRoleRelation::getRoleId,roleId)
|
||||||
|
.set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package cn.axzo.tyr.server.repository.service;
|
package cn.axzo.tyr.server.repository.service;
|
||||||
|
|
||||||
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
||||||
import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupMapper;
|
import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupMapper;
|
||||||
@ -7,8 +8,17 @@ import cn.axzo.tyr.server.repository.mapper.SaasRoleMapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class SaasRoleDao extends ServiceImpl<SaasRoleMapper, SaasRole> {
|
public class SaasRoleDao extends ServiceImpl<SaasRoleMapper, SaasRole> {
|
||||||
|
|
||||||
|
public void delete(List<Long> id) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(BaseEntity::getId,id)
|
||||||
|
.set(BaseEntity::getIsDelete,id)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -45,5 +45,12 @@ public class SaasRoleGroupDao extends ServiceImpl<SaasRoleGroupMapper, SaasRoleG
|
|||||||
return eq.list();
|
return eq.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void delete(List<Long> id) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(BaseEntity::getId,id)
|
||||||
|
.set(BaseEntity::getIsDelete,id)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package cn.axzo.tyr.server.repository.service;
|
package cn.axzo.tyr.server.repository.service;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||||
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||||
import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupMapper;
|
import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupMapper;
|
||||||
@ -7,8 +9,17 @@ import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupRelationMapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public class SaasRoleGroupRelationDao extends ServiceImpl<SaasRoleGroupRelationMapper, SaasRoleGroupRelation> {
|
public class SaasRoleGroupRelationDao extends ServiceImpl<SaasRoleGroupRelationMapper, SaasRoleGroupRelation> {
|
||||||
|
|
||||||
|
public void deleteByRoleGroupId(List<Long> roleGroupId) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(SaasRoleGroupRelation::getSaasRoleGroupId, roleGroupId)
|
||||||
|
.set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,5 +21,13 @@ public class SaasRoleUserRelationDao extends ServiceImpl<SaasRoleUserRelationMap
|
|||||||
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteByRoldId(List<Long> roleId) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(SaasRoleUserRelation::getRoleId,roleId)
|
||||||
|
.set(BaseEntity::getIsDelete,TableIsDeleteEnum.DELETE.value)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package cn.axzo.tyr.server.service;
|
package cn.axzo.tyr.server.service;
|
||||||
|
|
||||||
|
import cn.axzo.framework.domain.page.PageResp;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||||
|
|
||||||
@ -19,6 +20,6 @@ public interface PermissionGroupService {
|
|||||||
*/
|
*/
|
||||||
public List<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req);
|
public List<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req);
|
||||||
|
|
||||||
|
PageResp<SaasPermissionGroupVO> page(QuerySaasPermissionGroupReq req);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package cn.axzo.tyr.server.service;
|
|||||||
|
|
||||||
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
|
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
||||||
|
import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -21,5 +22,5 @@ public interface RoleService {
|
|||||||
|
|
||||||
List<SaasRoleVO> query(QuerySaasRoleReq req);
|
List<SaasRoleVO> query(QuerySaasRoleReq req);
|
||||||
|
|
||||||
Map<QueryByIdentityIdTypeReq, List<SaasRoleVO>> queryBatchByIdentityIdType(List<QueryByIdentityIdTypeReq> req);
|
List<QueryBatchByIdentityIdTypeRes> queryBatchByIdentityIdType(List<QueryByIdentityIdTypeReq> req);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,4 +7,8 @@ import java.util.List;
|
|||||||
|
|
||||||
public interface SaasRoleGroupService {
|
public interface SaasRoleGroupService {
|
||||||
List<SaasRoleGroupVO> getList(QuerySaasRoleGroupReq req);
|
List<SaasRoleGroupVO> getList(QuerySaasRoleGroupReq req);
|
||||||
|
|
||||||
|
void saveOrUpdate(SaasRoleGroupVO req);
|
||||||
|
|
||||||
|
void delete(Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,24 @@
|
|||||||
package cn.axzo.tyr.server.service.impl;
|
package cn.axzo.tyr.server.service.impl;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.BeanMapper;
|
||||||
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||||
|
import cn.axzo.framework.domain.page.PageResp;
|
||||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode;
|
import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||||
|
import cn.axzo.tyr.client.model.vo.SaasRolePermissionScopeVO;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroup;
|
||||||
|
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation;
|
import cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation;
|
import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation;
|
||||||
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupDao;
|
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupDao;
|
||||||
|
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupScopeDao;
|
||||||
import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao;
|
import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao;
|
||||||
import cn.axzo.tyr.server.repository.service.SaasPgroupRoleRelationDao;
|
import cn.axzo.tyr.server.repository.service.SaasPgroupRoleRelationDao;
|
||||||
import cn.axzo.tyr.server.service.PermissionGroupService;
|
import cn.axzo.tyr.server.service.PermissionGroupService;
|
||||||
import cn.axzo.tyr.server.service.PermissionPointService;
|
import cn.axzo.tyr.server.service.PermissionPointService;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
@ -44,6 +50,8 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
|||||||
SaasPgroupPermissionRelationDao permissionRelationDao;
|
SaasPgroupPermissionRelationDao permissionRelationDao;
|
||||||
@Autowired
|
@Autowired
|
||||||
PermissionPointService featureService;
|
PermissionPointService featureService;
|
||||||
|
@Autowired
|
||||||
|
SaasPermissionGroupScopeDao saasPermissionGroupScopeDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req) {
|
public List<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req) {
|
||||||
@ -54,6 +62,12 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
|||||||
.in(SaasPgroupRoleRelation::getRoleId, req.getRoleIds())
|
.in(SaasPgroupRoleRelation::getRoleId, req.getRoleIds())
|
||||||
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
.list();
|
.list();
|
||||||
|
List<Long> hitIds = relationList.stream().map(SaasPgroupRoleRelation::getGroupId).distinct().collect(Collectors.toList());
|
||||||
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(req.getIds())) {
|
||||||
|
req.getIds().retainAll(hitIds);
|
||||||
|
} else {
|
||||||
|
req.setIds(hitIds);
|
||||||
|
}
|
||||||
// 如果没查询到关联关系则直接返回
|
// 如果没查询到关联关系则直接返回
|
||||||
if (CollectionUtils.isEmpty(relationList)) {
|
if (CollectionUtils.isEmpty(relationList)) {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
@ -66,6 +80,7 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
|||||||
.eq(req.getCreateBy() != null, SaasPermissionGroup::getCreateBy, req.getCreateBy())
|
.eq(req.getCreateBy() != null, SaasPermissionGroup::getCreateBy, req.getCreateBy())
|
||||||
.eq(req.getUpdateBy() != null, SaasPermissionGroup::getUpdateBy, req.getUpdateBy())
|
.eq(req.getUpdateBy() != null, SaasPermissionGroup::getUpdateBy, req.getUpdateBy())
|
||||||
.eq(StringUtils.isNotBlank(req.getType()), SaasPermissionGroup::getType, req.getType())
|
.eq(StringUtils.isNotBlank(req.getType()), SaasPermissionGroup::getType, req.getType())
|
||||||
|
.like(StringUtils.isNotBlank(req.getName()), SaasPermissionGroup::getName, req.getName())
|
||||||
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
.orderByDesc(BaseEntity::getId)
|
.orderByDesc(BaseEntity::getId)
|
||||||
.list();
|
.list();
|
||||||
@ -73,9 +88,10 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
|||||||
if (CollectionUtils.isEmpty(groupList)) {
|
if (CollectionUtils.isEmpty(groupList)) {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
List<Long> groupIds = groupList.stream().map(BaseEntity::getId).collect(Collectors.toList());
|
||||||
// 查询权限集关联的权限
|
// 查询权限集关联的权限
|
||||||
List<SaasPgroupPermissionRelation> permissionList = permissionRelationDao.lambdaQuery()
|
List<SaasPgroupPermissionRelation> permissionList = permissionRelationDao.lambdaQuery()
|
||||||
.in(SaasPgroupPermissionRelation::getGroupId, groupList.stream().map(BaseEntity::getId).collect(Collectors.toList()))
|
.in(SaasPgroupPermissionRelation::getGroupId, groupIds)
|
||||||
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
.list();
|
.list();
|
||||||
List<PermissionPointTreeNode> feature = null;
|
List<PermissionPointTreeNode> feature = null;
|
||||||
@ -83,6 +99,10 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
|||||||
// 查询featureCode
|
// 查询featureCode
|
||||||
feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList()));
|
feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
|
List<SaasPermissionGroupScope> saasPermissionGroupScopes = saasPermissionGroupScopeDao.lambdaQuery()
|
||||||
|
.in(SaasPermissionGroupScope::getPgroupId, groupIds)
|
||||||
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.list();
|
||||||
// 组装填充字段
|
// 组装填充字段
|
||||||
List<PermissionPointTreeNode> finalFeature = feature;
|
List<PermissionPointTreeNode> finalFeature = feature;
|
||||||
return groupList.stream().map(group ->
|
return groupList.stream().map(group ->
|
||||||
@ -90,11 +110,81 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
|||||||
.id(group.getId())
|
.id(group.getId())
|
||||||
.name(group.getName())
|
.name(group.getName())
|
||||||
.feature(finalFeature)
|
.feature(finalFeature)
|
||||||
|
.scopes(saasPermissionGroupScopes.stream().map(e -> BeanMapper.copyBean(e, SaasRolePermissionScopeVO.class)).collect(Collectors.toList()))
|
||||||
.createBy(group.getCreateBy())
|
.createBy(group.getCreateBy())
|
||||||
.updateBy(group.getUpdateBy())
|
.updateBy(group.getUpdateBy())
|
||||||
.type(group.getType())
|
.type(group.getType())
|
||||||
|
.isCommon(group.getIsCommon())
|
||||||
.build()
|
.build()
|
||||||
).collect(Collectors.toList());
|
).collect(Collectors.toList());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResp<SaasPermissionGroupVO> page(QuerySaasPermissionGroupReq req) {
|
||||||
|
// 如果角色id不为空则先查询角色权限集关联表
|
||||||
|
IPage<SaasPermissionGroup> iPage = req.toPage();
|
||||||
|
if (CollectionUtils.isNotEmpty(req.getRoleIds())) {
|
||||||
|
List<SaasPgroupRoleRelation> relationList = roleRelationDao.lambdaQuery()
|
||||||
|
.in(SaasPgroupRoleRelation::getRoleId, req.getRoleIds())
|
||||||
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.list();
|
||||||
|
List<Long> hitIds = relationList.stream().map(SaasPgroupRoleRelation::getGroupId).distinct().collect(Collectors.toList());
|
||||||
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(req.getIds())) {
|
||||||
|
req.getIds().retainAll(hitIds);
|
||||||
|
} else {
|
||||||
|
req.setIds(hitIds);
|
||||||
|
}
|
||||||
|
// 如果没查询到关联关系则直接返回
|
||||||
|
if (CollectionUtils.isEmpty(relationList)) {
|
||||||
|
return PageResp.zero(iPage.getCurrent(), iPage.getSize());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 查询权限集
|
||||||
|
iPage = permissionGroupDao.lambdaQuery()
|
||||||
|
.in(CollectionUtils.isNotEmpty(req.getIds()), BaseEntity::getId, req.getIds())
|
||||||
|
.eq(req.getIsCommon() != null, SaasPermissionGroup::getIsCommon, req.getIsCommon())
|
||||||
|
.eq(req.getCreateBy() != null, SaasPermissionGroup::getCreateBy, req.getCreateBy())
|
||||||
|
.eq(req.getUpdateBy() != null, SaasPermissionGroup::getUpdateBy, req.getUpdateBy())
|
||||||
|
.eq(StringUtils.isNotBlank(req.getType()), SaasPermissionGroup::getType, req.getType())
|
||||||
|
.like(StringUtils.isNotBlank(req.getName()), SaasPermissionGroup::getName, req.getName())
|
||||||
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.orderByAsc(BaseEntity::getCreateAt).orderByAsc(BaseEntity::getId)
|
||||||
|
.page(iPage);
|
||||||
|
List<SaasPermissionGroup> groupList = iPage.getRecords();
|
||||||
|
// 如果权限集为空则直接返回
|
||||||
|
if (CollectionUtils.isEmpty(groupList)) {
|
||||||
|
return PageResp.zero(iPage.getCurrent(), iPage.getSize());
|
||||||
|
}
|
||||||
|
List<Long> groupIds = groupList.stream().map(BaseEntity::getId).collect(Collectors.toList());
|
||||||
|
// 查询权限集关联的权限
|
||||||
|
List<SaasPgroupPermissionRelation> permissionList = permissionRelationDao.lambdaQuery()
|
||||||
|
.in(SaasPgroupPermissionRelation::getGroupId, groupIds)
|
||||||
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.list();
|
||||||
|
List<PermissionPointTreeNode> feature = null;
|
||||||
|
if (CollectionUtils.isNotEmpty(permissionList)) {
|
||||||
|
// 查询featureCode
|
||||||
|
feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
List<SaasPermissionGroupScope> saasPermissionGroupScopes = saasPermissionGroupScopeDao.lambdaQuery()
|
||||||
|
.in(SaasPermissionGroupScope::getPgroupId, groupIds)
|
||||||
|
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||||
|
.list();
|
||||||
|
// 组装填充字段
|
||||||
|
List<PermissionPointTreeNode> finalFeature = feature;
|
||||||
|
List<SaasPermissionGroupVO> pageList = groupList.stream().map(group ->
|
||||||
|
SaasPermissionGroupVO.builder()
|
||||||
|
.id(group.getId())
|
||||||
|
.name(group.getName())
|
||||||
|
.feature(finalFeature)
|
||||||
|
.scopes(saasPermissionGroupScopes.stream().map(e -> BeanMapper.copyBean(e, SaasRolePermissionScopeVO.class)).collect(Collectors.toList()))
|
||||||
|
.createBy(group.getCreateBy())
|
||||||
|
.updateBy(group.getUpdateBy())
|
||||||
|
.type(group.getType())
|
||||||
|
.isCommon(group.getIsCommon())
|
||||||
|
.build()
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
return PageResp.list(iPage.getCurrent(), iPage.getSize(), iPage.getTotal(), pageList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -140,7 +140,8 @@ public class PermissionPointServiceImpl implements PermissionPointService {
|
|||||||
private List<PermissionPointTreeNode> filterTreeNode(PermissionPointTreeQueryReq request, List<PermissionPointTreeNode> treeList) {
|
private List<PermissionPointTreeNode> filterTreeNode(PermissionPointTreeQueryReq request, List<PermissionPointTreeNode> treeList) {
|
||||||
//过滤条件
|
//过滤条件
|
||||||
boolean needFilter = StrUtil.isNotBlank(request.getKeyword())
|
boolean needFilter = StrUtil.isNotBlank(request.getKeyword())
|
||||||
|| request.getDelegateType() != 0;
|
|| request.getDelegateType() != 0
|
||||||
|
|| CollectionUtil.isNotEmpty(request.getIds());
|
||||||
|
|
||||||
if (needFilter) {
|
if (needFilter) {
|
||||||
return treeList.stream().filter(x -> this.recursionFilter(request, x)).collect(Collectors.toList());
|
return treeList.stream().filter(x -> this.recursionFilter(request, x)).collect(Collectors.toList());
|
||||||
@ -149,14 +150,17 @@ public class PermissionPointServiceImpl implements PermissionPointService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean recursionFilter(PermissionPointTreeQueryReq request, PermissionPointTreeNode node) {
|
private boolean recursionFilter(PermissionPointTreeQueryReq request, PermissionPointTreeNode node) {
|
||||||
|
// 过滤参数为空时 认为匹配成功
|
||||||
//条件匹配 - 关键字
|
//条件匹配 - 关键字
|
||||||
boolean matchKeyword = request.getKeyword() == null || node.getPermissionName().contains(request.getKeyword());
|
boolean matchKeyword = request.getKeyword() == null || node.getPermissionName().contains(request.getKeyword());
|
||||||
|
|
||||||
//条件匹配 - 授权策略类型
|
//条件匹配 - 授权策略类型
|
||||||
boolean matchDelegateType = request.getDelegateType() == 0 || Objects.equals(request.getDelegateType(), node.getDelegatedType());
|
boolean matchDelegateType = request.getDelegateType() == 0 || Objects.equals(request.getDelegateType(), node.getDelegatedType());
|
||||||
|
|
||||||
if (matchKeyword && matchDelegateType) {
|
//条件匹配 - ID
|
||||||
|
boolean matchId = CollectionUtil.isEmpty(request.getIds()) || request.getIds().contains(node.getPermissionPointId());
|
||||||
|
|
||||||
|
if (matchKeyword && matchDelegateType && matchId) {
|
||||||
//如果匹配直接返回,否则过滤子节点
|
//如果匹配直接返回,否则过滤子节点
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -37,6 +38,7 @@ public class ProductFeatureRelationServiceImpl implements ProductFeatureRelation
|
|||||||
List<SaasProductModuleFeatureRelation> list = saasProductModuleFeatureRelationDao.lambdaQuery()
|
List<SaasProductModuleFeatureRelation> list = saasProductModuleFeatureRelationDao.lambdaQuery()
|
||||||
.eq(SaasProductModuleFeatureRelation::getProductModuleId, req.getProductModuleId())
|
.eq(SaasProductModuleFeatureRelation::getProductModuleId, req.getProductModuleId())
|
||||||
.eq(Objects.nonNull(req.getDictCodeId()), SaasProductModuleFeatureRelation::getDictCodeId, req.getDictCodeId())
|
.eq(Objects.nonNull(req.getDictCodeId()), SaasProductModuleFeatureRelation::getDictCodeId, req.getDictCodeId())
|
||||||
|
.eq(StringUtils.hasLength(req.getDictCode()), SaasProductModuleFeatureRelation::getDictCode, req.getDictCode())
|
||||||
.list();
|
.list();
|
||||||
return ApiResult.ok(BeanMapper.copyList(list, ProductFeatureRelationVO.class));
|
return ApiResult.ok(BeanMapper.copyList(list, ProductFeatureRelationVO.class));
|
||||||
}
|
}
|
||||||
@ -54,6 +56,7 @@ public class ProductFeatureRelationServiceImpl implements ProductFeatureRelation
|
|||||||
SaasProductModuleFeatureRelation relation = new SaasProductModuleFeatureRelation();
|
SaasProductModuleFeatureRelation relation = new SaasProductModuleFeatureRelation();
|
||||||
relation.setProductModuleId(i.getProductModuleId());
|
relation.setProductModuleId(i.getProductModuleId());
|
||||||
relation.setDictCodeId(i.getDictCodeId());
|
relation.setDictCodeId(i.getDictCodeId());
|
||||||
|
relation.setDictCode(i.getDictCode());
|
||||||
relation.setFeatureId(featureId);
|
relation.setFeatureId(featureId);
|
||||||
saveList.add(relation);
|
saveList.add(relation);
|
||||||
}));
|
}));
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
|
|||||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleReq;
|
||||||
|
import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
|
||||||
import cn.axzo.tyr.server.repository.entity.*;
|
import cn.axzo.tyr.server.repository.entity.*;
|
||||||
@ -145,10 +146,16 @@ public class RoleServiceImpl implements RoleService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<QueryByIdentityIdTypeReq, List<SaasRoleVO>> queryBatchByIdentityIdType(List<QueryByIdentityIdTypeReq> req) {
|
public List<QueryBatchByIdentityIdTypeRes> queryBatchByIdentityIdType(List<QueryByIdentityIdTypeReq> req) {
|
||||||
HashMap<QueryByIdentityIdTypeReq, List<SaasRoleVO>> result = new HashMap<>();
|
List<QueryBatchByIdentityIdTypeRes> result = new ArrayList<>();
|
||||||
req.forEach(e -> {
|
req.forEach(e -> {
|
||||||
result.put(e,queryByIdentityIdType(e.getIdentityId(),e.getIdentityType(),e.getWorkspaceId(),e.getOuId()));
|
result.add(QueryBatchByIdentityIdTypeRes.builder()
|
||||||
|
.identityId(e.getIdentityId())
|
||||||
|
.identityType(e.getIdentityType())
|
||||||
|
.workspaceId(e.getWorkspaceId())
|
||||||
|
.ouId(e.getOuId())
|
||||||
|
.role(queryByIdentityIdType(e.getIdentityId(),e.getIdentityType(),e.getWorkspaceId(),e.getOuId()))
|
||||||
|
.build());
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,13 @@
|
|||||||
package cn.axzo.tyr.server.service.impl;
|
package cn.axzo.tyr.server.service.impl;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO;
|
||||||
|
import cn.axzo.tyr.server.repository.entity.SaasPgroupRoleRelation;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
||||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||||
import cn.axzo.tyr.server.repository.service.SaasRoleGroupDao;
|
import cn.axzo.tyr.server.repository.service.*;
|
||||||
import cn.axzo.tyr.server.repository.service.SaasRoleGroupRelationDao;
|
|
||||||
import cn.axzo.tyr.server.service.SaasRoleGroupService;
|
import cn.axzo.tyr.server.service.SaasRoleGroupService;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -27,6 +28,11 @@ import java.util.stream.Collectors;
|
|||||||
public class SaasRoleGroupServiceImpl implements SaasRoleGroupService {
|
public class SaasRoleGroupServiceImpl implements SaasRoleGroupService {
|
||||||
private final SaasRoleGroupDao saasRoleGroupDao;
|
private final SaasRoleGroupDao saasRoleGroupDao;
|
||||||
private final SaasRoleGroupRelationDao saasRoleGroupRelationDao;
|
private final SaasRoleGroupRelationDao saasRoleGroupRelationDao;
|
||||||
|
private final SaasRoleDao roleDao;
|
||||||
|
private final SaasPgroupRoleRelationDao pgroupRoleRelationDao;
|
||||||
|
private final SaasPermissionGroupDao permissionGroupDao;
|
||||||
|
private final SaasPgroupPermissionRelationDao pgroupPermissionRelationDao;
|
||||||
|
private final SaasRoleUserRelationDao roleUserRelationDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SaasRoleGroupVO> getList(QuerySaasRoleGroupReq req) {
|
public List<SaasRoleGroupVO> getList(QuerySaasRoleGroupReq req) {
|
||||||
@ -57,7 +63,7 @@ public class SaasRoleGroupServiceImpl implements SaasRoleGroupService {
|
|||||||
.map(e -> {
|
.map(e -> {
|
||||||
SaasRoleGroupVO target = BeanUtil.copyProperties(e, SaasRoleGroupVO.class);
|
SaasRoleGroupVO target = BeanUtil.copyProperties(e, SaasRoleGroupVO.class);
|
||||||
if (StringUtils.isNotBlank(e.getOuTypeCode())) {
|
if (StringUtils.isNotBlank(e.getOuTypeCode())) {
|
||||||
target.setOuTypeCode(Arrays.stream(e.getOuTypeCode().split(",")).filter(StringUtils::isNotBlank).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()));
|
target.setOuTypeCode(Arrays.stream(e.getOuTypeCode().split(",")).filter(StringUtils::isNotBlank).map(s -> s.trim()).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
target.setRoleIds(groupRoleMap.get(e.getId()));
|
target.setRoleIds(groupRoleMap.get(e.getId()));
|
||||||
return target;
|
return target;
|
||||||
@ -65,4 +71,35 @@ public class SaasRoleGroupServiceImpl implements SaasRoleGroupService {
|
|||||||
|
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveOrUpdate(SaasRoleGroupVO req) {
|
||||||
|
// 拼接ouTypeCode字符串
|
||||||
|
String ouTypeCodeStr = null;
|
||||||
|
if (CollectionUtils.isNotEmpty(req.getOuTypeCode())) {
|
||||||
|
ouTypeCodeStr = StringUtils.join(req.getOuTypeCode(),",");
|
||||||
|
}
|
||||||
|
SaasRoleGroup saasRoleGroup = new SaasRoleGroup();
|
||||||
|
saasRoleGroup.setId(req.getId());
|
||||||
|
saasRoleGroup.setWorkspaceTypeCode(req.getWorkspaceTypeCode());
|
||||||
|
saasRoleGroup.setOuTypeCode(ouTypeCodeStr);
|
||||||
|
saasRoleGroup.setName(req.getName());
|
||||||
|
saasRoleGroup.setSort(req.getSort());
|
||||||
|
saasRoleGroupDao.saveOrUpdate(saasRoleGroup);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delete(Long id) {
|
||||||
|
// 删除分组
|
||||||
|
|
||||||
|
// 删除角色分组关联关系
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// 删除权限分组关联关系
|
||||||
|
// 删除权限
|
||||||
|
// 删除权限集关联关系
|
||||||
|
// 删除权限集
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user