diff --git a/Src/Dlhis.Basic/Common/Message/JinkoApiService.cs b/Src/Dlhis.Basic/Common/Message/JinkoApiService.cs index c2b7d909..07390ff7 100644 --- a/Src/Dlhis.Basic/Common/Message/JinkoApiService.cs +++ b/Src/Dlhis.Basic/Common/Message/JinkoApiService.cs @@ -1,4 +1,6 @@ using System.Text; +using Dlhis.Basic.Common.ApiLog.Services; +using Dlhis.Entity.Common.Enums; using Kurisu.AspNetCore.Utils.Extensions; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -8,16 +10,18 @@ namespace Dlhis.Basic.Common.Message; public class JinkoApiService : IJinkoApiService { private readonly IHttpClientFactory _httpClientFactory; + private readonly IServiceProvider _serviceProvider; private const string _agentId = "2984453842"; private const string _appKey = "dingppvj6wvtgbagwpsw"; private const string _appSecret = "k9mxYwilZgQiuhV_RVYRueoIAWHCQWrUdhbj6DAmiEiqMzSQE4igt0kAj97rmLaS"; - public JinkoApiService(IHttpClientFactory httpClientFactory) + public JinkoApiService(IHttpClientFactory httpClientFactory, IServiceProvider serviceProvider) { _httpClientFactory = httpClientFactory; + _serviceProvider = serviceProvider; } - public async Task GetTokenAsync() + private async Task GetTokenAsync() { var token = string.Empty; if (string.IsNullOrEmpty(token)) @@ -76,6 +80,11 @@ public class JinkoApiService : IJinkoApiService var jObj = JObject.Parse(jsonResponse); (jObj.Value("errcode") == "0").ThrowIfFalse(jObj.Value("errmsg")); + + + using var scope = _serviceProvider.CreateScope(); + var ol = scope.ServiceProvider.GetService(); + await ol.LogAsync(OperateLogType.WorkGrid, $"dingtalk消息推送:{request.ToJson()}"); } diff --git a/Src/Dlhis.Message/Options/DingTalkOption.cs b/Src/Dlhis.Message/Options/DingTalkOption.cs new file mode 100644 index 00000000..3c838d9a --- /dev/null +++ b/Src/Dlhis.Message/Options/DingTalkOption.cs @@ -0,0 +1,11 @@ +using Kurisu.AspNetCore.ConfigurableOptions.Attributes; + +namespace Dlhis.Message.Options; + +[Configuration] +public class DingTalkOption +{ + public string AgentId { get; set; } + public string AppKey { get; set; } + public string AppSecret { get; set; } +} \ No newline at end of file diff --git a/Src/Dlhis.Message/Services/JinkoApiService.cs b/Src/Dlhis.Message/Services/JinkoApiService.cs index 329fcb99..79b8fcf9 100644 --- a/Src/Dlhis.Message/Services/JinkoApiService.cs +++ b/Src/Dlhis.Message/Services/JinkoApiService.cs @@ -1,5 +1,7 @@ using System.Text; +using Dlhis.Message.Options; using Kurisu.AspNetCore.Utils.Extensions; +using Microsoft.Extensions.Options; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -8,13 +10,15 @@ namespace Dlhis.Message.Services; public class JinkoApiService : IJinkoApiService { private readonly IHttpClientFactory _httpClientFactory; + private readonly DingTalkOption _dingTalkOption; - public JinkoApiService(IHttpClientFactory httpClientFactory) + public JinkoApiService(IHttpClientFactory httpClientFactory, IOptions options) { _httpClientFactory = httpClientFactory; + _dingTalkOption = options.Value; } - public async Task GetTokenAsync() + private async Task GetTokenAsync() { var token = string.Empty; if (string.IsNullOrEmpty(token)) @@ -23,11 +27,10 @@ public class JinkoApiService : IJinkoApiService var form = new FormUrlEncodedContent(new Dictionary { - { "appkey", "dingumelppews6rah7x9" }, - { "appsecret", "nsWfJTVjYesHVzrLiP-t1TQqMQvC1L_kZNfXfnIyzcXK4pCTfKprkjZcxAbsDR_l" } + { "appkey", _dingTalkOption.AppKey }, + { "appsecret", _dingTalkOption.AppSecret } }); - - //appkey=dingumelppews6rah7x9&appsecret=nsWfJTVjYesHVzrLiP-t1TQqMQvC1L_kZNfXfnIyzcXK4pCTfKprkjZcxAbsDR_l + var response = await httpClient.GetStringAsync($"/gettoken?{await form.ReadAsStringAsync()}"); var jObj = JObject.Parse(response); (jObj.Value("errcode") == "0").ThrowIfFalse(jObj.Value("errmsg")); @@ -50,7 +53,7 @@ public class JinkoApiService : IJinkoApiService var body = new { - agent_id = "2768073678", + agent_id = _dingTalkOption.AgentId, userid_list = userStringIds, msg = new { diff --git a/Src/Dlhis.Message/appsettings.json b/Src/Dlhis.Message/appsettings.json index 5629eb3b..c6a54429 100644 --- a/Src/Dlhis.Message/appsettings.json +++ b/Src/Dlhis.Message/appsettings.json @@ -24,6 +24,11 @@ "yikatong": "yikatong" } }, + "DingTalkOption":{ + "AgentId":"2984453842", + "AppKey":"dingppvj6wvtgbagwpsw", + "AppSecret":"k9mxYwilZgQiuhV_RVYRueoIAWHCQWrUdhbj6DAmiEiqMzSQE4igt0kAj97rmLaS" + }, "IdentityServerOptions": { "Authority": "http://identity.oauth.svc.cluster.local", "RequireHttpsMetadata": false,