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  }