|
@@ -1,346 +0,0 @@
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.Text;
|
|
|
-using System.Text.Json;
|
|
|
-using System.Threading.Tasks;
|
|
|
-using Azure.Cosmos;
|
|
|
-using Azure.Messaging.ServiceBus;
|
|
|
-using Microsoft.Extensions.Logging;
|
|
|
-using StackExchange.Redis;
|
|
|
-using TEAMModelOS.SDK.DI;
|
|
|
-using TEAMModelOS.SDK.Extension;
|
|
|
-using TEAMModelOS.SDK;
|
|
|
-using TEAMModelOS.SDK.Models;
|
|
|
-using TEAMModelOS.SDK.Models.Cosmos;
|
|
|
-using TEAMModelOS.SDK.Models.Cosmos.Common;
|
|
|
-using System.Linq;
|
|
|
-using TEAMModelOS.SDK.Models.Service;
|
|
|
-using TEAMModelOS.SDK.Models.Cosmos.BI;
|
|
|
-using TEAMModelOS.Models;
|
|
|
-using Microsoft.Extensions.Options;
|
|
|
-using Microsoft.Extensions.Configuration;
|
|
|
-using HTEXLib.COMM.Helpers;
|
|
|
-using Microsoft.Azure.Functions.Worker;
|
|
|
-using TEAMModelOS.SDK.Services;
|
|
|
-using Azure.Storage.Blobs.Models;
|
|
|
-using System.IO;
|
|
|
-using Azure;
|
|
|
-using static TEAMModelOS.SDK.Models.Service.LessonService;
|
|
|
-using DinkToPdf.Contracts;
|
|
|
-using TEAMModelOS.SDK.Helper.Common.DateTimeHelper;
|
|
|
-using static TEAMModelOS.SDK.StatisticsService;
|
|
|
-using DocumentFormat.OpenXml.Office2010.Excel;
|
|
|
-using DocumentFormat.OpenXml.Wordprocessing;
|
|
|
-using System.Xml.Linq;
|
|
|
-using Azure.Storage.Sas;
|
|
|
-using DocumentFormat.OpenXml.Drawing;
|
|
|
-using System.Net.Http;
|
|
|
-using System.Web;
|
|
|
-using System.Net;
|
|
|
-using System.Net.Http.Json;
|
|
|
-using System.Threading;
|
|
|
-using System.Collections.Concurrent;
|
|
|
-using Microsoft.Azure.Amqp.Framing;
|
|
|
-using System.Security.Policy;
|
|
|
-using TEAMModelOS.SDK.Models.Service.BI;
|
|
|
-
|
|
|
-namespace TEAMModelOS.FunctionV4.ServiceBus
|
|
|
-{
|
|
|
- public class ActiveTaskTopic
|
|
|
- {
|
|
|
-
|
|
|
- private readonly int psize = 20;
|
|
|
- private readonly AzureCosmosFactory _azureCosmos;
|
|
|
- private readonly DingDing _dingDing;
|
|
|
- private readonly AzureStorageFactory _azureStorage;
|
|
|
- private readonly AzureRedisFactory _azureRedis;
|
|
|
- private readonly AzureServiceBusFactory _serviceBus;
|
|
|
- private readonly Option _option;
|
|
|
- private readonly CoreAPIHttpService _coreAPIHttpService;
|
|
|
- private readonly IConfiguration _configuration;
|
|
|
- private readonly IConverter _converter;
|
|
|
- private readonly SnowflakeId _snowflakeId;
|
|
|
- private readonly HttpTrigger _httpTrigger;
|
|
|
- public ActiveTaskTopic(HttpTrigger httpTrigger, SnowflakeId snowflakeId, IConverter converter, CoreAPIHttpService coreAPIHttpService,
|
|
|
- AzureCosmosFactory azureCosmos, DingDing dingDing, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis,
|
|
|
- AzureServiceBusFactory serviceBus, IOptionsSnapshot<Option> option,
|
|
|
- IConfiguration configuration)
|
|
|
- {
|
|
|
- _azureCosmos = azureCosmos;
|
|
|
- _dingDing = dingDing;
|
|
|
- _azureStorage = azureStorage;
|
|
|
- _azureRedis = azureRedis;
|
|
|
- _serviceBus = serviceBus;
|
|
|
- _option = option?.Value;
|
|
|
- _configuration = configuration;
|
|
|
- _coreAPIHttpService = coreAPIHttpService;
|
|
|
- _converter = converter;
|
|
|
- _snowflakeId = snowflakeId;
|
|
|
- _httpTrigger = httpTrigger;
|
|
|
- }
|
|
|
- [Function("Exam")]
|
|
|
- public async Task ExamFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "exam", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var json = JsonDocument.Parse(msg);
|
|
|
- json.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- json.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- json.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- //Dictionary<string, object> keyValuePairs = mySbMsg.ToObject<Dictionary<string, object>>();
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- ExamInfo exam = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- exam.progress = progress.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(exam, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,ExamBus()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,ExamBus()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- [Function("Vote")]
|
|
|
- public async Task VoteFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "vote", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg);
|
|
|
- jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- Vote vote = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<Vote>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- vote.progress = progress.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(vote, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,VoteBus()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,VoteBus()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- [Function("Correct")]
|
|
|
- public async Task CorrectFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "correct", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg);
|
|
|
- jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- Correct correct = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<Correct>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- correct.progress = progress.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(correct, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Correct()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Correct()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- [Function("Survey")]
|
|
|
- public async Task SurveyFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "survey", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg);
|
|
|
- jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- //Dictionary<string, object> keyValuePairs = mySbMsg.ToObject<Dictionary<string, object>>();
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- Survey survey = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<Survey>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- survey.progress = progress.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(survey, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,SurveyBus()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,SurveyBus()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- }
|
|
|
- [Function("Homework")]
|
|
|
- public async Task HomeworkFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "homework", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg);
|
|
|
- jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- Homework homework = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<Homework>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- homework.progress = progress.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(homework, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Homework()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Homework()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- [Function("Study")]
|
|
|
- public async Task StudyFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "study", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- string activityId = string.Empty;
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg);
|
|
|
- jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- Study study = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<Study>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- study.progress = progress.ToString();
|
|
|
- activityId = id.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(study, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Study()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Study()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- [Function("Art")]
|
|
|
- public async Task ArtFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "art", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- string activityId = string.Empty;
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg);
|
|
|
- jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- ArtEvaluation art = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ArtEvaluation>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- art.progress = progress.ToString();
|
|
|
- activityId = id.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(art, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Art()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,Art()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- [Function("ExamLite")]
|
|
|
- public async Task ExamLiteFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "examlite", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg);
|
|
|
- jsonMsg.RootElement.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.RootElement.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.RootElement.TryGetProperty("code", out JsonElement code);
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- ExamLite lite = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamLite>(id.ToString(), new PartitionKey($"{code}"));
|
|
|
- lite.progress = progress.ToString();
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(lite, id.ToString(), new PartitionKey($"{code}"));
|
|
|
- }
|
|
|
- catch (CosmosException e)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,ExamLite()-CosmosDB异常{e.Message}\n{e.StackTrace}\n{e.Status}\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,ExamLite()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- [Function("LessonRecordExpire")]
|
|
|
- public async Task LessonRecordExpireFunc([ServiceBusTrigger("%Azure:ServiceBus:ActiveTask%", "lesson-record-expire", Connection = "Azure:ServiceBus:ConnectionString")] string msg)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var jsonMsg = JsonDocument.Parse(msg).RootElement;
|
|
|
- jsonMsg.TryGetProperty("id", out JsonElement id);
|
|
|
- jsonMsg.TryGetProperty("progress", out JsonElement progress);
|
|
|
- jsonMsg.TryGetProperty("code", out JsonElement _code);
|
|
|
- jsonMsg.TryGetProperty("tmdid", out JsonElement tmdid);
|
|
|
- jsonMsg.TryGetProperty("tmdname", out JsonElement tmdname);
|
|
|
- jsonMsg.TryGetProperty("name", out JsonElement name);
|
|
|
- jsonMsg.TryGetProperty("startTime", out JsonElement startTime);
|
|
|
- jsonMsg.TryGetProperty("expire", out JsonElement expire);
|
|
|
- jsonMsg.TryGetProperty("scope", out JsonElement scope);
|
|
|
- jsonMsg.TryGetProperty("school", out JsonElement _school);
|
|
|
- jsonMsg.TryGetProperty("tag", out JsonElement _tag);
|
|
|
- var client = _azureCosmos.GetCosmosClient();
|
|
|
- //处理到期删除
|
|
|
- if (_tag.ValueKind.Equals(JsonValueKind.String) && $"{_tag}".Equals("delete"))
|
|
|
- {
|
|
|
- string lessonId = $"{id}";
|
|
|
- string tbname;
|
|
|
- string school = $"{_school}";
|
|
|
- string code = "";
|
|
|
- if ($"{scope}".Equals("school") && !string.IsNullOrEmpty($"{school}"))
|
|
|
- {
|
|
|
- code = $"LessonRecord-{school}";
|
|
|
- tbname = "School";
|
|
|
- }
|
|
|
- else if ($"{scope}".Equals("private"))
|
|
|
- {
|
|
|
- code = $"LessonRecord";
|
|
|
- tbname = "Teacher";
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
- Azure.Response response = await client.GetContainer(Constant.TEAMModelOS, tbname).ReadItemStreamAsync(lessonId, new PartitionKey(code));
|
|
|
- if (response.Status == 200)
|
|
|
- {
|
|
|
- LessonRecord lessonRecord;
|
|
|
- var doc = JsonDocument.Parse(response.ContentStream);
|
|
|
- lessonRecord = doc.RootElement.ToObject<LessonRecord>();
|
|
|
- lessonRecord.status = 404;
|
|
|
- await client.GetContainer(Constant.TEAMModelOS, tbname).ReplaceItemAsync(lessonRecord, lessonRecord.id, new PartitionKey(lessonRecord.code));
|
|
|
- var ActiveTask = _configuration.GetValue<string>("Azure:ServiceBus:ActiveTask");
|
|
|
- var messageChange = new ServiceBusMessage(new { delete_id = lessonId, tmdid = tmdid, scope = scope, opt = "delete", school = school }.ToJsonString());
|
|
|
- messageChange.ApplicationProperties.Add("name", "LessonRecordEvent");
|
|
|
- await _serviceBus.GetServiceBusClient().SendMessageAsync(ActiveTask, messageChange);
|
|
|
- await _dingDing.SendBotMsg($"课例:【{lessonRecord.name}】\n课例ID:【{lessonRecord.id}】\n因时间到期,即将被自动删除,到期时间:" +
|
|
|
- $"{lessonRecord.expire}\n{lessonRecord.ToJsonString()}", GroupNames.成都开发測試群組);
|
|
|
- }
|
|
|
- }
|
|
|
- string biz = "expire";
|
|
|
- Teacher targetTeacher = await client.GetContainer(Constant.TEAMModelOS, Constant.Teacher).ReadItemAsync<Teacher>($"{tmdid}", new PartitionKey($"Base"));
|
|
|
- string expireTime = DateTimeOffset.FromUnixTimeMilliseconds(long.Parse($"{expire}")).ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
- _coreAPIHttpService.PushNotify(new List<IdNameCode> { new IdNameCode { id = targetTeacher.id, name = targetTeacher.name, code = targetTeacher.lang } }, "expire-private_lessonRecord", Constant.NotifyType_IES5_Course,
|
|
|
- new Dictionary<string, object> { { "tmdname", tmdname }, { "tmdid", tmdid }, { "lessonId", id }, { "expireTime", expireTime }, { "lessonName", name } }, $"{Environment.GetEnvironmentVariable("Option:Location")}", _configuration, _dingDing, "");
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-ServiceBus,LessonRecordExpire()\n{ex.Message}\n{ex.StackTrace}\n\n{msg}", GroupNames.醍摩豆服務運維群組);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-}
|