From bae4af47f77a195a12a0437584d667465e826e12 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 17 八月 2020 16:09:28 +0800 Subject: [PATCH] add log --- models/user.go | 132 +++++++++++++++++++++++-------------------- 1 files changed, 70 insertions(+), 62 deletions(-) diff --git a/models/user.go b/models/user.go index d4bebb2..a697d9b 100644 --- a/models/user.go +++ b/models/user.go @@ -1,86 +1,94 @@ 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 (u *User) Insert() (int64,error) { + o := orm.NewOrm() + return o.Insert(u) } -func GetUser(uid string) (u *User, err error) { - if u, ok := UserList[uid]; ok { - return u, nil +func (u *User) SelectById(uid string) error { + o := orm.NewOrm() + err := o.QueryTable(u.TableName()).Filter("id", uid).One(u) + return err +} + +func (u *User) SelectByPhoneNum(phoneNum string) error { + o := orm.NewOrm() + err := o.QueryTable(u.TableName()).Filter("phoneNum", phoneNum).One(u) + return err +} + +func (u *User) GetAllUsers() (all []User,err error) { + o := orm.NewOrm() + _, err = o.QueryTable(u.TableName()).All(&all) + if err != nil { + return nil, err } - return nil, errors.New("User not exists") + return all,nil } -func GetAllUsers() map[string]*User { - return UserList -} - -func UpdateUser(uid string, uu *User) (a *User, err error) { - if u, ok := UserList[uid]; ok { - if uu.Username != "" { - u.Username = uu.Username +func (u *User) GetAllMap() (map[string]User) { + idM := make(map[string]User) + all, _ := u.GetAllUsers() + if all !=nil { + for _,p := range all { + idM[p.Id] = p } - 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 } - return nil, errors.New("User Not Exist") + return idM +} + +func (u *User) Update() (int64, error) { + o := orm.NewOrm() + return o.Update(u) +} + +func (u *User) UpdatePhoneNum(phoneNum string, hikPersonId string) (int64, error) { + o := orm.NewOrm() + res, err := o.Raw("update sys_user set phoneNum=? where id=?", phoneNum, hikPersonId).Exec() + if err != nil { + return 0, err + } + return res.RowsAffected() } 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") } + +func (u *User) Delete(id string) (int64, error) { + o := orm.NewOrm() + res, err := o.Raw("delete from sys_user where id=?", id).Exec() + if err != nil { + return 0, err + } + return res.RowsAffected() +} \ No newline at end of file -- Gitblit v1.8.0