From 7c928a0f1ea20905c7c6f93a1d447d9b67ae014c Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 30 六月 2020 17:19:54 +0800
Subject: [PATCH] push once every time
---
models/user.go | 111 ++++++++++++++++++++++++-------------------------------
1 files changed, 48 insertions(+), 63 deletions(-)
diff --git a/models/user.go b/models/user.go
index d4bebb2..46ee619 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.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.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