7af6a98fc0b489a61953d43759f998e49dff34cb
P95 落地后的独立修复批,四条存量逻辑硬伤(填报入口层不动): - 跨版本编辑必挂:客户端按当前发布版渲染、服务端按钉住旧版校验,升版后编辑永远 400(含未知字段/缺必填)。改为编辑态吃 /my/detail 的钉住版 groups。 - 编辑不吃截止/停用闸:先占位、截止后随便改可绕过 deadline。editBySubmitter 补 截止/停用/已删三闸,与 submit 同口径。 - 自填 subject 落 NULL:subject_id 为空的自填行进不了"关于我的"(/my/about 与 ABOUT_ME 谓词都按 subject 查),V18"含代填"实际退化成"仅代填"。落库归一为 coalesce(subjectId, submitterId);限次键本就是 coalesce,不受影响。 - answer_no 并发重号:count+1 的 count 与 insert 之间有并发窗口,报名号是对外凭证。 加 uk_answer_no 兜底 + 撞号重算序号重试(3 次封顶),按异常消息列名区分撞的是 报名号还是幂等键(MySQL/H2 通用)。 语义变更备案:自填行 subject 由 NULL 变本人,读矩阵"学生x面向学生=关于我"这一格 此后含自填行,可见集变大(DataScopeService/矩阵规则一字未动,变的是数据形状)。 三处断言随行为更新:AdminScopeIT、AnswerReadIT、MyAnswerIT(+ReadFixture 注释)。 验证:mvn 261 绿(+2 新用例:并发报名号不重复、编辑闸三态)。
form-center-service
managed by projman
Languages
Java
99.9%