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