You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.3 KiB

package data
import (
"context"
"time"
"bkb-notify/internal/biz"
"errors"
"github.com/go-kratos/kratos/v2/log"
)
type greeterRepo struct {
data *Data
log *log.Helper
}
// NewGreeterRepo .
func NewGreeterRepo(data *Data, logger log.Logger) biz.GreeterRepo {
return &greeterRepo{
data: data,
log: log.NewHelper(logger),
}
}
func (r *greeterRepo) Save(ctx context.Context, g *biz.Greeter) (*biz.Greeter, error) {
return g, nil
}
func (r *greeterRepo) FindByID(context.Context, int64) (*biz.Greeter, error) {
return nil, nil
}
func (r *greeterRepo) ListByName(context.Context, string) ([]*biz.Greeter, error) {
return nil, nil
}
func (r *greeterRepo) ListAll(context.Context) ([]*biz.Greeter, error) {
return nil, nil
}
// smsRepo
// (r *greeterRepo)set()
// r.Data.rdb.set
func (r *greeterRepo) CreateSms(ctx context.Context, phone, code string) error {
return r.data.rdb.Set("sms_code:"+phone, code, 5*time.Minute).Err()
}
func (r *greeterRepo) CheckSms(ctx context.Context, 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()
}