classify_menu_relation.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. // ClassifyMenuRelation 报告分类-子目录关联表
  7. type ClassifyMenuRelation struct {
  8. Id int `orm:"column(id);pk"`
  9. MenuId int `description:"子目录ID"`
  10. ClassifyId int `description:"二级分类ID"`
  11. CreateTime time.Time `description:"创建时间"`
  12. }
  13. // GetClassifyMenuRelationList 获取子目录关联列表
  14. func GetClassifyMenuRelationList(condition string, pars []interface{}) (list []*ClassifyMenuRelation, err error) {
  15. o := orm.NewOrmUsingDB("rddp")
  16. sql := `SELECT * FROM classify_menu_relation WHERE 1 = 1 `
  17. sql += condition
  18. sql += ` ORDER BY create_time DESC`
  19. _, err = o.Raw(sql, pars).QueryRows(&list)
  20. return
  21. }
  22. // DeleteAndInsertClassifyMenuRelation 新增子目录关联
  23. func DeleteAndInsertClassifyMenuRelation(classifyId, menuId int) (err error) {
  24. o := orm.NewOrmUsingDB("rddp")
  25. tx, err := o.Begin()
  26. if err != nil {
  27. return
  28. }
  29. defer func() {
  30. if err != nil {
  31. _ = tx.Rollback()
  32. } else {
  33. _ = tx.Commit()
  34. }
  35. }()
  36. // 删除
  37. sql := `DELETE FROM classify_menu_relation WHERE classify_id = ?`
  38. if _, e := tx.Raw(sql, classifyId).Exec(); e != nil {
  39. err = e
  40. return
  41. }
  42. // 新增
  43. if menuId > 0 {
  44. relate := &ClassifyMenuRelation{
  45. ClassifyId: classifyId,
  46. MenuId: menuId,
  47. CreateTime: time.Now().Local(),
  48. }
  49. _, e := tx.Insert(relate)
  50. if e != nil {
  51. err = e
  52. }
  53. }
  54. return
  55. }