public Response <bool> InsertSyncDataToUserByOid(string OID) { var response = new Response <bool>(); //var org = OrgApp.Get(OID); //if (org == null) //{ // response.Code = -1; // response.Message = "方法InsertSyncDataToUserByOid:找不到组织"; //} int CountSuccess = 0; int CountFail = 0; var orgs = OrgApp.GetOrgAndChilds(OID); if (orgs == null) { response.Code = 200; response.Message = "成功0条;失败0条"; return(response); } foreach (var item in orgs) { //1、检验该组织是否有同步需要,如果有则先同步 if (item.DD_SyncEnabled == true) { if (SyncOrgHandler(item) == false) { continue; } } //2.1 获取组织ID下面所有员工 var users = UserApp.GetUserListByOrgId(item.Id); var otheruser = OtherUserApp.GetUserListByType("1").Select(t => t.UserID).ToArray(); //2.2 获取otheruser没有的数据 var extusers = from u in users where !otheruser.Contains(u.Id) select u; foreach (var itemuser in extusers) { //3、创建准备同步钉钉数据 Other_User ouser = new Other_User(); ouser.Email = itemuser.Email; ouser.Gender = itemuser.Sex.ToString(); ouser.Mobile = itemuser.Mobile; ouser.O_Name = itemuser.Name; ouser.SyncMethod = "add"; ouser.TypeName = "1"; ouser.UserID = itemuser.Id; OtherUserApp.Add(ouser); CountSuccess++; } } response.Code = 200; response.Message = "成功" + CountSuccess + "条;失败0条"; return(response); }
public Response <bool> SyncUserAuto() { var response = new Response <bool>(); var ouserList = OtherUserApp.GetUserListByType("1").Where(t => t.SyncMethod.IsEmpty() == false); int SuccessCount = 0; int FailCount = 0; foreach (var item in ouserList) { try { var deptid = OrgApp.GetOrgByUserId(item.UserID).DD_Id; long[] deptidids = { Ext.ToLong(deptid) }; if (item.SyncMethod == "add") { CreateUserRequest model = new CreateUserRequest(); model.Department = deptidids.ToJson(); model.Email = item.Email; model.Mobile = item.Mobile; model.Name = item.O_Name; model.Remark = "-"; model.Userid = item.UserID; DingDingService.CreateUser(model); } else if (item.SyncMethod == "update") { //获取实体通过uid var user = DingDingService.GetUser(new GetUserRequest { Userid = item.O_UserID }); UpdateUserRequest model = new UpdateUserRequest(); Int64 d = Ext.ToLong(deptid); List <long> DepartmentIds = new List <long>(); DepartmentIds.Add(d); model.Department = DepartmentIds; model.Email = user.Email; model.Extattr = user.Extattr; model.IsHide = user.IsHide; model.IsSenior = user.IsSenior; model.Jobnumber = user.Jobnumber; model.ManagerUserid = user.ManagerUserId; model.Mobile = user.Mobile; model.Name = user.Name; model.OrderInDepts = user.OrderInDepts; model.OrgEmail = user.OrgEmail; model.Position = user.Position; model.Remark = user.Remark; model.Tel = user.Tel; model.Userid = user.Userid; model.WorkPlace = user.WorkPlace; DingDingService.UpdateUser(model); } else if (item.SyncMethod == "del") { DingDingService.DelUser(new UserDeleteRequest { Userid = item.O_UserID }); } SuccessCount++; } catch (Exception) { FailCount++; } } response.Message = "成功" + SuccessCount + "条;失败" + FailCount + "条; "; return(response); }