增加userScope
This commit is contained in:
parent
45392def4b
commit
374dd3c534
@ -5,9 +5,29 @@ Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "项目部通讯录列表",
|
||||
"attrs": [{"label": "用户名", "attr": "name"}, {"label": "用户Id", "attr": "id"}, {"label": "手机号", "attr": "phone"}],
|
||||
"resourceScope": [{"attr": "dataPermission", "operation": "in", "value": ["WORKSPACE_SUPERIOR"]}],
|
||||
"resourceCode": "workspaceContact",
|
||||
"attrs": [
|
||||
{
|
||||
"label": "用户名",
|
||||
"attr": "name"
|
||||
},
|
||||
{
|
||||
"label": "用户Id",
|
||||
"attr": "id"
|
||||
},
|
||||
{
|
||||
"label": "手机号",
|
||||
"attr": "phone"
|
||||
}
|
||||
],
|
||||
"resourceScope": {
|
||||
"op": "and",
|
||||
"rules": [{"attr": "dataPermission", "op": "in", "value": ["WORKSPACE_SUPERIOR"]}],
|
||||
"groups": [
|
||||
{ "op": "or",
|
||||
"rules": [{"attr": "dataPermission1", "op": "eq", "value": ["1"]},{"attr": "dataPermission2", "op": "eq", "value": ["1"]}]}
|
||||
]
|
||||
},
|
||||
"resourceCode": "workspaceContact1",
|
||||
"module": "PROJECT"
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.tyr.client.common.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author haiyangjin
|
||||
* @date 2024/1/21
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DataResourceOperationEnum {
|
||||
/**
|
||||
* 数据资源操作类型:读
|
||||
*/
|
||||
READ("READ", "读"),
|
||||
|
||||
/**
|
||||
* 数据资源操作类型:写
|
||||
*/
|
||||
WRITE("WRITE", "写"),
|
||||
;
|
||||
|
||||
@EnumValue
|
||||
private final String value;
|
||||
private final String desc;
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package cn.axzo.tyr.client.model.dataresource;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author haiyangjin
|
||||
* @date 2024/1/21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DataResourceRuleDTO {
|
||||
/**
|
||||
* 属性
|
||||
*/
|
||||
private String attr;
|
||||
|
||||
/**
|
||||
* 操作符
|
||||
*/
|
||||
private String op;
|
||||
|
||||
/**
|
||||
* 属性值
|
||||
*/
|
||||
private List<String> value;
|
||||
}
|
||||
@ -19,15 +19,15 @@ public class ResourceScope {
|
||||
/**
|
||||
* 属性
|
||||
*/
|
||||
private String attr;
|
||||
private List<DataResourceRuleDTO> rules;
|
||||
|
||||
/**
|
||||
* 操作符
|
||||
* 操作符 and 或者 or
|
||||
*/
|
||||
private String operation;
|
||||
private String op;
|
||||
|
||||
/**
|
||||
* 属性值
|
||||
*/
|
||||
private List<String> value;
|
||||
private List<ResourceScope> groups;
|
||||
}
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
package cn.axzo.tyr.client.model.dataresource;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author haiyangjin
|
||||
* @date 2024/1/19
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserScope {
|
||||
/**
|
||||
* 用户属性
|
||||
*/
|
||||
private List<UserScopeRuleDTO> rules;
|
||||
|
||||
/**
|
||||
* 操作符 and 或者 or
|
||||
*/
|
||||
private String op;
|
||||
|
||||
/**
|
||||
* 属性值
|
||||
*/
|
||||
private List<UserScope> groups;
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package cn.axzo.tyr.client.model.dataresource;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author haiyangjin
|
||||
* @date 2024/1/21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserScopeRuleDTO {
|
||||
/**
|
||||
* 属性
|
||||
*/
|
||||
private String attr;
|
||||
|
||||
/**
|
||||
* 操作符
|
||||
*/
|
||||
private String op;
|
||||
|
||||
/**
|
||||
* 属性值
|
||||
*/
|
||||
private List<String> value;
|
||||
}
|
||||
@ -1,11 +1,14 @@
|
||||
package cn.axzo.tyr.client.model.dataresource.req;
|
||||
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceModuleEnum;
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceOperationEnum;
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceTypeEnum;
|
||||
import cn.axzo.tyr.client.model.dataresource.DataResourceAttrs;
|
||||
import cn.axzo.tyr.client.model.dataresource.ResourceScope;
|
||||
import cn.axzo.tyr.client.model.dataresource.UserScope;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Builder.Default;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ -49,14 +52,26 @@ public class CreateDataResourceParam {
|
||||
/**
|
||||
* 数据范围
|
||||
*/
|
||||
private List<ResourceScope> resourceScope;
|
||||
private ResourceScope resourceScope;
|
||||
|
||||
/**
|
||||
* 数据对象类型0:主对象1:子对象
|
||||
* 用户范围
|
||||
*/
|
||||
private UserScope userScope;
|
||||
|
||||
/**
|
||||
* 数据资源类型0:主对象1:子对象
|
||||
* @see DataResourceTypeEnum
|
||||
*/
|
||||
private DataResourceTypeEnum type;
|
||||
|
||||
/**
|
||||
* 数据资源操作类型
|
||||
* @see DataResourceOperationEnum
|
||||
*/
|
||||
@Default
|
||||
private DataResourceOperationEnum operation = DataResourceOperationEnum.READ;
|
||||
|
||||
/**
|
||||
* 数据对象code
|
||||
*/
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
package cn.axzo.tyr.client.model.dataresource.resp;
|
||||
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceModuleEnum;
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceOperationEnum;
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceTypeEnum;
|
||||
import cn.axzo.tyr.client.model.dataresource.DataResourceAttrs;
|
||||
import cn.axzo.tyr.client.model.dataresource.ResourceScope;
|
||||
import cn.axzo.tyr.client.model.dataresource.UserScope;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@ -32,6 +34,11 @@ public class DataResourceResp implements Serializable {
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 数据对象操作类型
|
||||
*/
|
||||
private DataResourceOperationEnum operation;
|
||||
|
||||
/**
|
||||
* 模块名称 eg. 企业:ENTERPRISE, 项目:PROJECT
|
||||
*/
|
||||
@ -52,6 +59,11 @@ public class DataResourceResp implements Serializable {
|
||||
*/
|
||||
private List<ResourceScope> resourceScope;
|
||||
|
||||
/**
|
||||
* 用户范围
|
||||
*/
|
||||
private List<UserScope> userScope;
|
||||
|
||||
/**
|
||||
* 数据对象类型0:主对象1:子对象
|
||||
*/
|
||||
|
||||
@ -2,9 +2,11 @@ package cn.axzo.tyr.server.repository.entity;
|
||||
|
||||
import cn.axzo.framework.data.mybatisplus.model.BaseEntity;
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceModuleEnum;
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceOperationEnum;
|
||||
import cn.axzo.tyr.client.common.enums.DataResourceTypeEnum;
|
||||
import cn.axzo.tyr.client.model.dataresource.DataResourceAttrs;
|
||||
import cn.axzo.tyr.client.model.dataresource.ResourceScope;
|
||||
import cn.axzo.tyr.client.model.dataresource.UserScope;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||
@ -56,7 +58,13 @@ public class DataResource extends BaseEntity<DataResource> implements Serializab
|
||||
* 数据范围
|
||||
*/
|
||||
@TableField(value = "resource_scope", typeHandler = FastjsonTypeHandler.class)
|
||||
private List<ResourceScope> resourceScope;
|
||||
private ResourceScope resourceScope;
|
||||
|
||||
/**
|
||||
* 用户范围
|
||||
*/
|
||||
@TableField(value = "user_scope", typeHandler = FastjsonTypeHandler.class)
|
||||
private UserScope userScope;
|
||||
|
||||
/**
|
||||
* 数据对象类型0:主对象1:子对象
|
||||
@ -64,6 +72,12 @@ public class DataResource extends BaseEntity<DataResource> implements Serializab
|
||||
@TableField("type")
|
||||
private DataResourceTypeEnum type;
|
||||
|
||||
/**
|
||||
* 数据对象类型0:主对象1:子对象
|
||||
*/
|
||||
@TableField("operation")
|
||||
private DataResourceOperationEnum operation;
|
||||
|
||||
/**
|
||||
* 数据对象code
|
||||
*/
|
||||
|
||||
@ -60,7 +60,7 @@ public class DataResourceServiceImpl implements DataResourceService {
|
||||
DataResource dataResource = new DataResource();
|
||||
BeanUtils.copyProperties(param, dataResource);
|
||||
|
||||
if (param.getParentId() > 0) {
|
||||
if (Objects.nonNull(param.getParentId()) && param.getParentId() > 0) {
|
||||
DataResource parent = dataResourceDao.getById(param.getParentId());
|
||||
if (Objects.isNull(parent)) {
|
||||
Throws.bizException(BaseCode.BAD_REQUEST, "数据对象不存在!");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user