/// <summary> /// 钉钉,删除人员同步钉钉 /// </summary> /// <param name="userid">人员编号</param> /// <returns></returns> public Ding_Post_ReturnVal GPM_Ding_DeleteEmp(string userid) { string access_token = getAccessToken(); string url = "https://oapi.dingtalk.com/user/delete?access_token=" + access_token + "&userid=" + userid; try { string str = new HttpWebResponseUtility().HttpResponseGet(url); Ding_Post_ReturnVal postVal = FormatToJson.ParseFromJson <Ding_Post_ReturnVal>(str); //请求返回信息 if (postVal != null) { if (postVal.errcode != "0") { BP.DA.Log.DefaultLogWriteLineError("钉钉删除人员失败:" + postVal.errcode + "-" + postVal.errmsg); } return(postVal); } } catch (Exception ex) { BP.DA.Log.DefaultLogWriteLineError(ex.Message); } return(null); }
/// <summary> /// 钉钉,编辑部门同步钉钉 /// </summary> /// <param name="dept">部门基本信息</param> /// <returns></returns> public Ding_Post_ReturnVal GPM_Ding_EditDept(Dept dept) { string access_token = getAccessToken(); string url = "https://oapi.dingtalk.com/department/update?access_token=" + access_token; try { IDictionary <string, object> list = new Dictionary <string, object>(); list.Add("id", dept.No); list.Add("name", dept.Name); //根目录不允许修改 if (dept.No != "1") { list.Add("parentid", dept.ParentNo); } string str = BP.Tools.FormatToJson.ToJson_FromDictionary(list); str = new HttpWebResponseUtility().HttpResponsePost_Json(url, str); Ding_Post_ReturnVal postVal = FormatToJson.ParseFromJson <Ding_Post_ReturnVal>(str); //请求返回信息 if (postVal != null) { if (postVal.errcode != "0") { BP.DA.Log.DefaultLogWriteLineError("钉钉修改部门失败:" + postVal.errcode + "-" + postVal.errmsg); } return(postVal); } } catch (Exception ex) { BP.DA.Log.DefaultLogWriteLineError(ex.Message); } return(null); }
/// <summary> /// 钉钉,编辑人员同步钉钉 /// </summary> /// <param name="emp">部门基本信息</param> /// <returns></returns> public Ding_Post_ReturnVal GPM_Ding_EditEmp(Emp emp, List <string> deptIds = null) { string access_token = getAccessToken(); string url = "https://oapi.dingtalk.com/user/update?access_token=" + access_token; try { IDictionary <string, object> list = new Dictionary <string, object>(); list.Add("userid", emp.No); list.Add("name", emp.Name); list.Add("email", emp.Email); list.Add("mobile", emp.Tel); list.Add("position", ""); //钉钉根据此从其他部门删除或增加到其他部门 if (deptIds != null && deptIds.Count > 0) { list.Add("department", deptIds); } string str = BP.Tools.FormatToJson.ToJson_FromDictionary(list); str = new HttpWebResponseUtility().HttpResponsePost_Json(url, str); Ding_Post_ReturnVal postVal = FormatToJson.ParseFromJson <Ding_Post_ReturnVal>(str); //请求返回信息 if (postVal != null) { bool create_Ding_user = false; //40022企业中的手机号码和登陆钉钉的手机号码不一致,暂时不支持修改用户信息,可以删除后重新添加 if (postVal.errcode == "40022" || postVal.errcode == "40021") { create_Ding_user = true; postVal = GPM_Ding_DeleteEmp(emp.No); //删除失败 if (postVal.errcode != "0") { create_Ding_user = false; } } else if (postVal.errcode == "60121")//60121找不到该用户 { create_Ding_user = true; } //需要新增人员 if (create_Ding_user == true) { CreateUser_PostVal postUserVal = GPM_Ding_CreateEmp(emp); //消息传递 postVal.errcode = postUserVal.errcode; postVal.errmsg = postUserVal.errmsg; } if (postVal.errcode != "0") { BP.DA.Log.DefaultLogWriteLineError("钉钉修改人员失败:" + postVal.errcode + "-" + postVal.errmsg); } return(postVal); } } catch (Exception ex) { BP.DA.Log.DefaultLogWriteLineError(ex.Message); } return(null); }