人民医院API

DingTalkHelper.cs 2.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace RMYY_CallCenter_Api.Utility.Helper
  7. {
  8. public class DingTalkHelper
  9. {
  10. /// <summary>
  11. /// 获取AccessToken
  12. /// </summary>
  13. /// <returns></returns>
  14. public static string GetAccessToken()
  15. {
  16. var accesstoken = RedisHelper.StringGet("DingTalkToken").ToString();
  17. if (string.IsNullOrEmpty(accesstoken))
  18. {
  19. string result = HttpHelper.HttpGet(string.Format("https://oapi.dingtalk.com/gettoken?appkey={0}&appsecret={1}", ConfigHelper.GetValue("DingTalk_AppKey"), ConfigHelper.GetValue("DingTalk_AppSecret")));
  20. var resultobj = result.ToJObject();
  21. if (resultobj["errcode"].ToString() == "0")
  22. {
  23. accesstoken = resultobj["access_token"].ToString();
  24. string cachetime = ConfigHelper.GetValue("DingTalk_TokenCacheTime");
  25. RedisHelper.StringSet("DingTalkToken", accesstoken, new TimeSpan(0, 0, cachetime.ToInt()));
  26. }
  27. }
  28. return accesstoken;
  29. }
  30. /// <summary>
  31. /// 发送模板消息
  32. /// </summary>
  33. /// <param name="userids"></param>
  34. /// <param name="deptids"></param>
  35. /// <param name="msgjson"></param>
  36. /// <param name="templateid"></param>
  37. /// <returns></returns>
  38. public static string SendByTemplate(string userids, string deptids, string msgjson, string templateid)
  39. {
  40. string result = string.Empty;
  41. var param = new
  42. {
  43. agent_id = "948060598",
  44. template_id = "e27a9eed42b34a14a2xxxx",
  45. data = "{\"name\":\"淘宝6\",\"name2\":\"http://www.taobao.com\"}",
  46. dept_id_list = "421897262"
  47. };
  48. var strresult = HttpHelper.HttpPost(string.Format("https://oapi.dingtalk.com/topapi/message/corpconversation/sendbytemplate?access_token={0}", GetAccessToken()), param.ToJson());
  49. var resultobj = strresult.ToJObject();
  50. if (resultobj["errcode"].ToString() != "0")
  51. {
  52. result = resultobj["errmsg"].ToString();
  53. }
  54. return result;
  55. }
  56. }
  57. }