init: 1.0.0
This commit is contained in:
Vendored
+66
@@ -0,0 +1,66 @@
|
||||
package cache
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/perfect-panel/ppanel-server/pkg/orm"
|
||||
"github.com/redis/go-redis/v9"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/plugin/soft_delete"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
Id int64 `gorm:"primarykey"`
|
||||
Email string `gorm:"index:idx_email;type:varchar(100);unique;not null;comment:电子邮箱"`
|
||||
Password string `gorm:"type:varchar(100);comment:用户密码;not null"`
|
||||
Avatar string `gorm:"type:varchar(200);default:'';comment:用户头像"`
|
||||
Balance int64 `gorm:"default:0;comment:用户余额"`
|
||||
Telegram int64 `gorm:"default:null;comment:Telegram账号"`
|
||||
ReferCode string `gorm:"type:varchar(20);default:'';comment:推荐码"`
|
||||
RefererId int64 `gorm:"comment:推荐人ID"`
|
||||
Enable bool `gorm:"default:true;not null;comment:账户是否可用"`
|
||||
IsAdmin bool `gorm:"default:false;not null;comment:是否管理员"`
|
||||
ValidEmail bool `gorm:"default:false;not null;comment:是否验证邮箱"`
|
||||
EnableEmailNotify bool `gorm:"default:false;not null;comment:是否启用邮件通知"`
|
||||
EnableTelegramNotify bool `gorm:"default:false;not null;comment:是否启用Telegram通知"`
|
||||
EnableBalanceNotify bool `gorm:"default:false;not null;comment:是否启用余额变动通知"`
|
||||
EnableLoginNotify bool `gorm:"default:false;not null;comment:是否启用登录通知"`
|
||||
EnableSubscribeNotify bool `gorm:"default:false;not null;comment:是否启用订阅通知"`
|
||||
EnableTradeNotify bool `gorm:"default:false;not null;comment:是否启用交易通知"`
|
||||
CreatedAt time.Time `gorm:"<-:create;comment:创建时间"`
|
||||
UpdatedAt time.Time `gorm:"comment:更新时间"`
|
||||
DeletedAt gorm.DeletedAt `gorm:"default:null;comment:删除时间"`
|
||||
IsDel soft_delete.DeletedAt `gorm:"softDelete:flag,DeletedAtField:DeletedAt;comment:1:正常 0:删除"` // Use `1` `0` to identify
|
||||
}
|
||||
|
||||
func TestGormCacheCtx(t *testing.T) {
|
||||
t.Skipf("skip TestGormCacheCtx test")
|
||||
db, err := orm.ConnectMysql(orm.Mysql{
|
||||
Config: orm.Config{
|
||||
Addr: "localhost:3306",
|
||||
Config: "charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai",
|
||||
Dbname: "vpnboard",
|
||||
Username: "root",
|
||||
Password: "mylove520",
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
rds := redis.NewClient(&redis.Options{
|
||||
Addr: "localhost:6379",
|
||||
})
|
||||
conn := NewConn(db, rds)
|
||||
var u User
|
||||
key := "user:id"
|
||||
err = conn.QueryCtx(context.Background(), &u, key, func(conn *gorm.DB, v interface{}) error {
|
||||
return conn.Where("id = ?", 1).First(v).Error
|
||||
})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
t.Logf("get cache success %+v", u)
|
||||
}
|
||||
Reference in New Issue
Block a user