You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.7 KiB
33 lines
1.7 KiB
|
4 weeks ago
|
# 06 · 确认写侧归属不受分模块影响:MetaObjectFillHandler
|
||
|
|
|
||
|
|
Type: grilling
|
||
|
|
Status: resolved
|
||
|
|
|
||
|
|
## Question
|
||
|
|
|
||
|
|
写侧 `MetaObjectFillHandler`(插入时填 owner_id/dept_id,取自 `currentOwnership()`)
|
||
|
|
在数据权限分模块后是否受影响?
|
||
|
|
|
||
|
|
初判**不受影响**:归属填充只关乎「新数据归谁」= 当前用户 + 主部门,与「能看多宽」的档位无关,
|
||
|
|
更与「哪个模块」无关(同一用户主部门不随模块变)。本票的活是**确认掉这个判断**,
|
||
|
|
或指出确实需要动的点,把它从雾里清出去。
|
||
|
|
|
||
|
|
- 若 04 改了 `currentOwnership()` 签名(如需传模块),本票需相应确认;否则可独立于依赖链先关。
|
||
|
|
- 若确认不受影响,答案记「不受影响 + 理由」,不产生实现工单。
|
||
|
|
|
||
|
|
无阻塞——可随时开工确认。
|
||
|
|
|
||
|
|
## Answer
|
||
|
|
|
||
|
|
### 确认:不受影响,不产生实现工单
|
||
|
|
|
||
|
|
写侧 `MetaObjectFillHandler.insertFill` 调 `DataVisibilityContext.currentOwnership()` 拿 `DataOwnership(ownerId, primaryDeptId)` 填 `owner_id` / `dept_id` 列。这是**身份维度**(当前用户 + 主部门 ADR-0005),与数据范围档位(SELF / DEPT / DEPT_AND_CHILDREN / ALL)正交。
|
||
|
|
|
||
|
|
分模块改造改的是 `currentScope()`(读侧,每个模块各一份档位),不改 `currentOwnership()`(写侧,身份不随模块变)。同一用户的主部门不随模块变化。
|
||
|
|
|
||
|
|
- `currentOwnership()` 签名不需加 module 参数——身份与模块无关。
|
||
|
|
- `DataOwnership` 值对象不需改——它只承载 ownerId + primaryDeptId。
|
||
|
|
- `MetaObjectFillHandler` 不需改——它不读 scope,只读 ownership。
|
||
|
|
|
||
|
|
**一句话**:写侧填归属(谁的新数据),读侧按模块过滤(能看到什么),两者正交。
|