public void RemoveNotExistDepartmentInWeixin() { var list = _Repository.FindBy(null, null, 1, int.MaxValue); var accessToken = _commonService.GetContactsAccessToken(); var departments = _contactsService.GetDepartments(accessToken); var sbError = new StringBuilder(); var deletedList = departments.Where(x => !list.Select(d => d.DepartmentId).Contains(x.Id)); foreach (var dep in deletedList) { if (dep.Id == 1) { continue; } try { _contactsService.DeleteDepartment(accessToken, dep.Id); } catch (Exception ex) { sbError.AppendLine(string.Format("{0} {1}", dep.Name, ex.Message)); } } if (sbError.Length > 0) { throw new Exception(sbError.ToString()); } }