基线 origin/main 0c9b459。AdminAddMembers 对已在群内和重复编号是静默跳过,不放进 failed。审计用 len(req.MemberIDs) - len(failed) 当成功条数。请求里全是已有成员时 failed 为空,审计写成 ok,HTTP 的 failed 也是空数组,界面会提示已经加人,实际插入 0 行。
origin/main
0c9b459
AdminAddMembers
failed
len(req.MemberIDs) - len(failed)
ok
成员表本身没有写错,错的是成功口径。
internal/admin/groups.go
group_add_members
okN
batchAuditResult
用实际插入数(或请求数减去失败数再减去跳过数)计算审计结果。全部跳过、没有新成员时不要记成 ok。响应里的 failed 仍只包含真正失败的编号;若现有界面只看 failed 为空就提示成功,响应里增加已跳过或实际加入数量,让界面按实际加入数提示。不要把已是成员改成错误码,除非产品本来就把重复加人当失败。当前产品是静默跳过,只修正审计和提示。
补测试:三个重复的已有成员,审计不是 ok,插入行数为 0。
只改 internal/admin/groups.go、对应测试,以及若响应字段有变时的 web/src 群成员添加提示。偏差节 ### 复审修复 R3-08。
web/src
### 复审修复 R3-08
???(?? feat/fix-r3-72-audit,HEAD 8b7b780)?
feat/fix-r3-72-audit
8b7b780
handleGroupAddMembers
group_members
added
len(member_ids)-len(failed)
result=noop
go test ./internal/admin/
pnpm test -- src/views/GroupsView.spec.ts
main
已合入 main:b9b88f1 (#72);当前 origin/main HEAD 2d1dfd7。
b9b88f1
2d1dfd7
复查后补了一处并发口径:added 改为写事务内实际插入数 069039f (#72),不再用事务外两次 COUNT 的差。
069039f
No dependencies set.
The note is not visible to the blocked user.
现象
基线
origin/main0c9b459。AdminAddMembers对已在群内和重复编号是静默跳过,不放进failed。审计用len(req.MemberIDs) - len(failed)当成功条数。请求里全是已有成员时failed为空,审计写成ok,HTTP 的failed也是空数组,界面会提示已经加人,实际插入 0 行。成员表本身没有写错,错的是成功口径。
位置
internal/admin/groups.go:group_add_members的okN与batchAuditResult方案
用实际插入数(或请求数减去失败数再减去跳过数)计算审计结果。全部跳过、没有新成员时不要记成
ok。响应里的failed仍只包含真正失败的编号;若现有界面只看failed为空就提示成功,响应里增加已跳过或实际加入数量,让界面按实际加入数提示。不要把已是成员改成错误码,除非产品本来就把重复加人当失败。当前产品是静默跳过,只修正审计和提示。补测试:三个重复的已有成员,审计不是
ok,插入行数为 0。约束
只改
internal/admin/groups.go、对应测试,以及若响应字段有变时的web/src群成员添加提示。偏差节### 复审修复 R3-08。???(??
feat/fix-r3-72-audit,HEAD8b7b780)?handleGroupAddMembers?????group_members???????added;?????len(member_ids)-len(failed)?result=noop(??ok);failed????????,???????????added;???????????go test ./internal/admin/??;pnpm test -- src/views/GroupsView.spec.ts???????????main?已合入 main:
b9b88f1(#72);当前 origin/main HEAD2d1dfd7。复查后补了一处并发口径:
added改为写事务内实际插入数069039f(#72),不再用事务外两次 COUNT 的差。