a02f47ad5ce1ff3b291a43bf99ffb24311e296c3
build / build-push (push) Successful in 58s
任务书 P95 W1/W2/W3/W7。发一张表单原本要 UserBase 超管加一条 /f/{code} 模块行并组授权,
实测成本不可接受(10 张表=10 次跨系统操作),人群判定收回表单中心自解析。
- FillAccessService:audience × 会话身份(roleIds ∪ currentRole)× 管理员两表 → 层集合
ADMIN/MANAGE/FILL/空=NONE,谓词 canFill/canProxy/isAdmin + topTier;与 DataScopeService
读矩阵、FormAdminGuard 管理端入口三条线正交,结论互不供给
- AnswerService.doSubmit:钉版解析之后插第 0 关(先鉴权后业务,幂等重落在闸门后);
requireSubject 吸收行为表——教师×面向学生只能代填本校学生(P33 existsInSchool 保留),
层③代填仍沿 canManage 现路径,层①普通成员代填照旧拒
- GET /api/form/my/fillable:会话校 ∪ 平台级取域、复用 FormDefService.pickByShadowing 做
(app_code,code) 遮蔽去重、仅已发布未软删、NONE 不入集,行带 canFill + myTier 两件事,
deadline 升序 null 在后;新增 MyModels.FillableRow
- h2 登记脚本快应用段 5→4 行:删 /f/ 填报行与学生组授权,保留应用行/管理页面行/
path 空导入导出锚点/学校开通;H2 冻结延续,本轮未在任何环境执行
- 测试:FillAccessServiceTest 16(V48)+ AnswerFillGateIT 14(V49)+ FillableListIT 10(V50),
mvn -B -o clean test 全量 259 绿(教师×面向学生的造数据通道按新口径改代填,
读矩阵与限次等断言判据一字未改)
DataScopeService 与 FormAdminGuard 两个文件本轮未被改动(红线 1/2)。
form-center-service
managed by projman
Languages
Java
99.9%