REQ-2284 基础待完成
This commit is contained in:
parent
447ad084d8
commit
12caa4a41e
@ -1,6 +1,7 @@
|
||||
package cn.axzo.tyr.client.feign;
|
||||
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.model.req.CreateDataPermissionReq;
|
||||
import cn.axzo.tyr.client.model.req.GetWorkflowQueryAndUpdatePermissionReq;
|
||||
import cn.axzo.tyr.client.model.res.GetWorkflowQueryAndUpdatePermissionRes;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
@ -8,6 +9,8 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 数据权限API接口
|
||||
*/
|
||||
@ -18,4 +21,8 @@ public interface DataPermissionApi {
|
||||
@PostMapping(value = "/api/v1/dataPermission/getWorkflowQueryAndUpdatePermission")
|
||||
ApiResult<GetWorkflowQueryAndUpdatePermissionRes> getWorkflowQueryAndUpdatePermission(@RequestBody @Validated GetWorkflowQueryAndUpdatePermissionReq req);
|
||||
|
||||
// ******************************************************************
|
||||
// 数据权限
|
||||
@PostMapping("/api/dataPermission/create")
|
||||
ApiResult<Long> createDataPermission(@RequestBody @Valid CreateDataPermissionReq req);
|
||||
}
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package cn.axzo.tyr.client.model.data.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
public class Attribute {
|
||||
Integer sort; // 序号
|
||||
String attrName; //字段名
|
||||
String attrCode;
|
||||
Integer unmaskSupport; // 是否支持脱敏 1-支持 0-不支持
|
||||
Integer editSupport; // 是否支持编辑 1-支持 0-不支持
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.tyr.client.model.data.permission;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
public class AttributePermission {
|
||||
Integer sort; // 序号
|
||||
String attrName; //字段名
|
||||
String attrCode;
|
||||
Integer visibilityScope; // 字段值查看范围 0:同行级数据权限 1:仅本人数据 2:本人及下属数据 3:仅本部门数据 4:本部门及以下数据 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目部数据
|
||||
Integer isUnmaskable; // 是否可脱敏 1-可操作脱敏 0-不可操作脱敏
|
||||
Integer isEditable; // 是否可编辑 1-可编辑 0-不可编辑
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package cn.axzo.tyr.client.model.req;
|
||||
|
||||
import cn.axzo.tyr.client.model.data.permission.Attribute;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CreateDataPermissionReq {
|
||||
/**
|
||||
* 数据权限code
|
||||
*/
|
||||
@NotEmpty(message = "请输入数据权限code")
|
||||
private String dataPermissionCode;
|
||||
/**
|
||||
* 数据权限名 全局唯一
|
||||
*/
|
||||
@NotNull(message = "请输入数据权限名")
|
||||
@Size(min = 1, max = 10,message = "请输入数据权限名")
|
||||
private String dataPermissionName;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String memo;
|
||||
/**
|
||||
* 字段
|
||||
*/
|
||||
private List<Attribute> attrs;
|
||||
/**
|
||||
* 排序 (从小到大)
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 创建人自然人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 修改人自然人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
}
|
||||
@ -3,8 +3,10 @@ package cn.axzo.tyr.server.controller.dataPermission;
|
||||
import cn.axzo.framework.domain.web.ApiException;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.feign.DataPermissionApi;
|
||||
import cn.axzo.tyr.client.model.req.CreateDataPermissionReq;
|
||||
import cn.axzo.tyr.client.model.req.GetWorkflowQueryAndUpdatePermissionReq;
|
||||
import cn.axzo.tyr.client.model.res.GetWorkflowQueryAndUpdatePermissionRes;
|
||||
import cn.axzo.tyr.server.service.DataPermissionService;
|
||||
import cn.axzo.tyr.server.utils.RpcExternalUtil;
|
||||
import cn.axzo.workflow.client.feign.bpmn.ProcessInstanceApi;
|
||||
import cn.axzo.workflow.client.feign.bpmn.ProcessTaskApi;
|
||||
@ -32,6 +34,10 @@ public class DataPermissionController implements DataPermissionApi {
|
||||
private final ProcessTaskApi processTaskApi;
|
||||
private final ProcessInstanceApi processInstanceApi;
|
||||
|
||||
// ******************************************************************
|
||||
// 数据权限
|
||||
private final DataPermissionService dataPermissionService;
|
||||
|
||||
|
||||
@Override
|
||||
public ApiResult<GetWorkflowQueryAndUpdatePermissionRes> getWorkflowQueryAndUpdatePermission(GetWorkflowQueryAndUpdatePermissionReq req) {
|
||||
@ -65,4 +71,12 @@ public class DataPermissionController implements DataPermissionApi {
|
||||
}
|
||||
return ApiResult.ok(result);
|
||||
}
|
||||
|
||||
|
||||
// ******************************************************************
|
||||
// 数据权限
|
||||
@Override
|
||||
public ApiResult<Long> createDataPermission(CreateDataPermissionReq req) {
|
||||
return ApiResult.ok(dataPermissionService.createDataPermission(req));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
package cn.axzo.tyr.server.repository.dao;
|
||||
|
||||
import cn.axzo.tyr.server.repository.entity.DataPermission;
|
||||
import cn.axzo.tyr.server.repository.mapper.DataPermissionMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class DataPermissionDao extends ServiceImpl<DataPermissionMapper, DataPermission> {
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package cn.axzo.tyr.server.repository.dao;
|
||||
|
||||
import cn.axzo.tyr.server.repository.entity.DataPermission;
|
||||
import cn.axzo.tyr.server.repository.entity.DataObjectRule;
|
||||
import cn.axzo.tyr.server.repository.mapper.DataPermissionRuleMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class DataPermissionRuleDao extends ServiceImpl<DataPermissionRuleMapper, DataObjectRule> {
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package cn.axzo.tyr.server.repository.entity;
|
||||
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "data_object", autoResultMap = true)
|
||||
public class DataObject extends BaseEntity<DataObject> implements Serializable {
|
||||
/**
|
||||
* 数据权限code
|
||||
*/
|
||||
private String dataObjectCode;
|
||||
/**
|
||||
* 数据权限名 全局唯一
|
||||
*/
|
||||
private String dataObjectName;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String memo;
|
||||
/**
|
||||
* 租户范围(插入后不可编辑) 1:项目租户 2:单位租户 3:OMS 4:政务监管平台
|
||||
*/
|
||||
private Integer tenantScope;
|
||||
/**
|
||||
* 排序 (从小到大)
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 创建人自然人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 修改人自然人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
package cn.axzo.tyr.server.repository.entity;
|
||||
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "data_object_attr", autoResultMap = true)
|
||||
public class DataObjectAttr extends BaseEntity<DataObjectAttr> implements Serializable {
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 字段名
|
||||
*/
|
||||
private String attrName;
|
||||
private String attrCode;
|
||||
/**
|
||||
* 是否支持脱敏 1-支持 0-不支持
|
||||
*/
|
||||
private Integer unmaskSupport;
|
||||
/**
|
||||
* 是否支持编辑 1-支持 0-不支持
|
||||
*/
|
||||
private Integer editSupport;
|
||||
/**
|
||||
* 创建人自然人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 修改人自然人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package cn.axzo.tyr.server.repository.entity;
|
||||
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "data_object_rule", autoResultMap = true)
|
||||
public class DataObjectRule extends BaseEntity<DataObjectRule> implements Serializable {
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
private String dataObjectId;
|
||||
/**
|
||||
* 数据权限code
|
||||
*/
|
||||
private String dataObjectCode;
|
||||
/**
|
||||
* 规则名
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 行级数据权限(单选) 1:仅本人数据 2:本人及下属数据 3:仅本部门数据 4:本部门及以下数据
|
||||
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目部数据
|
||||
*/
|
||||
private Integer rowPermission;
|
||||
/**
|
||||
* 规则范围 1:岗位 2:角色
|
||||
*/
|
||||
private Integer ruleScope;
|
||||
/**
|
||||
* 岗位id
|
||||
*/
|
||||
private Long jobId;
|
||||
/**
|
||||
* 角色id
|
||||
*/
|
||||
private Long roleId;
|
||||
/**
|
||||
* 是否为默认规则 0-不是 1-是
|
||||
*/
|
||||
private Integer isDefault;
|
||||
/**
|
||||
* 排序 (从小到大)
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 创建人自然人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 修改人自然人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package cn.axzo.tyr.server.repository.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "data_object_rule_attr_relation", autoResultMap = true)
|
||||
public class DataObjectRuleAttrRelation {
|
||||
/**
|
||||
* 数据对象id
|
||||
*/
|
||||
private Long dataObjectId;
|
||||
/**
|
||||
* 数据对象code
|
||||
*/
|
||||
private Long dataObjectName;
|
||||
/**
|
||||
* 数据对象字段id
|
||||
*/
|
||||
private Long dataObjectAttrId;
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 字段值查看范围 0:同行级数据权限 1:仅本人数据 2:本人及下属数据 3:仅本部门数据 4:本部门及以下数据
|
||||
* 5:仅本单位数据 6:本单位及下级直属单位数据 7:本单位及下级协同(直属+合作)单位数据 8:本单位及以下协同(直属+合作)单位数据 9:本项目部数据
|
||||
*/
|
||||
private Integer visibilityScope;
|
||||
/**
|
||||
* 是否可脱敏 1-可操作脱敏 0-不可操作脱敏
|
||||
*/
|
||||
private Integer isUnmaskable;
|
||||
/**
|
||||
* 是否可编辑 1-可编辑 0-不可编辑
|
||||
*/
|
||||
private Integer isEditable;
|
||||
/**
|
||||
* 创建人自然人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 修改人自然人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package cn.axzo.tyr.server.repository.mapper;
|
||||
|
||||
import cn.axzo.tyr.server.repository.entity.DataPermission;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface DataPermissionMapper extends BaseMapper<DataPermission> {
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package cn.axzo.tyr.server.repository.mapper;
|
||||
|
||||
import cn.axzo.tyr.server.repository.entity.DataObjectRule;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface DataPermissionRuleMapper extends BaseMapper<DataObjectRule> {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package cn.axzo.tyr.server.service;
|
||||
|
||||
import cn.axzo.tyr.client.model.req.CreateDataPermissionReq;
|
||||
|
||||
public interface DataPermissionService {
|
||||
Long createDataPermission(CreateDataPermissionReq req);
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package cn.axzo.tyr.server.service.impl;
|
||||
|
||||
import cn.axzo.tyr.client.model.req.CreateDataPermissionReq;
|
||||
import cn.axzo.tyr.server.repository.dao.DataPermissionDao;
|
||||
import cn.axzo.tyr.server.repository.dao.DataPermissionRuleDao;
|
||||
import cn.axzo.tyr.server.service.DataPermissionService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class DataPermissionServiceImpl implements DataPermissionService {
|
||||
private final DataPermissionDao dataPermissionDao;
|
||||
private final DataPermissionRuleDao dataPermissionRuleDao;
|
||||
|
||||
@Override
|
||||
public Long createDataPermission(CreateDataPermissionReq req) {
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user