CrazyIter_Bin 3 سال پیش
والد
کامیت
e5bffa7541

+ 96 - 95
TEAMModelOS.FunctionV4/HttpTrigger/ScsYxptApis.cs

@@ -35,94 +35,7 @@ namespace TEAMModelOS.FunctionV4.HttpTrigger
             _azureRedis = azureRedis;
             _thirdApisService = thirdApisService;
         }
-        /// <summary>
-        /// 数据推送接口
-        /// </summary>
-        /// <param name="req"></param>
-        /// <param name="log"></param>
-        /// <returns></returns>
-        [Function("SchoolDataPush")]
-        public async Task<HttpResponseData> SchoolDataPush([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestData req)
-        {
-            var response = req.CreateResponse(HttpStatusCode.OK);
-            var client = _azureCosmos.GetCosmosClient();
-            string data = await new StreamReader(req.Body).ReadToEndAsync();
-            JsonElement accessConfig = data.ToObject<JsonElement>().GetProperty("accessConfig");
-            ScAccessConfig config = $"{accessConfig}".ToObject<ScAccessConfig>();
-            JsonElement school = data.ToObject<JsonElement>().GetProperty("school");
-            StringBuilder queryText = new StringBuilder($"SELECT distinct value(c) FROM c where c.type='yxtrain'");
-            List<GroupList> yxtrain = new List<GroupList>();
-            await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIterator<GroupList>(queryText: queryText.ToString(),
-            requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"GroupList-{school}") }))
-            {
-                yxtrain.Add(item);
-            }
-            List<TeacherTrain> trains = new List<TeacherTrain>();
-            var members = yxtrain.SelectMany(x => x.members).ToList();
-            if (members.IsNotEmpty())
-            {
-                queryText = new StringBuilder($"SELECT distinct value(c) FROM c where c.type='yxtrain' " +
-                    $"and  c.id in ({string.Join(",", members.Select(x => $"'{x.id}'"))}) ");
-                await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIterator<TeacherTrain>(queryText: queryText.ToString(),
-                requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"TeacherTrain-{school}") }))
-                {
-                    trains.Add(item);
-                }
-            }
-
-            string sql = $" SELECT value(c) FROM c join a in c.binds where ARRAY_LENGTH(c.binds)>0 and a.type='{config.config}' ";
-            List<Teacher> teachers = new List<Teacher>();
-            await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sql,
-                requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Base") }))
-            {
-                teachers.Add(item);
-            }
-            //5.3.1.12学员培训基本情况批量回写-UpdateTeacherListSituation
-            List<TeacherTrain> trains53112OK = new List<TeacherTrain>();
-
-            //5.3.1.13学员能力点测评结果批量回写-UpdateTeacherListDiagnosis
-            List<TeacherTrain> trains53113OK = new List<TeacherTrain>();
-
-            //5.3.1.17学员课堂实录批量回写-UploadKTSLList
-            List<TeacherTrain> trains53117OK = new List<TeacherTrain>();
-
-            //5.3.1.22学员校本教研PDF(每人可以返回多条)批量回写-UploadSBTARPDFListV2
-            List<TeacherTrain> trains53122OK = new List<TeacherTrain>();
-
-            List<KeyValuePair<TeacherTrain, string>> trainsNO = new List<KeyValuePair<TeacherTrain, string>>();
-            List<PushFail> fails = new List<PushFail>();
-            trains.ForEach(x => {
-                var teacher = teachers.Find(t => t.id.Equals(x.id));
-                if (teacher == null)
-                {
-                    fails.Add(new PushFail { tmdid = x.id, msgs = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("tmdid-unexistent", "账号不存在!") } });
-                }
-                else
-                {
-                    List<KeyValuePair<string, string>> msgs = new List<KeyValuePair<string, string>>();
-                    var binddata = teachers.Where(t => t.id.Equals(x.id)).SelectMany(z => z.binds)
-                        .Where(d => d.data.IsNotEmpty()).SelectMany(d => d.data)
-                        .Where(d => string.IsNullOrEmpty(d) && d.Contains(config.config) && d.Contains(config.path));
-                    if (binddata != null && binddata.Count() > 0)
-                    {
-                        var bindData = binddata.First().ToObject<ScBindData>();
-                        if (binddata != null)
-                        {
-                        }
-                        else
-                        {
-                            //如果没有找到绑定信息,则去blob查找。
-                        }
-                    }
-                    else
-                    {
-                        //如果没有找到绑定信息,则去blob查找。
-                    }
-                }
-            });
-            await response.WriteAsJsonAsync(new {  });
-            return response;
-        }
+        
         /// <summary>
         /// 5.3.1.1获取项目列表
         /// </summary>
