feat 增加link发送类型

This commit is contained in:
2025-12-23 16:09:01 +08:00
parent bb10c62fab
commit 47ad57d861
6 changed files with 71 additions and 1 deletions

View File

@@ -81,7 +81,7 @@ public class JinkoApiService : IJinkoApiService
var jsonResponse = await response.Content.ReadAsStringAsync();
var jObject = JObject.Parse(jsonResponse);
(jObject.Value<string>("errcode") == "0").ThrowIfFalse(jObject.Value<string>("errmsg"));
(jObject.Value<string>("errcode") == "0").ThrowIfFalse(jObject.Value<string>("errmsg"));
}
public async Task SendWorkMessageByWorkGridAsync(DingTalkWorkMessageRequest request)
@@ -114,4 +114,43 @@ public class JinkoApiService : IJinkoApiService
return oaInfo.Result.Data;
}
public async Task SendMessageUrlAsync(DingTalkMessageUrlRequest request)
{
request.Title.IsEmpty().ThrowIfTrue("发送标题不能为空");
request.Text.IsEmpty().ThrowIfTrue("发送内容不能为空");
request.UserCode.IsEmpty().ThrowIfTrue("发送用户不能为空");
request.MessageUrl.IsEmpty().ThrowIfTrue("消息链接不能为空");
request.PicUrl.IsEmpty().ThrowIfTrue("图片链接不能为空");
var token = await GetTokenAsync();
var users = await GetJinkoOaInfoByWorkCodes(new List<string> { request.UserCode });
var userIds = users.Select(x => x.Id).Join(",");
var body = new
{
agent_id = _agentId,
userid_list = userIds,
msg = new
{
msgtype = "link",
link = new
{
messageUrl = request.MessageUrl,
picUrl = request.PicUrl,
title = request.Title,
text = request.Text
}
}
}.ToJson();
var httpClient = _httpClientFactory.CreateClient("jinko.httpclient");
var url = $"/topapi/message/corpconversation/asyncsend_v2?access_token={token}";
var content = new StringContent(body, Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync(url, content);
var jsonResponse = await response.Content.ReadAsStringAsync();
var jObject = JObject.Parse(jsonResponse);
(jObject.Value<string>("errcode") == "0").ThrowIfFalse(jObject.Value<string>("errmsg"));
}
}