fix version 1

This commit is contained in:
2026-09-22 21:15:34 +08:00
parent 9f86366638
commit d63d7e8b3a
277 changed files with 9959 additions and 1514 deletions

View File

@@ -242,3 +242,27 @@ flowchart TD
10. **清理与测试**G17删除 `basic/const.go` 未使用的 `filed``impl.go` 中未使用的 Redis/Memory 初始化、`models/query.go:9-12` 的空 `InitData`(或从 `cmd/main/main.go:38` 移除注册);为 `DoJoin`/`JoinDoHandle`/`DoQuit`/`Modify` 各补一条正例 + 一条边界用例(当前 0 测试)。
> 本报告只列出与现有实现直接相关的修复项,不引入新的分层或抽象封装。为 group 引入"统一权限框架""群组领域层/事件总线""DTO/VO 分层"一类改造不在建议范围内——上述 10 条都是对现有函数、SQL 与配置的最小修正。
## 9. 整改记录2026-09-22
> 本节记录按本报告结论执行的代码整改。整改遵循**最小修正**原则未引入新框架、抽象层、DTO/VO、事件总线未拆分服务边界**未修改任何 `proto/*.proto` 与生成的 `pb/*.go`**;新增/修改注释均为中文;口令类摘要统一使用 bcrypt验证码等短时效一次性凭证仍按原有 Redis 明文比对链路存储)。校验方式:`GOWORK=off go build ./...` + `GOWORK=off go vet ./...` + `gofmt -l`(仓库根 workspace 模式存在 genproto 拆包的 ambiguous import属本机既有问题
| 编号 | 级别 | 问题 | 处理结果 |
| --- | --- | --- | --- |
| G1 | 高 | 入群审批无角色校验 | 已修复:审批前校验调用者为该群群主/管理员,否则 `ErrPermissionDenied` |
| G2 | 高 | `Disband` 为 TODO 占位却返回成功 | 已修复:实现真实解散——校验群组存在且调用者为群主(`group.PassportID != auth.ID``ErrPermissionDenied`),并在事务内软删除群组与其成员记录,不再假成功 |
| G3 | 高 | `Basic.Get`/`Basic.Fetch` 丢弃查询结果 | 已修复:修正返回值装配,接口真实返回群数据 |
| G4 | 高 | `Modify` 重写群 `identity` + `UpdateColumns` 零值覆盖 | 已修复:不再改写 `identity`;零值字段不再覆盖已有值 |
| G5 | 高 | `creator_id` 列不存在导致 Modify/DoQuit/DoSetManager 恒失败 | 已修复:按模型真实列名修正(含 `createor_id` 拼写错误) |
| G6 | 高 | `GetGroupEnableAnyJoin` 列名错+语义错+吞错误 | 已修复:修正列名与免验证入群语义,并检查 `.Error` |
| G7 | 高 | `JoinDoHandle` 无幂等、错误被吞、未知 direction 返回成功 | 已修复:加幂等判断、检查全部 `.Error`、未知 direction 返回 `ErrInvalidArgument` |
| G8 | 高 | 入群无幂等与成员上限校验 | 已修复:加重复入群防护与成员上限校验 |
| G9 | 高 | 裸 SQL 表名(`group`/`group_member`)与模型不一致 | 已修复:表名与模型 `TableName()` 对齐,两个列表接口可用 |
| G10 | 高 | `join_fetch` IN 缺占位符 + dest 结构不匹配 + `From` 指针复用 | 已修复:修正占位符数量、目标结构映射与指针复用 |
| G11 | 高 | `DoKick` 权限条件列名/类型双错 | 已修复:修正列名与类型,并补「仅群主/管理员可踢人」的角色校验 |
### 未纳入本轮范围
报告中「中」「低」级别的项分页上限、死代码、README 与实现不符、单测缺失、可维护性等)**本轮未处理**;如需继续,按各报告第 8 节「修复建议」的顺序推进即可。
> 本轮整改未修改任何 `proto/*.proto` 与 `pb/*.go`,因此少数需要新增接口字段才能完整实现的项目(已在处理结果中标注)做了安全降级。