/// <summary>
        /// 创建OU新部门
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <WX_OrganizationUnitDto> CreateOrganizationUnit(WX_CreateOrganizationUnitInput input)
        {
            //var organizationUnit = new EntityOrganizationUnitWeiXin(AbpSession.TenantId, input.DisplayName, input.ParentId);

            var wxOrganizationUnit = new WX_OrganizationUnit();

            wxOrganizationUnit.TenantId       = AbpSession.TenantId;
            wxOrganizationUnit.DisplayName    = input.DisplayName;
            wxOrganizationUnit.ParentId       = input.ParentId;
            wxOrganizationUnit.WeiXinDepId    = input.WeiXinDepId;
            wxOrganizationUnit.WeiXinParentId = input.WeiXinParentId;
            wxOrganizationUnit.WeiXinCorpId   = input.WeiXinCorpId;
            wxOrganizationUnit.Code           = await _weixinOrganizationUnitManager.GetNextChildCodeAsync(wxOrganizationUnit.ParentId);

            await _weixinOrganizationUnitManager.ValidateOrganizationUnitAsync(wxOrganizationUnit);

            await _weixinOrganizationUnitRepository.InsertAsync(wxOrganizationUnit);

            //await _organizationUnitManager.CreateAsync(organizationUnit);
            await CurrentUnitOfWork.SaveChangesAsync();

            return(wxOrganizationUnit.MapTo <WX_OrganizationUnitDto>());
        }