componentClassify.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package model
  2. import (
  3. "Panel_development/global"
  4. "errors"
  5. "gorm.io/gorm"
  6. )
  7. type ComponentClassify struct {
  8. gorm.Model
  9. Name string `gorm:"type:varchar(255);not null;unique;comment:组件分类名称" json:"name" validate:"required"`
  10. ParentId uint `gorm:"type:int;not null;comment:父组件id" json:"parentId"`
  11. Child []ComponentClassify `gorm:"-" json:"child"` // 此字段将不会被GORM迁移至数据库
  12. }
  13. func (cc ComponentClassify) TableName() string {
  14. return "component_classify"
  15. }
  16. // AddComponentClassify 添加组件分类
  17. func (cc ComponentClassify) AddComponentClassify(cclass ComponentClassify) (ComponentClassify, error) {
  18. //TODO implement me
  19. tx := global.DBLink.Create(&cclass)
  20. if tx.RowsAffected > 0 {
  21. return ComponentClassify{}, nil
  22. }
  23. return ComponentClassify{}, errors.New("添加失败")
  24. }
  25. // GetComponentClassify 获取组件分类
  26. func (cc ComponentClassify) GetComponentClassify() ([]ComponentClassify, error) {
  27. //TODO implement me
  28. var parent []ComponentClassify
  29. var child []ComponentClassify
  30. global.DBLink.Where("parent_id = 0").Find(&parent)
  31. for _, classify := range parent {
  32. global.DBLink.Where("parent_id =?", classify.ID).Find(&child)
  33. }
  34. return parent, nil
  35. }