fix version 1
This commit is contained in:
@@ -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`,因此少数需要新增接口字段才能完整实现的项目(已在处理结果中标注)做了安全降级。
|
||||
|
||||
Reference in New Issue
Block a user