- 将 middleware 命名为 interceptor - 将 deploy 命名为 deployments - 移除 pkg/errno - 使用 proposal 目录 - 优化代码
28 lines
921 B
Go
28 lines
921 B
Go
package admin
|
|
|
|
import (
|
|
"github.com/xinliangnote/go-gin-api/configs"
|
|
"github.com/xinliangnote/go-gin-api/internal/pkg/core"
|
|
"github.com/xinliangnote/go-gin-api/internal/pkg/password"
|
|
"github.com/xinliangnote/go-gin-api/internal/repository/mysql"
|
|
"github.com/xinliangnote/go-gin-api/internal/repository/mysql/admin"
|
|
"github.com/xinliangnote/go-gin-api/internal/repository/redis"
|
|
)
|
|
|
|
func (s *service) ModifyPassword(ctx core.Context, id int32, newPassword string) (err error) {
|
|
data := map[string]interface{}{
|
|
"password": password.GeneratePassword(newPassword),
|
|
"updated_user": ctx.SessionUserInfo().UserName,
|
|
}
|
|
|
|
qb := admin.NewQueryBuilder()
|
|
qb.WhereId(mysql.EqualPredicate, id)
|
|
err = qb.Updates(s.db.GetDbW().WithContext(ctx.RequestContext()), data)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
s.cache.Del(configs.RedisKeyPrefixLoginUser+password.GenerateLoginToken(id), redis.WithTrace(ctx.Trace()))
|
|
return
|
|
}
|