background/model/model.go

47 lines
1.3 KiB
Go
Raw Normal View History

2019-01-25 09:11:15 +00:00
package model
2019-02-23 06:19:29 +00:00
import (
"fmt"
2019-03-07 02:36:09 +00:00
"log"
2019-02-23 06:19:29 +00:00
"user/db"
"user/logs"
)
2019-01-25 09:11:15 +00:00
type Users struct {
2019-03-07 02:36:09 +00:00
ID int64 `sql:"id" json:"id"`
UserName string `sql:"user_name" json:"user_name"`
UserPwd string `sql:"user_pwd" json:"-"`
CreatedDate string `sql:"created_date" json:"created_date"`
UpdatedDate string `sql:"updated_date" json:"updated_date"`
DisplayName string `sql:"display_name" json:"display_name"`
2019-02-23 06:19:29 +00:00
EmailAddress string `sql:"email_address" json:"email_address"`
2019-03-07 02:36:09 +00:00
Tel string `sql:"tel" json:"tel"`
Avatar string `sql:"avatar" json:"avatar"`
2019-02-23 06:19:29 +00:00
}
2019-03-07 02:36:09 +00:00
func GetUsers(limit int32, offsetPage int32, name string) ([]Users, int32) {
2019-02-23 06:19:29 +00:00
users := []Users{}
var query string
2019-03-07 02:36:09 +00:00
if name != "" {
2019-02-23 06:19:29 +00:00
log.Println(name)
2019-03-07 02:36:09 +00:00
query = fmt.Sprintf("select * from users where user_name like '%s' limit %d offset %d", "%%"+name+"%%", limit, offsetPage*limit)
2019-02-23 06:19:29 +00:00
log.Printf(query)
2019-03-07 02:36:09 +00:00
} else {
query = fmt.Sprintf("select * from users limit %d offset %d", limit, offsetPage*limit)
2019-02-23 06:19:29 +00:00
}
2019-03-07 02:36:09 +00:00
err := db.GetMysqlClient().Query2(query, &users)
if nil != err {
2019-02-23 06:19:29 +00:00
logs.Error(err.Error())
}
type Count struct {
Count int32 `sql:"count"`
}
cnts := []Count{}
query = fmt.Sprintf("select count(*) as count from users")
2019-03-07 02:36:09 +00:00
err = db.GetMysqlClient().Query2(query, &cnts)
if nil != err {
2019-02-23 06:19:29 +00:00
logs.Error(err.Error())
}
2019-03-07 02:36:09 +00:00
return users, cnts[0].Count
2019-01-25 09:11:15 +00:00
}