fix: UID 类型混用统一(uint ↔ string)
- Comment.ReplyToUID string→uint, 移除 varchar(36) gorm 约束 - CommentMention.UID string→uint, 移除 varchar(36) gorm 约束 - UserSearchResult.UID string→uint - 移除 SearchUsersByLevel 中 strconv.FormatUint 转换 - 删除 GetUserUIDByID 方法,CreateReply 直接使用 parent.UserID - fillReplyToNames 使用 map[uint]string 替代 map[string]string - 更新 commentStore 接口声明 - 修复前端 mention 下拉 show.html 中 u.id→u.uid
This commit is contained in:
@ -1,8 +1,6 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"metazone.cc/metalab/internal/model"
|
||||
"metazone.cc/metalab/internal/service"
|
||||
)
|
||||
@ -21,7 +19,7 @@ func (r *CommentRepo) FindMentionsByComment(commentID uint) ([]model.CommentMent
|
||||
|
||||
// SearchUsersByLevel 搜索指定等级及以上用户(用于@艾特),返回 uid/username/exp
|
||||
func (r *CommentRepo) SearchUsersByLevel(keyword string, minLevel int, limit int) ([]struct {
|
||||
UID string
|
||||
UID uint
|
||||
Username string
|
||||
Exp int
|
||||
}, error) {
|
||||
@ -42,30 +40,20 @@ func (r *CommentRepo) SearchUsersByLevel(keyword string, minLevel int, limit int
|
||||
Find(&list).Error
|
||||
|
||||
var res []struct {
|
||||
UID string
|
||||
UID uint
|
||||
Username string
|
||||
Exp int
|
||||
}
|
||||
for _, u := range list {
|
||||
res = append(res, struct {
|
||||
UID string
|
||||
UID uint
|
||||
Username string
|
||||
Exp int
|
||||
}{UID: strconv.FormatUint(uint64(u.UID), 10), Username: u.Username, Exp: u.Exp})
|
||||
}{UID: u.UID, Username: u.Username, Exp: u.Exp})
|
||||
}
|
||||
return res, err
|
||||
}
|
||||
|
||||
// GetUserUIDByID 通过 uint ID 获取 user 的 UID 字符串
|
||||
func (r *CommentRepo) GetUserUIDByID(userID uint) (string, error) {
|
||||
var uid uint
|
||||
err := r.db.Table("users").Select("id").Where("id = ?", userID).Scan(&uid).Error
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return strconv.FormatUint(uint64(uid), 10), nil
|
||||
}
|
||||
|
||||
// GetUsernameByID 通过 userID 获取用户名(用于通知内容)
|
||||
func (r *CommentRepo) GetUsernameByID(userID uint) (string, error) {
|
||||
var username string
|
||||
|
||||
Reference in New Issue
Block a user