common_classify.go 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package models
  2. import "time"
  3. // CommonClassify 通用分类
  4. type CommonClassify struct {
  5. ClassifyId int `description:"分类ID"`
  6. ClassifyName string `description:"分类名称"`
  7. ParentId int `description:"父级ID"`
  8. RootId int `description:"顶级ID"`
  9. Level int `description:"层级"`
  10. LevelPath string `description:"层级路径"`
  11. Sort int `description:"排序"`
  12. CreateTime time.Time `description:"创建时间"`
  13. ModifyTime time.Time `description:"修改时间"`
  14. }
  15. // CommonClassifyCols 通用分类基本字段
  16. type CommonClassifyCols struct {
  17. ClassifyId string `description:"分类ID"`
  18. ClassifyName string `description:"分类名称"`
  19. ParentId string `description:"父级id"`
  20. RootId string `description:"顶级id"`
  21. Level string `description:"层级"`
  22. LevelPath string `description:"层级路径"`
  23. Sort string `description:"排序字段,越小越靠前,默认值:10"`
  24. CreateTime string `description:"创建时间"`
  25. ModifyTime string `description:"修改时间"`
  26. }
  27. // CommonClassifyObj 通用分类对象
  28. type CommonClassifyObj struct {
  29. ObjectId int `description:"对象ID"`
  30. ClassifyId int `description:"分类ID"`
  31. Sort int `description:"排序"`
  32. CreateTime time.Time `description:"创建时间"`
  33. ModifyTime time.Time `description:"修改时间"`
  34. }
  35. // CommonClassifyObjCols 通用分类对象基本字段
  36. type CommonClassifyObjCols struct {
  37. ObjectId string `description:"对象ID"`
  38. ClassifyId string `description:"分类ID"`
  39. Sort string `description:"排序"`
  40. CreateTime string `description:"创建时间"`
  41. ModifyTime string `description:"修改时间"`
  42. }
  43. // CommonClassifyMoveReq 移动分类
  44. type CommonClassifyMoveReq struct {
  45. ClassifyId int `description:"分类ID"`
  46. ParentClassifyId int `description:"父级分类ID"`
  47. PrevClassifyId int `description:"上一个兄弟节点分类ID"`
  48. NextClassifyId int `description:"下一个兄弟节点分类ID"`
  49. ObjectId int `description:"对象ID(指标/图表..), 如果对象ID>0则移动对象, 否则认为移动分类"`
  50. PrevObjectId int `description:"上一个对象ID"`
  51. NextObjectId int `description:"下一个对象ID"`
  52. }
  53. // ExtraPermissionClassifyStrategy 是一个带有额外权限校验的装饰器
  54. //type ExtraPermissionClassifyStrategy struct {
  55. // BaseClassifyStrategy
  56. //}
  57. // UpdateCommonClassify 覆盖基础策略的UpdateClassify方法,并添加额外的权限校验
  58. //func (s *ExtraPermissionClassifyStrategy) UpdateCommonClassify(classify *CommonClassify) error {
  59. // // 额外的权限校验
  60. // if !checkExtraPermission(classify) {
  61. // return fmt.Errorf("无操作权限")
  62. // }
  63. //
  64. // // 调用基础策略的UpdateClassify方法
  65. // return s.BaseClassifyStrategy.UpdateCommonClassify(classify)
  66. //}
  67. //
  68. //// checkExtraPermission 进行额外的权限校验
  69. //func checkExtraPermission(classify *CommonClassify) bool {
  70. // // 实现额外权限校验逻辑
  71. // return true
  72. //}