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 }