数据模型使用指针类型字段以避免空值自动更新的问题

This commit is contained in:
2025-05-26 10:57:39 +08:00
parent 1e7b5777a2
commit c08d625975
43 changed files with 457 additions and 397 deletions

View File

@@ -3,6 +3,7 @@ package services
import (
"context"
"errors"
"platform/pkg/u"
auth2 "platform/web/auth"
client2 "platform/web/domains/client"
"platform/web/globals/orm"
@@ -108,14 +109,14 @@ func (s *authService) OauthPassword(ctx context.Context, _ *m.Client, data *Gran
if user == nil {
user = &m.User{
Phone: data.Username,
Username: data.Username,
Username: u.P(data.Username),
}
}
// 更新用户的登录时间
user.LastLogin = orm.LocalDateTime(time.Now())
user.LastLoginHost = ip
user.LastLoginAgent = agent
user.LastLogin = u.P(orm.LocalDateTime(time.Now()))
user.LastLoginHost = u.P(ip)
user.LastLoginAgent = u.P(agent)
if err := tx.User.Omit(q.User.AdminID).Save(user); err != nil {
return err
}
@@ -127,11 +128,15 @@ func (s *authService) OauthPassword(ctx context.Context, _ *m.Client, data *Gran
}
// 保存到会话
var name = ""
if user.Name != nil {
name = *user.Name
}
authCtx := auth2.Context{
Payload: auth2.Payload{
Id: user.ID,
Type: auth2.PayloadUser,
Name: user.Name,
Name: name,
Avatar: user.Avatar,
},
}