123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529 |
- using Azure.Cosmos;
- using HTEXLib.COMM.Helpers;
- using HTEXLib.Helpers.ShapeHelpers;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Options;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Text;
- using System.Text.Json;
- using System.Threading.Tasks;
- using TEAMModelOS.SDK.Extension;
- using TEAMModelOS.SDK.Models;
- using TEAMModelOS.SDK.Models.Dtos;
- namespace TEAMModelOS.SDK.DI
- {
- public static class ScsStudyApisService
- {
-
-
- public static string Code { get; set; }
- // public static Dictionary<string, object> parameterMap = null;
- //private readonly IWebHostEnvironment _environment;
- //public bool check = true;
-
- //private readonly IConfiguration _configuration;
- // private readonly DI.DingDing _dingDing;
- //public readonly Option _option;
- //public ScsStudyApisService( DingDing dingDing, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, HttpClient httpClient, SnowflakeId snowflakeId)
- //{
-
- // _dingDing = dingDing;
- // _azureStorage = azureStorage;
- // _azureRedis = azureRedis;
- // _httpClient = httpClient;
- // //_environment = environment;
- // _snowflakeId = snowflakeId;
- // //_option = option?.Value;
- // //_configuration = configuration;
- // //_dingDing = dingDing;
- //}
- /// <summary>
- /// 5.3.1.1获取项目列表
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="_accessConfig"></param>
- /// <returns></returns>
- public static async Task<(int state,string json)> GetProjectInfoByTrainComIDV2(HttpClient _httpClient, DingDing _dingDing ,AzureStorageFactory _azureStorage ,string areaId, string accessConfig)
- {
- List<ScProject> projects = new();
- //var response = req.CreateResponse(HttpStatusCode.OK);
- //List<ScProject> projects = new List<ScProject>();
- //string data = await new StreamReader(req.Body).ReadToEndAsync();
- //JsonElement accessConfig = data.ToObject<JsonElement>().GetProperty("accessConfig");
- //ScAccessConfig config = $"{accessConfig}".ToObject<ScAccessConfig>();
- //string areaId = null;
- //if (data.ToObject<JsonElement>().TryGetProperty("areaId", out JsonElement _areaId))
- //{
- // areaId = $"{_areaId}";
- //}
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetProjectInfoByTrainComID";
- Dictionary<string, object> parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- ScsResult result = new() { bizcode = Code, title = "5.3.1.1获取项目列表" };
- try
- {
- result = await ThirdApisService.Post(_httpClient,config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- projects = result.content.ToObject<List<ScProject>>();
- }
-
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (200, projects.ToJsonString());
- }
- catch (Exception ex)
- {
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetProjectInfoByTrainComID\n{ex.Message}\n{ex.StackTrace}\n{result.ToJsonString()}\n{areaId}\n{accessConfig} \n", GroupNames.醍摩豆服務運維群組);
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (500, projects.ToJsonString());
- }
- }
- /// <summary>
- /// 5.3.1.1获取项目列表
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="_accessConfig"></param>
- /// <returns></returns>
- public static async Task<(int state, string json)> GetProjectInfoByTrainComID(HttpClient _httpClient, DingDing _dingDing, AzureStorageFactory _azureStorage, string areaId, string accessConfig)
- {
- List<ScProject> projects = new();
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetProjectInfoByTrainComID";
- Dictionary<string, object> parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- ScsResult result = new() { bizcode = Code, title = "5.3.1.1获取项目列表" };
- try
- {
- result = await ThirdApisService.Post(_httpClient,config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- projects = result.content.ToObject<List<ScProject>>();
- }
- else
- {
- }
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (200, projects.ToJsonString());
- }
- catch (Exception ex)
- {
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetProjectInfoByTrainComID\n{ex.Message}\n{ex.StackTrace}\n{result.ToJsonString()}\n{areaId}\n{accessConfig}\n", GroupNames.醍摩豆服務運維群組);
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (500, projects.ToJsonString());
- }
- }
- /// <summary>
- /// 5.3.1.18根据机构ID、项目ID、子项目ID返回学校列表
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="_accessConfig"></param>
- /// <returns></returns>
- public static async Task<(int state, string json)> GetSchoolList(HttpClient _httpClient, DingDing _dingDing,AzureStorageFactory _azureStorage, string areaId, string accessConfig)
- {
- List<ScSchool> scSchools = new();
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetSchoolList";
- Dictionary<string, object> parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- List<ScsResult> results = new();
- try
- {
- if (config.p.IsNotEmpty())
- {
- foreach (var ps in config.p)
- {
- if (ps.status == 1)
- {
- parameterMap["ProjectID"] = ps.pd;
- parameterMap["ProjectItemID"] = ps.pid;
- ScsResult result = new ScsResult { bizcode = Code, title = " 5.3.1.18根据机构ID、项目ID、子项目ID返回学校列表" };
- result = await ThirdApisService.Post(_httpClient,config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- List<ScSchool> schools = result.content.ToObject<List<ScSchool>>();
- if (schools.IsNotEmpty())
- {
- //schools.ForEach(x => { x.ProjectID = int.Parse(ps.pd); x.ProjectItemID = int.Parse(ps.pid); });
- scSchools.AddRange(schools);
- }
- }
- results.Add(result);
- }
- }
- }
- //await response.WriteAsJsonAsync(new { data = scSchools.ToJsonString() });
- return (200, scSchools.ToJsonString());
- }
- catch (Exception ex)
- {
- ScsProject project = null;
- var ps = config.p.FindAll(z => z.status == 1);
- if (ps.IsNotEmpty())
- {
- project = ps[0];
- }
- if (project != null)
- {
- var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
- scSchools = await table.FindListByDict<ScSchool>(new Dictionary<string, object> { { "PartitionKey", "ScSchool" }, { "ProjectID", int.Parse(project.pd) }, { "ProjectItemID", int.Parse(project.pid) } });
- if (scSchools.IsNotEmpty())
- {
- return (200, scSchools.ToJsonString());
- }
- else
- {
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetSchoolList\n{ex.Message}\n{ex.StackTrace}\n{results.ToJsonString()}\n{areaId}\n{accessConfig}\n", GroupNames.醍摩豆服務運維群組);
- return (500, scSchools.ToJsonString());
- }
- }
- else
- {
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetSchoolList\n{ex.Message}\n{ex.StackTrace}\n{results.ToJsonString()}\n{areaId}\n{accessConfig}\n", GroupNames.醍摩豆服務運維群組);
- return (500, scSchools.ToJsonString());
- }
- }
- }
- /// <summary>
- /// 5.3.1.2获取学员名单
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="accessConfig"></param>
- /// <returns></returns>
- public static async Task<(int state, string json)> GetTeachersListByProject(HttpClient _httpClient, DingDing _dingDing, AzureStorageFactory _azureStorage, string areaId, string accessConfig)
- {
- List<ScTeacher> scTeachers = new();
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetTeachersListByProject";
- var parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- List<ScsResult> results = new List<ScsResult>();
- try
- {
- if (config.p.IsNotEmpty())
- {
- foreach (var ps in config.p)
- {
- if (ps.status == 1)
- {
- parameterMap["ProjectID"] = ps.pd;
- parameterMap["ProjectItemID"] = ps.pid;
- ScsResult result = new ScsResult { bizcode = Code, title = "5.3.1.2获取学员名单" };
- result = await ThirdApisService.Post(_httpClient,config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- List<ScTeacher> teachers = result.content.ToObject<List<ScTeacher>>();
- if (teachers.IsNotEmpty())
- {
- scTeachers.AddRange(teachers);
- }
- }
- results.Add(result);
- }
- }
- }
- return (200, scTeachers.ToJsonString());
- }
- catch (Exception ex)
- {
- ScsProject project = null;
- var ps = config.p.FindAll(z => z.status == 1);
- if (ps .IsNotEmpty())
- {
- project = ps[0];
- }
- if (project != null)
- {
- var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
- scTeachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object> { { "PartitionKey", "ScTeacher" }, { "ProjectID", int.Parse(project.pd) }, { "ProjectItemID", int.Parse(project.pid) } });
- if (scTeachers.IsNotEmpty())
- {
- return (200, scTeachers.ToJsonString());
- }
- else
- {
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetTeachersListByProject\n{ex.Message}\n{ex.StackTrace}\n{results.ToJsonString()}\n", GroupNames.醍摩豆服務運維群組);
- return (500, scTeachers.ToJsonString());
- }
- }
- else
- {
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetTeachersListByProject\n{ex.Message}\n{ex.StackTrace}\n{results.ToJsonString()}\n", GroupNames.醍摩豆服務運維群組);
- return (500, scTeachers.ToJsonString());
- }
-
-
- }
- }
- /// <summary>
- /// 5.3.1.20获取学校设置的可选能力点
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="accessConfig"></param>
- /// <param name="schoolCode"></param>
- /// <returns></returns>
- public static async Task<(int state, string json)> GetSchoolDiagnosis(HttpClient _httpClient, DingDing _dingDing, AzureStorageFactory _azureStorage, string areaId, string accessConfig, string schoolCode)
- {
- List<ScsProjectDiagnosis> projects = new();
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetSchoolDiagnosis";
- var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
- Dictionary<string, object> parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- List<ScsResult> results = new List<ScsResult>();
- try
- {
- if (config.p.IsNotEmpty())
- {
- foreach (var ps in config.p)
- {
- if (ps.status == 1)
- {
- parameterMap["ProjectID"] = ps.pd;
- parameterMap["ProjectItemID"] = ps.pid;
- parameterMap["SchoolID"] = $"{schoolCode}";
- parameterMap["School"] = $"{schoolCode}";
- ScsResult result = new ScsResult { bizcode = Code, title = " 5.3.1.20获取学校设置的可选能力点" };
- result = await ThirdApisService.Post(_httpClient,config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- List<ScPDiagnosis> diagnoses = result.content.ToObject<List<ScPDiagnosis>>();
- if (diagnoses.IsNotEmpty())
- {
- projects.Add(new ScsProjectDiagnosis { project = ps, diagnoses = diagnoses, });
- await table.SaveOrUpdate<ScProjectDiagnosis>(new ScProjectDiagnosis
- {
- schoolCode = $"{schoolCode}",
- areaId = areaId,
- ProjectID = int.Parse(ps.pd),
- ProjectItemID = int.Parse(ps.pid),
- RowKey = $"{ps.pid}-{schoolCode}",
- PartitionKey = "ScSchoolDiagnosis",
- abilityNos = diagnoses.ToJsonString()
- });
- }
- }
- else
- {
- List<ScProjectDiagnosis> teacherDiagnoses = await table.FindListByDict<ScProjectDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScSchoolDiagnosis" }, { "RowKey", $"{ps.pid}-{schoolCode}" } });
- if (teacherDiagnoses.IsNotEmpty())
- {
- projects.Add(new ScsProjectDiagnosis { project = ps, diagnoses = teacherDiagnoses[0].abilityNos.ToObject<List<ScPDiagnosis>>() });
- }
- }
- results.Add(result);
- }
- }
- }
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (200,projects.ToJsonString());
- }
- catch (Exception ex)
- {
- //await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetSchoolDiagnosis\n{ex.Message}\n{ex.StackTrace}\n{results.ToJsonString()}\n{data}", GroupNames.醍摩豆服務運維群組);
- if (config.p.IsNotEmpty())
- {
- foreach (var ps in config.p)
- {
- List<ScProjectDiagnosis> teacherDiagnoses = await table.FindListByDict<ScProjectDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScSchoolDiagnosis" }, { "RowKey", $"{ps.pid}-{schoolCode}" } });
- if (teacherDiagnoses.IsNotEmpty())
- {
- projects.Add(new ScsProjectDiagnosis { project = ps, diagnoses = teacherDiagnoses[0].abilityNos.ToObject<List<ScPDiagnosis>>() });
- }
- }
- }
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (200,projects.ToJsonString());
- }
- }
- /// <summary>
- /// 5.3.1.19获取项目设置的可选能力点
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="accessConfig"></param>
- /// <returns></returns>
- public static async Task<(int state, string json)> GetProjectDiagnosis(HttpClient _httpClient, DingDing _dingDing, AzureStorageFactory _azureStorage, string areaId, string accessConfig)
- {
- List<ScsProjectDiagnosis> projects = new();
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetProjectDiagnosis";
- var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
- Dictionary<string, object> parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- List<ScsResult> results = new();
- try
- {
- if (config.p.IsNotEmpty())
- {
- foreach (var ps in config.p)
- {
- if (ps.status == 1)
- {
- parameterMap["ProjectID"] = ps.pd;
- parameterMap["ProjectItemID"] = ps.pid;
- ScsResult result = new ScsResult { bizcode = Code, title = "5.3.1.19获取项目设置的可选能力点" };
- result = await ThirdApisService.Post(_httpClient,config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- List<ScPDiagnosis> diagnoses = result.content.ToObject<List<ScPDiagnosis>>();
- if (diagnoses.IsNotEmpty())
- {
- projects.Add(new ScsProjectDiagnosis { project = ps, diagnoses = diagnoses });
- await table.SaveOrUpdate<ScProjectDiagnosis>(new ScProjectDiagnosis { areaId = areaId, RowKey = $"{ps.pid}", PartitionKey = "ScProjectDiagnosis", abilityNos = diagnoses.ToJsonString() });
- }
- }
- else
- {
- List<ScProjectDiagnosis> teacherDiagnoses = await table.FindListByDict<ScProjectDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScProjectDiagnosis" }, { "RowKey", $"{ps.pid}" } });
- if (teacherDiagnoses.IsNotEmpty())
- {
- projects.Add(new ScsProjectDiagnosis { project = ps, diagnoses = teacherDiagnoses[0].abilityNos.ToObject<List<ScPDiagnosis>>() });
- }
- }
- results.Add(result);
- }
- }
- }
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (200, projects.ToJsonString());
- }
- catch (Exception ex)
- {
- if (config.p.IsNotEmpty())
- {
- foreach (var ps in config.p)
- {
- //await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetProjectDiagnosis\n{ex.Message}\n{ex.StackTrace}\n{results.ToJsonString()}\n{data}", GroupNames.醍摩豆服務運維群組);
- List<ScProjectDiagnosis> teacherDiagnoses = await table.FindListByDict<ScProjectDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScProjectDiagnosis" }, { "RowKey", $"{ps.pid}" } });
- if (teacherDiagnoses.IsNotEmpty())
- {
- projects.Add(new ScsProjectDiagnosis { project = ps, diagnoses = teacherDiagnoses[0].abilityNos.ToObject<List<ScPDiagnosis>>() });
- }
- }
- }
- //await response.WriteAsJsonAsync(new { data = projects.ToJsonString() });
- return (200, projects.ToJsonString());
- }
- }
- /// <summary>
- /// 5.3.1.3通过项目编号获取学员测评能力项V2
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="accessConfig"></param>
- /// <param name="pxid"></param>
- /// <param name="schoolCode"></param>
- /// <returns></returns>
- public static async Task<(int state, string json)> GetDiagnosisListByProject_V2(HttpClient _httpClient, DingDing _dingDing, AzureStorageFactory _azureStorage, string areaId, string accessConfig, string pxid, string schoolCode)
- {
- List<string> abilityNos = new();
- var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
-
- try
- {
- List<ScTeacherDiagnosis> teacherDiagnoses = await table.FindListByDict<ScTeacherDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScTeacherDiagnosis" }, { "RowKey", $"{pxid}" } });
- if (teacherDiagnoses.IsNotEmpty())
- {
- abilityNos = teacherDiagnoses[0].abilityNos.ToObject<List<string>>();
- }
- else {
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetDiagnosisListByProject_V2";
- Dictionary<string, object> parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- parameterMap.Add("PXID", pxid);
- ScsResult result = new() { bizcode = Code, title = "5.3.1.3通过项目编号获取学员测评能力项V2" };
- result = await ThirdApisService.Post(_httpClient, config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- List<ScDiagnosis> diagnoses = result.content.ToObject<List<ScDiagnosis>>();
- if (diagnoses != null)
- {
- abilityNos = diagnoses.Select(x => x.DiagnosisDicNum).ToList();
- }
- if (abilityNos.IsNotEmpty())
- {
- await table.SaveOrUpdate<ScTeacherDiagnosis>(new ScTeacherDiagnosis { areaId = areaId, schoolCode = $"{schoolCode}", RowKey = $"{pxid}", PartitionKey = "ScTeacherDiagnosis", abilityNos = abilityNos.ToJsonString() });
- }
- }
- }
- return (200, abilityNos.ToJsonString());
- }
- catch (Exception ex)
- {
- //await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:getDiagnosisListByProject_V2\n{ex.Message}\n{ex.StackTrace}\n{result.ToJsonString()}\n{data}", GroupNames.醍摩豆服務運維群組);
- List<ScTeacherDiagnosis> teacherDiagnoses = await table.FindListByDict<ScTeacherDiagnosis>(new Dictionary<string, object> { { "PartitionKey", "ScTeacherDiagnosis" }, { "RowKey", $"{pxid}" } });
- if (teacherDiagnoses.IsNotEmpty())
- {
- abilityNos = teacherDiagnoses[0].abilityNos.ToObject<List<string>>();
- }
- //await response.WriteAsJsonAsync(new { data = abilityNos.ToJsonString() });
- return (200, abilityNos.ToJsonString());
- }
- }
- /// <summary>
- /// 5.3.1.11获取跳转学员信息,用于sso单点,后端验证。
- /// </summary>
- /// <param name="areaId"></param>
- /// <param name="accessConfig"></param>
- /// <param name="pxid"></param>
- /// <param name="tid"></param>
- /// <returns></returns>
- public static async Task<(int state, string json)> GetSingleTeacherByProject(HttpClient _httpClient, DingDing _dingDing, AzureStorageFactory _azureStorage, string accessConfig, string pxid, string tid )
- {
- string teacher = null;
- ScAccessConfig config = accessConfig.ToObject<JsonElement>().ToObject<ScAccessConfig>();
- Code = "GetSingleTeacherByProject";
- Dictionary<string, object> parameterMap = new Dictionary<string, object>();
- parameterMap.Add("TrainComID", config.trainComID);
- parameterMap.Add("Pxid", $"{pxid}");
- parameterMap.Add("Tid", $"{tid}");
- ScsResult result = new ScsResult { bizcode = Code, title = "5.3.1.11获取跳转学员信息,用于sso单点,后端验证。" };
- try
- {
- var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
- List<ScTeacher> teachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object> { { "PartitionKey", "ScTeacher" }, { "RowKey", $"{pxid}" } });
- if (teachers.IsNotEmpty())
- {
- teacher = teachers[0].ToJsonString();
- return (200, teacher);
- }
- else {
- result = await ThirdApisService.Post(_httpClient, config.url, Code, config.passKey, config.privateKey, parameterMap);
- if (result.result)
- {
- teacher = result.content;
- }
- return (200, teacher);
- }
- }
- catch (Exception ex)
- {
- await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")},IES5.ScApisService:GetSingleTeacherByProject\n{ex.Message}\n{ex.StackTrace}\n{result.ToJsonString()}\n", GroupNames.醍摩豆服務運維群組);
- return (500, teacher);
- }
- }
- }
- }
|