package models import ( "errors" "lapp_-wy/db" "lapp_-wy/utils" ) type Courttab struct { Cid int `json:"cid" xorm:"not null pk INT(4)"` Descr string `json:"descr" xorm:"VARCHAR(255)"` Active int `json:"active" xorm:"INT(4)"` Address string `json:"address" xorm:"VARCHAR(255)"` Constructionarea float64 `json:"constructionarea" xorm:"DECIMAL(10,2)"` Totalhouseholds int `json:"totalhouseholds" xorm:"INT(4)"` Createtime string `json:"createtime" xorm:"VARCHAR(14)"` Lastmodifytime string `json:"lastmodifytime" xorm:"VARCHAR(14)"` Lastmodifyby string `json:"lastmodifyby" xorm:"VARCHAR(40)"` } func (t *Courttab) TableName() string { return "courttab" } // 清除string字段的右侧空格 func (t *Courttab) Clipped() { utils.TrimStruct(t, *t) } func (t *Courttab) GetCourts() ([]*Courttab, error) { e := db.MasterEngine() courts := make([]*Courttab, 0) err := e.Find(&courts) return courts, err } //增 func (t *Courttab) Add() error { e := db.MasterEngine() countrole := new(Courttab) affw, err := e.Table("courttab").ID(t.Cid).Count(countrole) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = e.Table("courttab").Insert(t) if err != nil { return err } return nil } //删 func (t *Courttab) Del() bool { e := db.MasterEngine() _, err := e.ID(t.Cid).Delete(&Courttab{}) if err != nil { return false } return true } //改 func (t *Courttab) Update() bool { e := db.MasterEngine() _, err := e.ID(t.Cid).Update(t) if err != nil { return false } return true } //查 func (t *Courttab) SelectOne() (Courttab, error) { e := db.MasterEngine() var data Courttab _, err := e.ID(t.Cid).Get(&data) if err != nil { return data, err } return data, nil } //分页 func (t *Courttab) GetPage(pageSize int, pageIndex int) ([]Courttab, int, error) { data := make([]Courttab, 0) e := db.MasterEngine() query := e.Table("courttab").Where("cid = ? ", t.Cid) table := e.Table("courttab").Where("cid = ? ", t.Cid) if !utils.ValueIsEmpty(t.Descr) { descr := "%" + t.Descr + "%" query = query.And("descr like ?", descr) table = table.And("descr like ?", descr) } Offset := (pageIndex - 1) * pageSize err := query.Limit(pageSize,Offset).Desc("createtime").Find(&data) pcount := new(Courttab) count, err := table.Count(pcount) if err != nil { return data, 0, err } return data, int(count), nil }