package model import ( "fmt" "log" "user/db" "user/logs" ) type Users struct { 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"` EmailAddress string `sql:"email_address" json:"email_address"` Tel string `sql:"tel" json:"tel"` Avatar string `sql:"avatar" json:"avatar"` } func GetUsers(limit int32, offsetPage int32, name string) ([]Users, int32) { users := []Users{} var query string if name != "" { log.Println(name) query = fmt.Sprintf("select * from users where user_name like '%s' limit %d offset %d", "%%"+name+"%%", limit, offsetPage*limit) log.Printf(query) } else { query = fmt.Sprintf("select * from users limit %d offset %d", limit, offsetPage*limit) } err := db.GetMysqlClient().Query2(query, &users) if nil != err { logs.Error(err.Error()) } type Count struct { Count int32 `sql:"count"` } cnts := []Count{} query = fmt.Sprintf("select count(*) as count from users") err = db.GetMysqlClient().Query2(query, &cnts) if nil != err { logs.Error(err.Error()) } return users, cnts[0].Count }