github.com/SupenBysz/gf-admin-community@v0.7.4/sys_model/sys_permission.go (about)

     1  package sys_model
     2  
     3  import (
     4  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_entity"
     5  	"github.com/kysion/base-library/base_model"
     6  	"github.com/kysion/base-library/utility/base_permission"
     7  )
     8  
     9  type SysPermission struct {
    10  	Id          int64  `json:"id"             dc:"ID" v:"integer"`
    11  	ParentId    int64  `json:"parentId"       dc:"父级ID" v:"min:0#必须是正整数,该属性创建后不支持修改"`
    12  	Name        string `json:"name"           dc:"名称" v:"max-length:64#仅支持最大字符长度64"`
    13  	Description string `json:"description"    dc:"描述" v:"max-length:128#仅支持最大字符长度128"`
    14  	Identifier  string `json:"identifier"     dc:"标识符"`
    15  	Type        int    `json:"type"           dc:"类型:1api、2menu"`
    16  	MatchMode   int    `json:"matchMode"      dc:"匹配模式:ID:0,标识符:1"`
    17  	IsShow      int    `json:"isShow"         dc:"是否显示:0不显示 1显示"`
    18  	Sort        int    `json:"sort"           dc:"排序"`
    19  }
    20  
    21  type UpdateSysPermission struct {
    22  	Id          int64   `json:"id"             dc:"ID" v:"required#ID不能为空"`
    23  	Name        *string `json:"name"           dc:"名称" v:"max-length:64#仅支持最大字符长度64"`
    24  	Description *string `json:"description"    dc:"描述" v:"max-length:128#仅支持最大字符长度128"`
    25  	Identifier  *string `json:"identifier"     dc:"标识符"`
    26  	Type        *int    `json:"type"           dc:"类型:1api、2menu"`
    27  	MatchMode   *int    `json:"matchMode"      dc:"匹配模式:ID:0,标识符:1"`
    28  	IsShow      *int    `json:"isShow"         dc:"是否显示:0不显示 1显示"`
    29  	Sort        *int    `json:"sort"           dc:"排序"`
    30  }
    31  
    32  type SysPermissionTree struct {
    33  	*sys_entity.SysPermission
    34  	Children []base_permission.IPermission `json:"children"       dc:"下级权限"`
    35  }
    36  
    37  type SysPermissionInfoRes sys_entity.SysPermission
    38  type SysPermissionInfoListRes base_model.CollectRes[*sys_entity.SysPermission]
    39  
    40  //type SysPermissionInfoTreeRes []SysPermissionTree
    41  
    42  type SysPermissionInfoTreeRes []base_permission.IPermission
    43  type MyPermissionListRes []*sys_entity.SysPermission
    44  
    45  // 实现权限树接口
    46  
    47  func (d *SysPermissionTree) GetIsEqual(father base_permission.IPermission, childId base_permission.IPermission) bool {
    48  	return father.GetId() == childId.GetParentId()
    49  }
    50  func (d *SysPermissionTree) SetChild(father base_permission.IPermission, branchArr []base_permission.IPermission) {
    51  	father.SetItems(branchArr)
    52  }
    53  func (d *SysPermissionTree) RetFather(father base_permission.IPermission) bool {
    54  	// 顶级的ParentId这块可以看一下保存的时候ParentId 默认值是多少
    55  	return father.GetParentId() == 0
    56  }
    57  
    58  // 实现权限接口
    59  
    60  func (d *SysPermissionTree) GetId() int64 {
    61  	return d.Id
    62  
    63  }
    64  func (d *SysPermissionTree) GetParentId() int64 {
    65  	return d.ParentId
    66  
    67  }
    68  func (d *SysPermissionTree) GetName() string {
    69  	return d.Name
    70  
    71  }
    72  func (d *SysPermissionTree) GetDescription() string {
    73  	return d.Description
    74  
    75  }
    76  func (d *SysPermissionTree) GetIdentifier() string {
    77  	return d.Identifier
    78  
    79  }
    80  func (d *SysPermissionTree) GetType() int {
    81  	return d.Type
    82  
    83  }
    84  func (d *SysPermissionTree) GetMatchMode() int {
    85  	return d.MatchMode
    86  
    87  }
    88  func (d *SysPermissionTree) GetIsShow() int {
    89  	return d.IsShow
    90  
    91  }
    92  func (d *SysPermissionTree) GetSort() int {
    93  	return d.Sort
    94  
    95  }
    96  func (d *SysPermissionTree) GetItems() []base_permission.IPermission {
    97  	return d.Children
    98  
    99  }
   100  func (d *SysPermissionTree) GetData() interface{} {
   101  	return d
   102  }
   103  
   104  func (d *SysPermissionTree) SetId(val int64) base_permission.IPermission {
   105  	d.Id = val
   106  	return d
   107  }
   108  func (d *SysPermissionTree) SetParentId(val int64) base_permission.IPermission {
   109  	d.ParentId = val
   110  	return d
   111  
   112  }
   113  func (d *SysPermissionTree) SetName(val string) base_permission.IPermission {
   114  	d.Name = val
   115  	return d
   116  
   117  }
   118  func (d *SysPermissionTree) SetDescription(val string) base_permission.IPermission {
   119  	d.Description = val
   120  	return d
   121  
   122  }
   123  func (d *SysPermissionTree) SetIdentifier(val string) base_permission.IPermission {
   124  	d.Identifier = val
   125  	return d
   126  
   127  }
   128  func (d *SysPermissionTree) SetType(val int) base_permission.IPermission {
   129  	d.Type = val
   130  	return d
   131  
   132  }
   133  func (d *SysPermissionTree) SetMatchMode(val int) base_permission.IPermission {
   134  	d.MatchMode = val
   135  	return d
   136  
   137  }
   138  func (d *SysPermissionTree) SetIsShow(val int) base_permission.IPermission {
   139  	d.IsShow = val
   140  	return d
   141  
   142  }
   143  func (d *SysPermissionTree) SetSort(val int) base_permission.IPermission {
   144  	d.Sort = val
   145  	return d
   146  
   147  }
   148  func (d *SysPermissionTree) SetItems(val []base_permission.IPermission) base_permission.IPermission {
   149  	d.Children = val
   150  	return d
   151  }
   152  
   153  //var PFactory func(data base_permission.IPermission) base_permission.IPermission
   154  //var TFactory TPermission[base_permission.IPermission]