From 167f00c02df35f19d689e60db3d30ebf035ab629 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 29 六月 2020 17:02:02 +0800 Subject: [PATCH] add user and userCar --- models/user.go | 111 ++++++++++++++++++++++++------------------------------- 1 files changed, 48 insertions(+), 63 deletions(-) diff --git a/models/user.go b/models/user.go index d4bebb2..5e2e8f0 100644 --- a/models/user.go +++ b/models/user.go @@ -1,86 +1,71 @@ package models import ( - "errors" - "strconv" - "time" + "github.com/astaxie/beego/orm" ) - -var ( - UserList map[string]*User -) - -func init() { - UserList = make(map[string]*User) - u := User{"user_11111", "astaxie", "11111", Profile{"male", 20, "Singapore", "astaxie@gmail.com"}} - UserList["user_11111"] = &u -} type User struct { - Id string - Username string - Password string - Profile Profile + Id string `orm:"pk;size(50);column(id)" json:"id"` + Username string `orm:"size(250);column(username)" json:"username"` + PhoneNum string `orm:"size(20);column(phoneNum)" json:"phoneNum"` //鎵嬫満鍙� + Password string `orm:"size(50);column(password)" json:"password"` + TrueName string `orm:"size(250);column(trueName)" json:"trueName"` //鐪熷疄濮撳悕 + Gender int `orm:"size(1);column(gender)" json:"gender"` //鎬у埆 + IdCard string `orm:"size(250);column(idCard)" json:"idCard"` //韬唤璇佸彿 + Age int `orm:"size(8);column(age)" json:"age"` //骞撮緞 + Address string `orm:"size(200);column(address)" json:"gender"` //鍦板潃 + + Email string `orm:"size(200);column(email)" json:"email"` //閭 + IsDelete bool `orm:"size(1);default(0);column(isDelete)" json:"isDelete"` } -type Profile struct { - Gender string - Age int - Address string - Email string +func (u *User) TableName() string { + return "sys_user" } -func AddUser(u User) string { - u.Id = "user_" + strconv.FormatInt(time.Now().UnixNano(), 10) - UserList[u.Id] = &u - return u.Id -} - -func GetUser(uid string) (u *User, err error) { - if u, ok := UserList[uid]; ok { - return u, nil +func (u *User) TableUnique() [][]string { + return [][]string { + []string{"phoneNum"}, } - return nil, errors.New("User not exists") } -func GetAllUsers() map[string]*User { - return UserList +func (u *User) Insert() (int64,error) { + o := orm.NewOrm() + return o.Insert(u) } -func UpdateUser(uid string, uu *User) (a *User, err error) { - if u, ok := UserList[uid]; ok { - if uu.Username != "" { - u.Username = uu.Username - } - if uu.Password != "" { - u.Password = uu.Password - } - if uu.Profile.Age != 0 { - u.Profile.Age = uu.Profile.Age - } - if uu.Profile.Address != "" { - u.Profile.Address = uu.Profile.Address - } - if uu.Profile.Gender != "" { - u.Profile.Gender = uu.Profile.Gender - } - if uu.Profile.Email != "" { - u.Profile.Email = uu.Profile.Email - } - return u, nil +func (u *User) SelectById(uid string) error { + o := orm.NewOrm() + err := o.Raw("select * from ? where id=?", u.TableName(), uid).QueryRow(u) + return err +} + +func (u *User) SelectByPhoneNum(phoneNum string) error { + o := orm.NewOrm() + err := o.Raw("select * from ? where phoneNum=?", u.TableName(), phoneNum).QueryRow(u) + return err +} + +func (u *User) GetAllUsers() (all []User,err error) { + o := orm.NewOrm() + _, err = o.Raw("select * from ?", u.TableName()).QueryRows(&all) + if err != nil { + return nil, err } - return nil, errors.New("User Not Exist") + return all,nil +} + +func (u *User) Update() (int64, error) { + o := orm.NewOrm() + return o.Update(u) } func Login(username, password string) bool { - for _, u := range UserList { - if u.Username == username && u.Password == password { - return true - } - } + return false } -func DeleteUser(uid string) { - delete(UserList, uid) +func (u *User) DeleteById() (int64, error) { + o := orm.NewOrm() + return o.Update(u, "isDelete") } -- Gitblit v1.8.0