C# 釘釘獲取人員信息


public static AccessToken AccessToken = new AccessToken ( );        

        /// <summary>
        /// 獲取人員信息並保存
        /// </summary>
        private void getUserInfo ( )
        {
            //先獲取部門信息,然後根據部門ID,分別獲取人員信息
            DataTable depart = _bll . getDepart ( );
            if ( depart == null || depart . Rows . Count < 1 )
                return;
            
            //每次都要判斷Token是否過期,如果過期就要重新獲取
            UpdateAccessToken ( false );
            IDingTalkClient client = new DefaultDingTalkClient ( Urls . department_user );
            List<UserResultSet> list;

            //不要多次對比,直接刪除,然後重新獲取,全部插入
            _bll . DeleteUser ( );

            for ( int i = 0 ; i < depart . Rows . Count ; i++ )
            {
                OapiUserSimplelistRequest req = new OapiUserSimplelistRequest ( );
                req . Lang = "zh_CN";
                req . DepartmentId = string . IsNullOrEmpty ( depart . Rows [ i ] [ "DBA001" ] . ToString ( ) ) == true ? 1L : Convert . ToInt64 ( depart . Rows [ i ] [ "DBA001" ] . ToString ( ) );
                req . Offset = 0L;
                req . Size = 100L;
                req . Order = "custom";
                req . SetHttpMethod ( "GET" );
                OapiUserSimplelistResponse rsp = client . Execute ( req ,AccessToken . Value );
                list = XmlUtil . JsonStringToObj<UserResultSet> ( rsp .Body );
                if ( list . Count > 0 )
                {
                    foreach ( UserResultSet user in list )
                    {
                        if ( user . userlist . Count > 0 )
                        {
                            isOk = _bll . SaveUser ( user . userlist ,req . DepartmentId . ToString ( ) );
                            if (isOk == false)
                                break;
                        }
                    }
                }
            }
            if ( isOk == false )
            {
                Utility . LogHelper . WriteLog ( "人員信息保存失敗" );
            }
        }
using System.Collections.Generic;

namespace DDHelper
{
    public class UserResultSet :ResultPackage
    {
        public List<User> userlist
        {
            get; set;
        }
    }
}
namespace DDHelper
{
    public class User
    {
        /// <summary>
        /// 人員id
        /// </summary>
        public string userid
        {
            get;set;
        }
        
        /// <summary>
        /// 人員姓名
        /// </summary>
        public string name
        {
            get;set;
        }

        /// <summary>
        /// 所屬部門
        /// </summary>
        public string departmentID
        {
            get;set;
        }

    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章