@@ -512,13 +425,101 @@ namespace TEAMModelOS.FunctionV4.HttpTrigger
                 return response;
             }
         }
+        /// <summary>
+        /// 数据推送接口
+        /// </summary>
+        /// <param name="req"></param>
+        /// <param name="log"></param>
+        /// <returns></returns>
+        [Function("SchoolDataPush")]
+        public async Task<HttpResponseData> SchoolDataPush([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestData req)
+        {
+            var response = req.CreateResponse(HttpStatusCode.OK);
+            var client = _azureCosmos.GetCosmosClient();
+            string data = await new StreamReader(req.Body).ReadToEndAsync();
+            JsonElement accessConfig = data.ToObject<JsonElement>().GetProperty("accessConfig");
+            ScAccessConfig config = $"{accessConfig}".ToObject<ScAccessConfig>();
+            JsonElement school = data.ToObject<JsonElement>().GetProperty("school");
+            StringBuilder queryText = new StringBuilder($"SELECT distinct value(c) FROM c where c.type='yxtrain'");
+            List<GroupList> yxtrain = new List<GroupList>();
+            await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIterator<GroupList>(queryText: queryText.ToString(),
+            requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"GroupList-{school}") }))
+            {
+                yxtrain.Add(item);
+            }
+            List<TeacherTrain> trains = new List<TeacherTrain>();
+            var members = yxtrain.SelectMany(x => x.members).ToList();
+            if (members.IsNotEmpty())
+            {
+                queryText = new StringBuilder($"SELECT distinct value(c) FROM c where c.type='yxtrain' " +
+                    $"and  c.id in ({string.Join(",", members.Select(x => $"'{x.id}'"))}) ");
+                await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIterator<TeacherTrain>(queryText: queryText.ToString(),
+                requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"TeacherTrain-{school}") }))
+                {
+                    trains.Add(item);
+                }
+            }
+
+            string sql = $" SELECT value(c) FROM c join a in c.binds where ARRAY_LENGTH(c.binds)>0 and a.type='{config.config}' ";
+            List<Teacher> teachers = new List<Teacher>();
+            await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIterator<Teacher>(queryText: sql,
+                requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Base") }))
+            {
+                teachers.Add(item);
+            }
+            //5.3.1.12学员培训基本情况批量回写-UpdateTeacherListSituation
+            List<TeacherTrain> trains53112OK = new List<TeacherTrain>();
 
+            //5.3.1.13学员能力点测评结果批量回写-UpdateTeacherListDiagnosis
+            List<TeacherTrain> trains53113OK = new List<TeacherTrain>();
+
+            //5.3.1.17学员课堂实录批量回写-UploadKTSLList
+            List<TeacherTrain> trains53117OK = new List<TeacherTrain>();
+
+            //5.3.1.22学员校本教研PDF(每人可以返回多条)批量回写-UploadSBTARPDFListV2
+            List<TeacherTrain> trains53122OK = new List<TeacherTrain>();
+
+            List<KeyValuePair<TeacherTrain, string>> trainsNO = new List<KeyValuePair<TeacherTrain, string>>();
+            List<PushFail> fails = new List<PushFail>();
+            trains.ForEach(x => {
+                var teacher = teachers.Find(t => t.id.Equals(x.id));
+                if (teacher == null)
+                {
+                    fails.Add(new PushFail { tmdid = x.id, msgs = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("tmdid-unexistent", "账号不存在!") } });
+                }
+                else
+                {
+                    List<KeyValuePair<string, string>> msgs = new List<KeyValuePair<string, string>>();
+                    var binddata = teachers.Where(t => t.id.Equals(x.id)).SelectMany(z => z.binds)
+                        .Where(d => d.data.IsNotEmpty()).SelectMany(d => d.data)
+                        .Where(d => string.IsNullOrEmpty(d) && d.Contains(config.config) && d.Contains(config.path));
+                    if (binddata != null && binddata.Count() > 0)
+                    {
+                        var bindData = binddata.First().ToObject<ScBindData>();
+                        if (binddata != null)
+                        {
+                        }
+                        else
+                        {
+                            //如果没有找到绑定信息,则去blob查找。
+                        }
+                    }
+                    else
+                    {
+                        //如果没有找到绑定信息,则去blob查找。
+                    }
+                }
+            });
+            await response.WriteAsJsonAsync(new { });
+            return response;
+        }
         public (int t53112OK, List<KeyValuePair<string, string>> msgs) check53112(TeacherTrain teacherTrain, List<KeyValuePair<string, string>> msgs)
         {
             //校验 基本情况是否满足
             int t53112OK = 1;
             if (teacherTrain.finalScore < 0)
-            {
+            { 
+                //总体认定结果0、未认定  1、合格  2、优秀  3、不合格  4、其他
                 msgs.Add(new KeyValuePair<string, string>("finalScore", $"最终评定结果参数:{teacherTrain.finalScore}"));
                 t53112OK = 0;
             }
@@ -536,27 +537,27 @@ namespace TEAMModelOS.FunctionV4.HttpTrigger
             return (t53112OK, msgs);
         }
 
-        public (int t53112OK, List<KeyValuePair<string, string>> msgs) check53113(TeacherTrain teacherTrain, List<KeyValuePair<string, string>> msgs)
+        public (int t53113OK, List<KeyValuePair<string, string>> msgs) check53113(TeacherTrain teacherTrain, List<KeyValuePair<string, string>> msgs)
         {
             //校验 基本情况是否满足
-            int t53112OK = 1;
+            int t53113OK = 1;
             if (teacherTrain.finalScore < 0)
             {
                 msgs.Add(new KeyValuePair<string, string>("finalScore", $"最终评定结果参数:{teacherTrain.finalScore}"));
-                t53112OK = 0;
+                t53113OK = 0;
             }
             if (string.IsNullOrEmpty(teacherTrain.summary) || teacherTrain.summary.Length > 300)
             {
                 string msg = string.IsNullOrEmpty(teacherTrain.summary) ? "未填写" : teacherTrain.summary.Length > 300 ? "字数超过300." : "";
                 msgs.Add(new KeyValuePair<string, string>("summary", $"教师培训总结:{msg}"));
-                t53112OK = 0;
+                t53113OK = 0;
             }
             if (teacherTrain.totalTime <= 0)
             {
                 msgs.Add(new KeyValuePair<string, string>("totalTime", $"未获得学时:{teacherTrain.totalTime}"));
-                t53112OK = 0;
+                t53113OK = 0;
             }
-            return (t53112OK, msgs);
+            return (t53113OK, msgs);
         }
     }
 }

TEAMModelOS.FunctionV4/Properties/ServiceDependencies/teammodelos-func-v4-test - Zip Deploy/profile.arm.json → TEAMModelOS.FunctionV4/Properties/ServiceDependencies/teammodelosfunction-test - Zip Deploy/profile.arm.json