package models import ( "eta/eta_hub/global" "eta/eta_hub/utils" "time" ) // ClassifyMenuRelation 报告分类-子目录关联表 type ClassifyMenuRelation struct { Id int `orm:"column(id);pk"` MenuId int `description:"子目录ID"` ClassifyId int `description:"二级分类ID"` CreateTime time.Time `description:"创建时间"` } func (item *ClassifyMenuRelation) TableName() string { return "classify_menu_relation" } func (item *ClassifyMenuRelation) Create() (err error) { //o := orm.NewOrmUsingDB("rddp") err = global.DbMap[utils.DbNameReport].Create(item).Error if err != nil { return } //item.Id = int(id) return } func (item *ClassifyMenuRelation) Update(cols []string) (err error) { //o := orm.NewOrmUsingDB("rddp") err = global.DbMap[utils.DbNameReport].Select(cols).Updates(item).Error return } func (item *ClassifyMenuRelation) InsertMulti(items []*ClassifyMenuRelation) (err error) { //o := orm.NewOrmUsingDB("rddp") err = global.DbMap[utils.DbNameReport].CreateInBatches(item, len(items)).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 = global.DbMap[utils.DbNameReport].Raw(sql, pars...).Find(&list).Error return } // DeleteAndInsertClassifyMenuRelation 新增子目录关联 func DeleteAndInsertClassifyMenuRelation(classifyId, menuId int) (err error) { //o := orm.NewOrmUsingDB("rddp") //tx, err := o.Begin() //if err != nil { // return //} //defer func() { // if err != nil { // _ = tx.Rollback() // } else { // _ = tx.Commit() // } //}() tx := global.DbMap[utils.MYSQL_URL_RDDP].Begin() defer func() { if err != nil { tx.Rollback() } else { tx.Commit() } }() // 删除 sql := `DELETE FROM classify_menu_relation WHERE classify_id = ?` 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.Create(relate).Error if e != nil { err = e } } return }