package models import ( "eta_gn/eta_api/global" "eta_gn/eta_api/utils" "time" ) // ClassifyMenuRelation 报告分类-子目录关联表 type ClassifyMenuRelation struct { Id int `gorm:"column:id;primaryKey"` //`orm:"column(id);pk" gorm:"primaryKey" ` MenuId int `gorm:"column:menu_id"` //`description:"子目录ID"` ClassifyId int `gorm:"column:classify_id"` //`description:"二级分类ID"` CreateTime time.Time `gorm:"column:create_time"` //`description:"创建时间"` } func (item *ClassifyMenuRelation) TableName() string { return "classify_menu_relation" } func (item *ClassifyMenuRelation) Create() (err error) { //o := orm.NewOrmUsingDB("rddp") //id, err := o.Insert(item) //if err != nil { // return //} //item.Id = int(id) err = global.DmSQL["rddp"].Create(item).Error return } func (item *ClassifyMenuRelation) Update(cols []string) (err error) { //o := orm.NewOrmUsingDB("rddp") //_, err = o.Update(item, cols...) err = global.DmSQL["rddp"].Select(cols).Updates(item).Error return } func (item *ClassifyMenuRelation) InsertMulti(items []*ClassifyMenuRelation) (err error) { //o := orm.NewOrmUsingDB("rddp") //_, err = o.InsertMulti(len(items), items) err = global.DmSQL["rddp"].CreateInBatches(items, utils.MultiAddNum).Error return } // GetClassifyMenuRelationList 获取子目录关联列表 func GetClassifyMenuRelationList(condition string, pars []interface{}) (list []*ClassifyMenuRelation, err error) { //o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM classify_menu_relation WHERE 1 = 1 ` sql += condition sql += ` ORDER BY create_time DESC` //_, err = o.Raw(sql, pars).QueryRows(&list) err = global.DmSQL["rddp"].Raw(sql, pars...).Find(&list).Error return } // DeleteAndInsertClassifyMenuRelation 新增子目录关联 func DeleteAndInsertClassifyMenuRelation(classifyId, menuId int) (err error) { //o := orm.NewOrmUsingDB("rddp") //tx, err := o.Begin() tx := global.DmSQL["rddp"].Begin() defer func() { if err != nil { _ = tx.Rollback() } else { _ = tx.Commit() } }() // 删除 sql := `DELETE FROM classify_menu_relation WHERE classify_id = ?` //if _, e := tx.Raw(sql, classifyId).Exec(); e != nil { // err = e // return //} if e := tx.Exec(sql, classifyId).Error; e != nil { err = e return } // 新增 if menuId > 0 { relate := &ClassifyMenuRelation{ ClassifyId: classifyId, MenuId: menuId, CreateTime: time.Now().Local(), } //_, e := tx.Insert(relate) e := tx.Create(relate).Error if e != nil { err = e } } return }