package models import ( "lapp_-wy/db" "lapp_-wy/utils" "errors" "xorm.io/core" ) type SubjectCategory struct { Cid int `json:"cid" xorm:"not null pk INT(11)"` SubjectCategoryid string `json:"subject_categoryid" xorm:"not null pk comment('问题类别ID') VARCHAR(20)"` Descr string `json:"descr" xorm:"not null comment('类别描述') VARCHAR(60)"` CatparaS1 string `json:"catpara_s1" xorm:"default 'NULL' comment('类别参数1') VARCHAR(100)"` CatparaS2 string `json:"catpara_s2" xorm:"default 'NULL' comment('类别参数2') VARCHAR(100)"` CatparaI1 int `json:"catpara_i1" xorm:"default NULL comment('类别参数1') INT(11)"` CatparaI2 int `json:"catpara_i2" xorm:"default NULL comment('类别参数2') INT(11)"` Createtime string `json:"createtime" xorm:"default 'NULL' comment('创建时间') VARCHAR(40)"` Lastmodifytime string `json:"lastmodifytime" xorm:"default 'NULL' comment('最近更新时间') VARCHAR(40)"` Lastmodifyby string `json:"lastmodifyby" xorm:"default 'NULL' comment('修改人员') VARCHAR(40)"` } func (t *SubjectCategory) TableName() string { return "subject_category" } // 清除string字段的右侧空格 func (t *SubjectCategory) Clipped() { utils.TrimStruct(t, *t) } //增 func (t *SubjectCategory) Add() error { e := db.MasterEngine() countrole := new(SubjectCategory) affw, err := e.Table("subject_category").ID(core.PK{t.Cid, t.SubjectCategoryid}).Count(countrole) if err != nil { return err } if affw > 0 { return errors.New("数据已经存在!") } _, err = e.Table("subject_category").Insert(t) if err != nil { return err } return nil } //删 func (t *SubjectCategory) Del() bool { e := db.MasterEngine() _, err := e.ID(core.PK{t.Cid, t.SubjectCategoryid}).Delete(&SubjectCategory{}) if err != nil { return false } return true } //改 func (t *SubjectCategory) Update() bool { e := db.MasterEngine() _, err := e.ID(core.PK{t.Cid, t.SubjectCategoryid}).Update(t) if err != nil { return false } return true } //查 func (t *SubjectCategory) SelectOne() (SubjectCategory, error) { e := db.MasterEngine() var data SubjectCategory _, err := e.ID(core.PK{t.Cid, t.SubjectCategoryid}).Get(&data) if err != nil { return data, err } return data, nil } //分页 func (t *SubjectCategory) GetPage(pageSize int, pageIndex int) ([]SubjectCategory, int, error) { data := make([]SubjectCategory, 0) e := db.MasterEngine() query := e.Table("subject_category").Where("cid = ? ", t.Cid) table := e.Table("subject_category").Where("cid = ? ", t.Cid) if !utils.ValueIsEmpty(t.SubjectCategoryid) { query = query.And("subject_categoryid = ?", t.SubjectCategoryid) table = table.And("subject_categoryid = ?", t.SubjectCategoryid) } Offset := (pageIndex - 1) * pageSize err := query.Limit(pageSize, Offset).Desc("createtime").Find(&data) pcount := new(SubjectCategory) count, err := table.Count(pcount) if err != nil { return data, 0, err } return data, int(count), nil } //类型集合 func (t *SubjectCategory) SelectArr() (data []SubjectCategory, err error) { e := db.MasterEngine() err = e.Table(t.TableName()).Select("subject_categoryid,descr").Where("cid = ?", t.Cid).Find(&data) if err != nil { return nil, err } return data, nil }