/// <summary> /// 同步部门 /// </summary> /// <param name="organizeListJson">机构列表Json</param> /// <returns></returns> public void Synchronization(string organizeListJson) { List <WeChatDeptRelationEntity> weChatDeptRelationList = new List <WeChatDeptRelationEntity>(); List <OrganizeEntity> organizelist = organizeListJson.ToList <OrganizeEntity>(); #region 除 IEnumerable <WeChatDeptRelationEntity> DeletedList = this.GetDeletedList(organizelist); foreach (var item in DeletedList) { DepartmentDelete departmentDelete = new DepartmentDelete(); departmentDelete.id = item.WeChatDeptId.ToString(); int IsOk = departmentDelete.Send().errcode; if (IsOk == 0) { service.RemoveForm(item.DeptRelationId); } } #endregion #region 添加、编辑 foreach (OrganizeEntity departmentEntity in organizelist) { WeChatDeptRelationEntity weChatDeptRelationEntity = service.GetEntity(departmentEntity.OrganizeId); if (weChatDeptRelationEntity == null) { #region 添加 DepartmentCreate departmentCreate = new DepartmentCreate(); departmentCreate.name = departmentEntity.FullName; departmentCreate.parentid = departmentEntity.ParentId == "0" ? "1" : weChatDeptRelationList.Find(t => t.DeptId == departmentEntity.ParentId).WeChatDeptId.ToString(); string WeChatDeptId = departmentCreate.Send().id; if (WeChatDeptId != null) { weChatDeptRelationEntity = new WeChatDeptRelationEntity(); weChatDeptRelationEntity.DeptRelationId = departmentEntity.OrganizeId; weChatDeptRelationEntity.DeptId = departmentEntity.OrganizeId; weChatDeptRelationEntity.DeptName = departmentEntity.FullName; weChatDeptRelationEntity.WeChatDeptId = WeChatDeptId.ToInt();//企业号创建部门的返回Id weChatDeptRelationList.Add(weChatDeptRelationEntity); service.SaveForm("", weChatDeptRelationEntity); } #endregion } else { #region 编辑 weChatDeptRelationList.Add(weChatDeptRelationEntity); DepartmentUpdate departmentUpdate = new DepartmentUpdate(); departmentUpdate.name = departmentEntity.FullName; departmentUpdate.parentid = departmentEntity.ParentId == "0" ? "1" : weChatDeptRelationList.Find(t => t.DeptId == departmentEntity.ParentId).WeChatDeptId.ToString(); departmentUpdate.id = weChatDeptRelationEntity.WeChatDeptId.ToString(); int IsOk = departmentUpdate.Send().errcode; if (IsOk == 0) { service.SaveForm(weChatDeptRelationEntity.DeptRelationId, weChatDeptRelationEntity); } #endregion } } #endregion }
/// <summary> /// 保存成员(并自动添加企业号成员) /// </summary> /// <param name="userIds">成员Id</param> /// <returns></returns> public void SaveMember(string[] userIds, out string msg) { List <UserEntity> usreList = userBLL.GetList().ToList(); List <WeChatDeptRelationEntity> departmentList = weChatOrganizeBLL.GetList().ToList(); int succeed = 0; int error = 0; foreach (var userId in userIds) { try { UserEntity userEntity = usreList.Find(t => t.UserId == userId); WeChatDeptRelationEntity weChatDeptRelationEntity = departmentList.Find(t => t.DeptId == userEntity.DepartmentId); UserCreate userCreate = new UserCreate(); userCreate.userid = userEntity.Account; userCreate.name = userEntity.RealName; userCreate.position = userEntity.PostName; userCreate.mobile = userEntity.Mobile; userCreate.gender = userEntity.Gender == 1 ? "1" : "2"; userCreate.email = userEntity.Email; userCreate.weixinid = userEntity.WeChat; string departmentId = weChatDeptRelationEntity.WeChatDeptId.ToString(); userCreate.department = new List <string>() { departmentId }; var result = userCreate.Send(); if (result.errcode == 0) { UserInvite userInvite = new UserInvite(); userInvite.userid = userCreate.userid; result = userInvite.Send(); } WeChatUserRelationEntity weChatUserRelationEntity = new WeChatUserRelationEntity(); weChatUserRelationEntity.UserRelationId = userCreate.userid; weChatUserRelationEntity.UserId = userCreate.userid; weChatUserRelationEntity.DeptId = weChatDeptRelationEntity.DeptId; weChatUserRelationEntity.DeptName = weChatDeptRelationEntity.DeptName; weChatUserRelationEntity.WeChatDeptId = departmentId.ToInt(); weChatUserRelationEntity.SyncState = result.errcode.ToString(); weChatUserRelationEntity.SyncLog = result.errmsg; service.SaveForm("", weChatUserRelationEntity); succeed++; } catch (System.Exception) { error++; } } msg = "成功:" + succeed + " ;错误:" + error; }
/// <summary> /// 同步成员 /// </summary> /// <param name="userIds">成员Id</param> /// <returns></returns> public void Synchronization(string[] userIds) { List <UserEntity> usreList = userBLL.GetList().ToList(); List <WeChatDeptRelationEntity> departmentList = weChatOrganizeBLL.GetList().ToList(); foreach (var userId in userIds) { UserEntity userEntity = usreList.Find(t => t.UserId == userId); WeChatDeptRelationEntity weChatDeptRelationEntity = departmentList.Find(t => t.DeptId == userEntity.DepartmentId); #region 步更新信息 UserUpdate userUpdate = new UserUpdate(); userUpdate.userid = userEntity.Account; userUpdate.name = userEntity.RealName; userUpdate.position = userEntity.PostName; userUpdate.mobile = userEntity.Mobile; userUpdate.gender = userEntity.Gender == 1 ? "1" : "2"; userUpdate.email = userEntity.Email; userUpdate.weixinid = userEntity.WeChat; string departmentId = weChatDeptRelationEntity.WeChatDeptId.ToString(); userUpdate.department = new List <string>() { departmentId }; userUpdate.enable = userEntity.EnabledMark.ToInt(); var result = userUpdate.Send(); #endregion #region 步邀请关注 UserGet userGet = new UserGet(); userGet.userid = userEntity.Account; var status = userGet.Send(); #endregion WeChatUserRelationEntity weChatUserRelationEntity = new WeChatUserRelationEntity(); weChatUserRelationEntity.UserId = userUpdate.userid; weChatUserRelationEntity.DeptId = weChatDeptRelationEntity.DeptId; weChatUserRelationEntity.DeptName = weChatDeptRelationEntity.DeptName; weChatUserRelationEntity.WeChatDeptId = departmentId.ToInt(); weChatUserRelationEntity.SyncState = status.status.ToString(); weChatUserRelationEntity.SyncLog = status.errmsg; service.SaveForm(userEntity.Account, weChatUserRelationEntity); } }