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
57 lines
1.3 KiB
6 months ago
|
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()
|
||
|
}
|