service_resetpassword.go 886 B

123456789101112131415161718192021222324252627
  1. package admin
  2. import (
  3. "github.com/xinliangnote/go-gin-api/configs"
  4. "github.com/xinliangnote/go-gin-api/internal/pkg/core"
  5. "github.com/xinliangnote/go-gin-api/internal/pkg/password"
  6. "github.com/xinliangnote/go-gin-api/internal/repository/mysql"
  7. "github.com/xinliangnote/go-gin-api/internal/repository/mysql/admin"
  8. "github.com/xinliangnote/go-gin-api/internal/repository/redis"
  9. )
  10. func (s *service) ResetPassword(ctx core.Context, id int32) (err error) {
  11. data := map[string]interface{}{
  12. "password": password.ResetPassword(),
  13. "updated_user": ctx.SessionUserInfo().UserName,
  14. }
  15. qb := admin.NewQueryBuilder()
  16. qb.WhereId(mysql.EqualPredicate, id)
  17. err = qb.Updates(s.db.GetDbW().WithContext(ctx.RequestContext()), data)
  18. if err != nil {
  19. return err
  20. }
  21. s.cache.Del(configs.RedisKeyPrefixLoginUser+password.GenerateLoginToken(id), redis.WithTrace(ctx.Trace()))
  22. return
  23. }