package model import ( "fmt" "trading-go/common" "trading-go/util" ) // WeChatTrading/trading-go/model/user.go // User 用户信息模型 type User struct { Uid int64 `json:"uid" db:"uid"` Vid string `json:"vid" db:"vid"` Name string `json:"name" db:"name"` Avatar string `json:"avatar" db:"avatar"` Email string `json:"email" db:"email"` Phone string `json:"phone" db:"phone"` } func (u User) Register() error { db := common.DB sqlStr := "INSERT INTO users(uid, vid,name, avatar) values (:uid, :vid, :name, :avatar)" exec, err := db.NamedExec(sqlStr, u) if err != nil { return err } affected, err := exec.RowsAffected() if err != nil { return err } if affected != 1 { return util.InsertFailError } return nil } func (u User) Login() (err error, nu User) { db := common.DB sqlStr := "SELECT * FROM users WHERE vid = ?" err = db.Get(&nu, sqlStr, u.Vid) return } // SPhone 查找电话号码 func (u User) SPhone() error { var nu User db := common.DB fmt.Println(u.Phone) sqlStr := "SELECT * FROM users WHERE phone = ?" err := db.Get(&nu, sqlStr, u.Phone) if err != nil && err.Error() == "sql: no rows in result set" { return nil } else if err != nil { return err } return util.PhoneBeUsed } // Modify 修改信息 func (u User) Modify() error { db := common.DB sqlStr := "UPDATE users set name = ?,avatar = ?, phone = ? WHERE uid = ?" exec, err := db.Exec(sqlStr, u.Name, u.Avatar, u.Phone, u.Uid) if err != nil { return err } affected, err := exec.RowsAffected() if err != nil { return err } if affected != 1 { return util.UpdateFailError } return nil } // Info 获取用户信息 func (u User) Info() (nu User, err error) { db := common.DB sqlStr := "SELECT * FROM users WHERE uid = ?" err = db.Get(&nu, sqlStr, u.Uid) return }