package model import ( "background/db" "background/logs" "background/utils" "crypto/md5" "fmt" "log" "time" "github.com/jinzhu/gorm" ) type Plan struct { ID uint32 `gorm:"column:id;primary_key" json:"id"` StartTime utils.OrmTime `gorm:"column:start_time" json:"start_time"` EndTime utils.OrmTime `gorm:"column:end_time" json:"end_time"` Date string `gorm:"column:date" json:"date"` Content string `gorm:"column:content" json:"content"` Type uint32 `gorm:"column:type" json:"type"` } type Undo struct { model gorm.Model ID int32 `json:"id" gorm:"column:id" sql:"id"` Content string `json:"content" gorm:"column:content" sql:"content"` SpendTime int32 `json:"spend_time" gorm:"column:spend_time" sql:"spend_time"` Parent int32 `json:"parent" gorm:"column:parent" sql:"parent"` Level int32 `json:"level" gorm:"column:level" sql:"level"` Type int32 `json:"type" gorm:"column:type" sql:"type"` Done int `json:"done" gorm:"done" sql:"done"` DeletedAt *time.Time `json:"deleted_at"` CreateTime string `json:"create_time"` FinishTime string `json:"finish_time"` } type PlanType struct { ID uint32 `gorm:"column:id;primary_key" json:"id"` TypeName string `gorm:"column:type_name;" json:"type_name"` } func (m *Undo) TableName() string { return "undo" } func (m *PlanType) TableName() string { return "plan_type" } func (m *Plan) TableName() string { return "plan" } type Users struct { ID int64 `sql:"id" json:"id"` UserName string `sql:"user_name" json:"user_name"` UserPwd string `sql:"user_pwd" json:"user_pwd"` 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 } func ModyfyPassword(UserName string, Password string) error { h := md5.New() h.Write([]byte(Password)) query := fmt.Sprintf("update users set user_pwd = '%s' where user_name = '%s' ", utils.ByteSliceToString(h.Sum(nil)), UserName) n, err := db.GetMysqlClient().Update(query) if nil != err { logs.Error(err.Error()) return err } if n == 0 { return nil } return nil }