package data import ( "time" "bkb-notify/internal/biz" "errors" "github.com/go-kratos/kratos/v2/log" ) type smsRepo struct { data *Data log *log.Helper } // NewGreeterRepo . func NewSmsRepo(data *Data, logger log.Logger) biz.SmsRepo { return &smsRepo{ data: data, log: log.NewHelper(logger), } } func (r *smsRepo) CreateSms(phone, code string) error { return r.data.rdb.Set("sms_code:"+phone, code, 5*time.Minute).Err() } func (r *smsRepo) CheckCode(phone, code string) error { result, _ := r.data.rdb.Get("sms_code:" + phone).Result() if result == "" { return errors.New("验证码已过期,请重新获取") } if result != code { return errors.New("验证码错误,请重新输入") } return r.data.rdb.Del("sms_code:" + phone).Err() }