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