package models import "time" // CommonClassify 通用分类 type CommonClassify struct { ClassifyId int `description:"分类ID"` ClassifyName string `description:"分类名称"` ParentId int `description:"父级ID"` RootId int `description:"顶级ID"` Level int `description:"层级"` LevelPath string `description:"层级路径"` Sort int `description:"排序"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"修改时间"` } // CommonClassifyCols 通用分类基本字段 type CommonClassifyCols struct { ClassifyId string `description:"分类ID"` ClassifyName string `description:"分类名称"` ParentId string `description:"父级id"` RootId string `description:"顶级id"` Level string `description:"层级"` LevelPath string `description:"层级路径"` Sort string `description:"排序字段,越小越靠前,默认值:10"` CreateTime string `description:"创建时间"` ModifyTime string `description:"修改时间"` } // CommonClassifyObj 通用分类对象 type CommonClassifyObj struct { ObjectId int `description:"对象ID"` ClassifyId int `description:"分类ID"` Sort int `description:"排序"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"修改时间"` } // CommonClassifyObjCols 通用分类对象基本字段 type CommonClassifyObjCols struct { ObjectId string `description:"对象ID"` ClassifyId string `description:"分类ID"` Sort string `description:"排序"` CreateTime string `description:"创建时间"` ModifyTime string `description:"修改时间"` } // CommonClassifyMoveReq 移动分类 type CommonClassifyMoveReq struct { ClassifyId int `description:"分类ID"` ParentClassifyId int `description:"父级分类ID"` PrevClassifyId int `description:"上一个兄弟节点分类ID"` NextClassifyId int `description:"下一个兄弟节点分类ID"` ObjectId int `description:"对象ID(指标/图表..), 如果对象ID>0则移动对象, 否则认为移动分类"` PrevObjectId int `description:"上一个对象ID"` NextObjectId int `description:"下一个对象ID"` } // ExtraPermissionClassifyStrategy 是一个带有额外权限校验的装饰器 //type ExtraPermissionClassifyStrategy struct { // BaseClassifyStrategy //} // UpdateCommonClassify 覆盖基础策略的UpdateClassify方法,并添加额外的权限校验 //func (s *ExtraPermissionClassifyStrategy) UpdateCommonClassify(classify *CommonClassify) error { // // 额外的权限校验 // if !checkExtraPermission(classify) { // return fmt.Errorf("无操作权限") // } // // // 调用基础策略的UpdateClassify方法 // return s.BaseClassifyStrategy.UpdateCommonClassify(classify) //} // //// checkExtraPermission 进行额外的权限校验 //func checkExtraPermission(classify *CommonClassify) bool { // // 实现额外权限校验逻辑 // return true //}