package Account import ( "Yunlot/logs" "Yunlot/models" "fmt" "github.com/astaxie/beego/cache" "github.com/beego/beego/v2/adapter/orm" "time" ) type User struct { T_uuid string `orm:"size(8);pk" json:"uuid"` T_user string `orm:"size(256);index" json:"user"` // 用户名 手机 T_tokey string `orm:"-" json:"tokey"` // TOKEY T_State int `orm:"size(200);1" json:"-"` // 1 正常 2 删除\禁用 CreateTime models.Time `orm:"column(create_time);type(timestamp);null;auto_now_add" json:"-"` //auto_now 每次 model 保存时都会对时间自动更新 UpdateTime models.Time `orm:"column(update_time);type(timestamp);null;auto_now" json:"-"` //auto_now_add 第一次保存时才设置时间 } type VCode struct { T_Code string } func (t *User) TableName() string { return "User" // 数据库名称 // ************** 替换 FormulaList ************** } var redis_Verify cache.Cache func init() { //注册模型 orm.RegisterModel(new(User)) var err error redis_Verify, err = cache.NewCache("memory", `{"interval":60}`) if err != nil || redis_Verify == nil { panic(any(err)) } } // ---------------- Redis ------------------- // Redis_Set(m.T_sn,m) // Redis 更新缓存 func Redis_Verify_Set(key string, r string) (err error) { err = redis_Verify.Put(key, r, 5*time.Minute) if err != nil { logs.Println("set key:", key, ",value:", r, err) } return } // if r,is :=Redis_Get(T_sn);is{ // return r,nil // } func Redis_Verify_Get(key string) (string, bool) { if redis_Verify.IsExist(key) { //println("找到key:",key) v := redis_Verify.Get(key) return v.(string), true } //println("没有 找到key:",key) return "", false } func Redis_Verify_DelK(key string) (err error) { err = redis_Verify.Delete(key) return } // ---------------- 方法 ------------------- // 获取 ById func (t *User) Read() bool { o := orm.NewOrm() err := o.Read(t, "T_uuid") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名 if err != nil { return false } return true } // 添加 func (t *User) Add() (id int64, is bool) { o := orm.NewOrm() id, err := o.Insert(t) if err != nil { return 0, false } return id, true } // 修改 func (t *User) Update(cols ...string) bool { o := orm.NewOrm() if num, err := o.Update(&t, cols...); err == nil { fmt.Println("Number of records updated in database:", num) return true } return false }