权限详细技术方案

一、需求背景

简述需求现状、业务期望等等

02.选配系统权限管理

二、总体技术设计



三、业务逻辑清单
逻辑分类 编号 业务行为 业务逻辑描述 技术实现 业务详情







四、数据库物理模型




五、领域服务设计
1、应用服务清单
能力编码 业务场景 中心层API 应用服务 应用服务方法 API 集市地址(FAT)







2、插件服务清单
抽象插件类 实现 方法 入参 出参 备注







3、实体设计
实体 名称 方法 关键属性 备注






4、新品核心数据聚合
聚合 名称 方法 业务逻辑 聚合实体 备注







5、DP & 值对象设计
值对象 名称 关键属性 备注





六、核心逻辑设计

约束:sql返回列中必须包含事业部字段

1、过程

1、新增参数

参数 名称 类型 备注


libraryCode

库编码 Header 数据权限隔离单元




2、新增获取请求中的分库编码

/**
* 获取当前用户页面选中研发组织ID
*
* @return
*/
public static String getLibraryCode() {

HttpServletRequest request = null;
try {
request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
} catch (IllegalStateException e) {
return "";
}
String libraryCode = request.getHeader(Constants.CPLM_LIBRARY);
if (StringUtilsEx.isBlank(devOrgId) || "null".equals(devOrgId)) {
return "";
}
return libraryCode;
}
3、新增mapper拦截器 统一做数据权限隔离。逻辑如下:

2、类图




七、前端交互设计

如:核心流程的交互、复杂交互场景、通用组件设计




八、关键技术应用

如:消息中间件,规则引擎,事务处理等




九、会议结论及待办事项



待办项



负责人



预计完成时间



状态



处理情况


1





2





3





4





5










作者:寇永威  创建时间:2023-05-17 15:37
最后编辑:寇永威  更新时间:2023-11-21 15:32