diff --git a/internal/db/models/admin_dao.go b/internal/db/models/admin_dao.go index 4155dd0b..2af1fe1f 100644 --- a/internal/db/models/admin_dao.go +++ b/internal/db/models/admin_dao.go @@ -313,6 +313,14 @@ func (this *AdminDAO) UpdateAdminTheme(tx *dbs.Tx, adminId int64, theme string) UpdateQuickly() } +// UpdateAdminLang 设置管理员语言 +func (this *AdminDAO) UpdateAdminLang(tx *dbs.Tx, adminId int64, langCode string) error { + return this.Query(tx). + Pk(adminId). + Set("lang", langCode). + UpdateQuickly() +} + // CheckSuperAdmin 检查管理员是否为超级管理员 func (this *AdminDAO) CheckSuperAdmin(tx *dbs.Tx, adminId int64) (bool, error) { if adminId <= 0 { diff --git a/internal/rpc/services/service_admin.go b/internal/rpc/services/service_admin.go index 49028da8..8d785692 100644 --- a/internal/rpc/services/service_admin.go +++ b/internal/rpc/services/service_admin.go @@ -740,3 +740,18 @@ func (this *AdminService) UpdateAdminTheme(ctx context.Context, req *pb.UpdateAd } return this.Success() } + +// UpdateAdminLang 修改管理员使用的语言 +func (this *AdminService) UpdateAdminLang(ctx context.Context, req *pb.UpdateAdminLangRequest) (*pb.RPCSuccess, error) { + adminId, err := this.ValidateAdmin(ctx) + if err != nil { + return nil, err + } + var tx = this.NullTx() + + err = models.SharedAdminDAO.UpdateAdminLang(tx, adminId, req.LangCode) + if err != nil { + return nil, err + } + return this.Success() +}