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;
}
}
}