github.com/SupenBysz/gf-admin-community@v0.7.4/sys_controller/sys_organization.go (about) 1 package sys_controller 2 3 import ( 4 "context" 5 "github.com/SupenBysz/gf-admin-community/api_v1" 6 "github.com/SupenBysz/gf-admin-community/api_v1/sys_api" 7 "github.com/SupenBysz/gf-admin-community/sys_model" 8 "github.com/SupenBysz/gf-admin-community/sys_model/sys_enum" 9 "github.com/SupenBysz/gf-admin-community/sys_service" 10 "github.com/gogf/gf/v2/util/gconv" 11 "github.com/kysion/base-library/base_model" 12 ) 13 14 // SysOrganization 组织架 15 var SysOrganization = cSysOrganization{} 16 17 type cSysOrganization struct{} 18 19 // QueryOrganizationList 获取组织架构|列表 20 func (c *cSysOrganization) QueryOrganizationList(ctx context.Context, req *sys_api.QueryOrganizationListReq) (*sys_model.OrganizationInfoListRes, error) { 21 // 权限判断 22 if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Organization.PermissionType.List); has != true { 23 return nil, err 24 } 25 26 return sys_service.SysOrganization().QueryOrganizationList(ctx, req.SearchParams) 27 } 28 29 // GetOrganizationList 根据ID获取下级组织架构|列表 30 func (c *cSysOrganization) GetOrganizationList(ctx context.Context, req *sys_api.GetOrganizationListReq) (*sys_model.OrganizationInfoListRes, error) { 31 // 权限判断 32 if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Organization.PermissionType.List); has != true { 33 return nil, err 34 } 35 36 data, count, err := sys_service.SysOrganization().GetOrganizationList(ctx, req.Id, req.IsRecursive) 37 if err != nil { 38 return nil, err 39 } 40 41 return &sys_model.OrganizationInfoListRes{ 42 Records: data, 43 PaginationRes: base_model.PaginationRes{ 44 Pagination: base_model.Pagination{ 45 PageNum: 1, 46 PageSize: count, 47 }, 48 PageTotal: 1, 49 Total: gconv.Int64(count), 50 }, 51 }, err 52 } 53 54 // GetOrganizationTree 根据ID获取下级组织架构|树 55 func (c *cSysOrganization) GetOrganizationTree(ctx context.Context, req *sys_api.GetOrganizationTreeReq) (*sys_api.OrganizationInfoTreeListRes, error) { 56 // 权限判断 57 if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Organization.PermissionType.List); has != true { 58 return nil, err 59 } 60 61 result, err := sys_service.SysOrganization().GetOrganizationTree(ctx, req.Id) 62 63 return (*sys_api.OrganizationInfoTreeListRes)(&result), err 64 } 65 66 // CreateOrganizationInfo 创建或更新组织架构|信息 67 func (c *cSysOrganization) CreateOrganizationInfo(ctx context.Context, req *sys_api.CreateOrganizationInfoReq) (*sys_api.OrganizationInfoRes, error) { 68 // 权限判断 69 if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Organization.PermissionType.Create); has != true { 70 return nil, err 71 } 72 73 result, err := sys_service.SysOrganization().CreateOrganizationInfo(ctx, req.SysOrganizationInfo) 74 return (*sys_api.OrganizationInfoRes)(result), err 75 } 76 77 // UpdateOrganizationInfo 创建或更新组织架构|信息 78 func (c *cSysOrganization) UpdateOrganizationInfo(ctx context.Context, req *sys_api.UpdateOrganizationInfoReq) (*sys_api.OrganizationInfoRes, error) { 79 // 权限判断 80 if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Organization.PermissionType.Update); has != true { 81 return nil, err 82 } 83 84 result, err := sys_service.SysOrganization().UpdateOrganizationInfo(ctx, req.SysOrganizationInfo) 85 return (*sys_api.OrganizationInfoRes)(result), err 86 } 87 88 // GetOrganizationInfo 获取组织架构|信息 89 func (c *cSysOrganization) GetOrganizationInfo(ctx context.Context, req *sys_api.GetOrganizationInfoReq) (*sys_api.OrganizationInfoRes, error) { 90 // 权限判断 91 if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Organization.PermissionType.ViewDetail); has != true { 92 return nil, err 93 } 94 95 result, err := sys_service.SysOrganization().GetOrganizationInfo(ctx, req.Id) 96 97 return (*sys_api.OrganizationInfoRes)(result), err 98 } 99 100 // DeleteOrganizationInfo 根据ID删除组织架构 101 func (c *cSysOrganization) DeleteOrganizationInfo(ctx context.Context, req *sys_api.DeleteOrganizationInfoReq) (api_v1.BoolRes, error) { 102 // 权限判断 103 if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Organization.PermissionType.Delete); has != true { 104 return false, err 105 } 106 107 result, err := sys_service.SysOrganization().DeleteOrganizationInfo(ctx, req.Id) 108 109 return result == true, err 110 }