|
@@ -18,10 +18,10 @@ using TEAMModelOS.SDK;
|
|
|
using TEAMModelOS.SDK.DI;
|
|
|
using TEAMModelOS.SDK.Extension;
|
|
|
using TEAMModelOS.SDK.Models;
|
|
|
-using TEAMModelOS.SDK.Models.Cosmos.BI;
|
|
|
using TEAMModelOS.SDK.Models.Table;
|
|
|
using TEAMModelOS.SDK.Helper.Common.ReflectorExtensions;
|
|
|
using TEAMModelOS.SDK.Context.Constant;
|
|
|
+using TEAMModelOS.SDK.Models.Dtos;
|
|
|
|
|
|
namespace TEAMModelOS.Controllers
|
|
|
{
|
|
@@ -529,7 +529,46 @@ namespace TEAMModelOS.Controllers
|
|
|
/// <returns></returns>
|
|
|
public static async Task<ResponseData<dynamic>> GetTeacherTeach(AzureCosmosFactory _azureCosmos, DingDing _dingDing, string bizId, string school, JsonElement json) {
|
|
|
|
|
|
- return null;
|
|
|
+ try {
|
|
|
+ if (!json.TryGetProperty("tmdid", out JsonElement _tmdid)) {
|
|
|
+ json.TryGetProperty("period", out JsonElement _period);
|
|
|
+ List<OCourse> courses = new List<OCourse>();
|
|
|
+ var query = $"SELECT distinct c.code,c.id,c.no,c.name,c.period,c.subject,c.scope ,c['desc'] ,c.creatorId , c.year ,s as schedule FROM c join s in c.schedule where s.teacherId='{_tmdid}' ";
|
|
|
+ if (!string.IsNullOrWhiteSpace($"{_period}"))
|
|
|
+ {
|
|
|
+ query = $"{query} and c.period.id ='{_period}'";
|
|
|
+ }
|
|
|
+ await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIterator<OCourse>(queryText: query,
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Course-{school}") }))
|
|
|
+ {
|
|
|
+ courses.Add(item);
|
|
|
+ }
|
|
|
+ var group = courses.GroupBy(x => x.id).Select(g => new { key = g.Key, list=g.ToList() });
|
|
|
+ List<Course> coursesR = new List<Course>();
|
|
|
+ group.ToList().ForEach(x => {
|
|
|
+ var first = x.list.First();
|
|
|
+ coursesR.Add(new Course
|
|
|
+ {
|
|
|
+ id = x.key,
|
|
|
+ name = first.name,
|
|
|
+ code = first.code,
|
|
|
+ no = first.no,
|
|
|
+ period = first.period,
|
|
|
+ subject = first.subject,
|
|
|
+ desc = first.desc,
|
|
|
+ creatorId = first.creatorId,
|
|
|
+ year = first.year,
|
|
|
+ schedule = x.list.Select(x => x.schedule).ToList()
|
|
|
+ }); ;
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ } catch (Exception ex) {
|
|
|
+ await _dingDing.SendBotMsg($"OpenApi,{Environment.GetEnvironmentVariable("Option:Location")} OpenApiService/GetTeacherTeach() 参数:bizId:{bizId},school:{school},json:{json.ToJsonString()} \n {ex.Message}\n{ex.StackTrace}", GroupNames.成都开发測試群組);
|
|
|
+ return new ResponseData<dynamic>() { code = RespondCode.Error, msg = "服务器错误" };
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|