sandbox_classify.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package sandbox
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type SandboxClassify struct {
  7. SandboxClassifyId int `orm:"column(sandbox_classify_id);pk"`
  8. SandboxClassifyName string `description:"分类名称"`
  9. ParentId int `description:"父级id"`
  10. HasData int `description:"是否含有指标数据"`
  11. CreateTime time.Time `description:"创建时间"`
  12. ModifyTime time.Time `description:"修改时间"`
  13. SysUserId int `description:"创建人id"`
  14. SysUserRealName string `description:"创建人姓名"`
  15. Level int `description:"层级"`
  16. Sort int `description:"排序字段,越小越靠前,默认值:10"`
  17. }
  18. func AddSandboxClassify(item *SandboxClassify) (lastId int64, err error) {
  19. o := orm.NewOrmUsingDB("data")
  20. lastId, err = o.Insert(item)
  21. return
  22. }
  23. // GetSandboxClassifyByParentId
  24. func GetSandboxClassifyByParentId(parentId int) (items []*SandboxClassifyItems, err error) {
  25. o := orm.NewOrmUsingDB("data")
  26. sql := ` SELECT * FROM sandbox_classify WHERE parent_id=? order by sort asc,sandbox_classify_id asc`
  27. _, err = o.Raw(sql, parentId).QueryRows(&items)
  28. return
  29. }
  30. // GetSandboxClassifyAll
  31. func GetSandboxClassifyAll() (items []*SandboxClassifyItems, err error) {
  32. o := orm.NewOrmUsingDB("data")
  33. sql := ` SELECT * FROM sandbox_classify WHERE parent_id<>0 order by sort asc,sandbox_classify_id asc`
  34. _, err = o.Raw(sql).QueryRows(&items)
  35. return
  36. }
  37. type SandboxClassifyItems struct {
  38. SandboxClassifyId int `orm:"column(sandbox_classify_id);pk"`
  39. SandboxClassifyName string `description:"分类名称"`
  40. ParentId int `description:"父级id"`
  41. HasData int `description:"是否含有指标数据"`
  42. CreateTime time.Time `description:"创建时间"`
  43. ModifyTime time.Time `description:"修改时间"`
  44. SysUserId int `description:"创建人id"`
  45. SysUserRealName string `description:"创建人姓名"`
  46. Level int `description:"层级"`
  47. Sort int `description:"排序字段,越小越靠前,默认值:10"`
  48. SandboxId int `description:"沙盘id"`
  49. Children []*SandboxClassifyItems
  50. }
  51. type SandboxClassifyListResp struct {
  52. AllNodes []*SandboxClassifyItems
  53. }
  54. type AddSandboxClassifyReq struct {
  55. SandboxClassifyName string `description:"分类名称"`
  56. ParentId int `description:"父级id,第一级传0"`
  57. Level int `description:"层级,第一级传0,其余传上一级的层级"`
  58. }
  59. func GetSandboxClassifyCount(sandboxClassifyName string, parentId int) (count int, err error) {
  60. o := orm.NewOrmUsingDB("data")
  61. sql := `SELECT COUNT(1) AS count FROM sandbox_classify WHERE parent_id=? AND sandbox_classify_name=? `
  62. err = o.Raw(sql, parentId, sandboxClassifyName).QueryRow(&count)
  63. return
  64. }
  65. // GetSandboxClassifyMaxSort 获取沙盘分类下最大的排序数
  66. func GetSandboxClassifyMaxSort(parentId int) (sort int, err error) {
  67. o := orm.NewOrmUsingDB("data")
  68. sql := `SELECT Max(sort) AS sort FROM sandbox_classify WHERE parent_id=? `
  69. err = o.Raw(sql, parentId).QueryRow(&sort)
  70. return
  71. }
  72. type EditSandboxClassifyReq struct {
  73. SandboxClassifyName string `description:"分类名称"`
  74. SandboxClassifyId int `description:"分类id"`
  75. }
  76. func GetSandboxClassifyById(classifyId int) (item *SandboxClassify, err error) {
  77. o := orm.NewOrmUsingDB("data")
  78. sql := `SELECT * FROM sandbox_classify WHERE sandbox_classify_id=? `
  79. err = o.Raw(sql, classifyId).QueryRow(&item)
  80. return
  81. }