//[HandlerAjaxOnly] public ActionResult DingTalkUserLogin(string code) { try { DingTalkCorpConfig config = ding.GetAccessToken(); UserDetailInfo user = new UserDetailInfo(); if (config != null) { user = DingTalkUserApi.GetUserDetailByAuthCode(config.AccessToken, code); if (user != null) { DingTalkUserEntity info = CheckLogin(user); if (info == null) { return(Success("成功", user.ToJson())); } else { return(Success("成功", info.ToJson())); } } } return(Error("失败")); } catch { return(Error("失败")); } }
/// <summary> /// 产品注册授权申请通知推送 /// </summary> /// <param name="usersid"></param> /// <param name="mEntity"></param> /// <param name="customer"></param> /// <returns></returns> public static bool SendLicenseApplyWorkMsg(string uuid) { try { DingTalkCorpConfig config = (new DingTalkApp()).GetAccessToken(); List <string> users = new List <string>(); users.Add("172557595021881487");// 钉钉UserId if (users.Count > 0) { string title = "产品注册授权审核通知"; string msg = string.Format("# {0}向您申请授权MDK产品注册码,请审批 \n 客户名称:{1} \n 产品名称:{2} \n 申请到日:{3} \n # 备注说明:{4}"); string url = HttpHelper.GetWebSite() + "/ProductManage/ProductLicence/LicenceAudit?keyValue=" + uuid; var result = WorkMessageApi.SendMessagebyActionCard( config.AccessToken, 211537030, EnumClass.RecvType.UseridList, users, title, msg, "查看详情", url); (new DingTalkWorkMsgApp()).AddWorkMsgLog(config.AccessToken, 211537030, title, users.ToString(), result.Errmsg); return(true); } else { return(false); } } catch (Exception ex) { if (ex.Message != "88")//排除白名单问题 { throw new Exception(ex.Message); } else { return(true); } } }
/// <summary> /// 客户收款提醒 /// </summary> public void RemindDemo() { DingTalkApp ding = new DingTalkApp(); DingTalkCorpConfig config = ding.GetAccessToken(); DateTime nowtime = DateTime.Now; DayOfWeek dayofweek = DateTime.Now.DayOfWeek; try { List <string> users = new List <string>(); users.Add("manager6639"); string linktitle = "立即查看"; string linkurl = Configs.GetValue("WebSiteUrl") + "/ProductManage/Customer/Details?keyValue=111"; if (users.Count > 0) { string title = "客户收款提醒"; string msg = string.Format("# 张三的收款截止日期还有7天,请营销经理关注 \n 收款止日:2019-10-10 \n # 销售经理:李维民"); SendWorkMessageResult result = WorkMessageApi.SendMessagebyActionCard( config.AccessToken, 211500037030, EnumClass.RecvType.UseridList, users, title, msg, linktitle, linkurl); if (!result.IsSuccess) { Log log = LogFactory.GetLogger("ErrorLog"); log.Info(result.Errmsg); } } } catch (Exception ex) { return; } }
public ActionResult UpdateDingTalkDepartment() { try { DingTalkCorpConfig config = ding.GetAccessToken(); if (config.AccessToken != null) { List <DepartmentInfo> deparlist = DingTalk.DingTalkDepartApi.GetDepartmentList(config.AccessToken, "1"); if (deparlist != null && deparlist.Count > 0) { foreach (DepartmentInfo model in deparlist) { app.DeleteForm(model.Id.ToString()); DepartmentEntity entity = new DepartmentEntity(); DepartmentInfo department = DingTalkDepartApi.GetDepartmentInfo(config.AccessToken, model.Id); if (department != null) { entity.Id = department.Id.ToString(); entity.Name = department.Name; entity.Parentid = department.Parentid.ToString(); entity.AutoAddUser = department.AutoAddUser; entity.DeptHiding = department.DeptHiding; entity.OrgDeptOwner = department.OrgDeptOwner; entity.CreateDeptGroup = department.CreateDeptGroup; } else { entity.Id = model.Id.ToString(); entity.Name = model.Name; entity.Parentid = model.Parentid.ToString(); entity.AutoAddUser = model.AutoAddUser; entity.DeptHiding = model.DeptHiding; entity.OrgDeptOwner = model.OrgDeptOwner; entity.CreateDeptGroup = model.CreateDeptGroup; } entity.UpdateTime = DateTime.Now; app.SubmitForm(entity, null); } } else { return(Error("更新失败。")); } } } catch (Exception ex) { return(Error("更新失败:" + ex.Message)); } return(Success("更新成功")); }
private object GetDingTalkCorpConfig(string url) { DingTalkCorpConfig config = ding.GetAccessToken(); if (config != null) { config.TimeStamp = DingTalkHelper.GetTimeStamp(); config.NonceStr = DingTalkHelper.GuidTo16String(); string jsapi_ticket = DingTalkHelper.GetJsApiTicket(config.AccessToken); config.url = url; config.jsapi_ticket = jsapi_ticket; config.Signature = DingTalkHelper.GetAccessSignature(config.NonceStr, config.TimeStamp.ToString(), jsapi_ticket, url); } return(config); }
//[HandlerAjaxOnly] public ActionResult GetDingTalkCorpConfigJson(string url) { DingTalkCorpConfig config = ding.GetAccessToken(); if (config != null) { config.TimeStamp = DingTalkHelper.GetTimeStamp(); config.NonceStr = DingTalkHelper.GuidTo16String(); string jsapi_ticket = DingTalkHelper.GetJsApiTicket(config.AccessToken); config.url = url; config.jsapi_ticket = jsapi_ticket; config.Signature = DingTalkHelper.GetAccessSignature(config.NonceStr, config.TimeStamp.ToString(), jsapi_ticket, url); } return(Content(config.ToJson())); }
public ActionResult GetDingTalkUser() { try { DingTalkCorpConfig config = ding.GetAccessToken(); DingTalk.DingTalkDepartApi.GetDepartmentId(DingTalkHelper.CorpConfig.AccessToken); if (config.AccessToken != null) { List <UserDetailInfo> userlist = DingTalk.DingTalkUserApi.GetUserInfoByPage(config.AccessToken, 60286524); if (userlist != null && userlist.Count > 0) { foreach (UserDetailInfo user in userlist) { app.DeleteForm(user.UserId); DingTalkUserEntity entity = new DingTalkUserEntity(); entity.UserId = user.UserId; entity.Active = user.Active; entity.Avatar = user.Avatar; entity.Email = user.Email; entity.HiredDate = user.HiredDate; entity.IsAdmin = user.IsAdmin; entity.IsBoss = user.IsBoss; entity.IsHide = user.IsHide; entity.IsLeader = user.IsLeader; entity.IsSenior = user.IsSenior; entity.JobNumber = user.JobNumber; entity.Mobile = user.Mobile; entity.UserName = user.UserName; entity.OrderInDepts = user.OrderInDepts; entity.Position = user.Position; app.SubmitForm(entity, null); } } else { return(Error("更新失败。")); } } } catch (Exception ex) { return(Error("更新失败:" + ex.Message)); } return(Success("更新成功")); }
/// <summary> /// /// </summary> /// <returns></returns> public DingTalkCorpConfig GetCorpConfig() { Code.SysConfig.DingTalkConfig entity = new Code.SysConfig.DingTalkConfigApp().LoadConfig(); if (entity != null) { DingTalkCorpConfig config = new DingTalkCorpConfig(); config.CorpId = entity.CorpId; config.CorpSecret = entity.CorpSecret; config.AgentId = entity.AgentId; config.AppName = entity.AppName; config.AppKey = entity.AppKey; config.AppSecret = entity.AppSecret; //config.HeadPic = entity.HeadPic; return(config); } else { return(null); } }
/// <summary> /// /// </summary> /// <returns></returns> public DingTalkCorpConfig GetCorpConfig() { DingTalkCorpConfigEntity entity = service.FindEntity(1); if (entity != null) { DingTalkCorpConfig config = new DingTalkCorpConfig(); config.CorpId = entity.CorpId; config.CorpSecret = entity.CorpSecret; config.AgentId = entity.AgentId; config.AppName = entity.AppName; config.AppKey = entity.AppKey; config.AppSecret = entity.AppSecret; config.HeadPic = entity.HeadPic; return(config); } else { return(null); } }
public ActionResult UpdateDingTalkUser() { try { DingTalkCorpConfig config = ding.GetAccessToken(); DateTime updatetime = DateTime.Now; if (config.AccessToken != null) { List <DepartmentInfo> deparlist = DingTalk.DingTalkDepartApi.GetDepartmentList(config.AccessToken, "1"); if (deparlist != null && deparlist.Count > 0) { foreach (DepartmentInfo model in deparlist) { List <string> userlist = DingTalk.DingTalkUserApi.GetDepartmentUserId(config.AccessToken, model.Id.ToString()); if (userlist != null && userlist.Count > 0) { foreach (string userid in userlist) { UserDetailInfo user = DingTalk.DingTalkUserApi.GetUserDetail(config.AccessToken, userid); if (user != null) { app.DeleteForm(user.UserId); DingTalkUserEntity entity = new DingTalkUserEntity(); entity.UserId = user.UserId; entity.Active = user.Active; entity.Avatar = user.Avatar; entity.Email = user.Email; entity.HiredDate = user.HiredDate; entity.IsAdmin = user.IsAdmin; entity.IsBoss = user.IsBoss; entity.IsHide = user.IsHide; entity.IsLeader = user.IsLeader; entity.IsSenior = user.IsSenior; entity.JobNumber = user.JobNumber; entity.Mobile = user.Mobile; entity.UserName = user.UserName; entity.OrderInDepts = user.OrderInDepts; entity.Position = user.Position; entity.UpdateTime = updatetime; app.SubmitForm(entity, null); } } } //else //{ // return Error("更新失败。获取用户失败"); //} } app.DeleteForm(updatetime); } else { return(Error("更新失败。获取部门失败")); } } } catch (Exception ex) { return(Error("更新失败:" + ex.Message)); } return(Success("更新成功")); }