diff --git a/VOL.Ai/Services/AiAppService.cs b/VOL.Ai/Services/AiAppService.cs index 6539791..74fe68e 100644 --- a/VOL.Ai/Services/AiAppService.cs +++ b/VOL.Ai/Services/AiAppService.cs @@ -909,28 +909,37 @@ namespace VOL.Ai.Services heartRateDatas = heartRateDatas.Where(data => data.Value != 0).ToList(); var classIds = paramDto.Datas.Select(x => x.ClassId).ToList(); - var classList = await _classRepository.FindAsync(x => x.SchoolCode == paramDto.SchoolCode && classIds.Contains(x.Id)); + var classList = await _classRepository.FindAsIQueryable(x => x.SchoolCode == paramDto.SchoolCode && classIds.Contains(x.Id)).ToListAsync(); var timeNow = DateTime.Now; + var classDict = classList.ToDictionary(x => x.Id, x => x); + heartRateDatas.ForEach(heartRateData => { - var classInfo = classList.Where(x => x.Id == heartRateData.ClassId).First(); - - heartRateData.Code = paramDto.Code; - heartRateData.SchoolCode = paramDto.SchoolCode; - heartRateData.ClassRoomRecordId = paramDto.ClassRoomRecordId; - heartRateData.ClassroomStageId = paramDto.ClassroomStageId; - heartRateData.TeacherId = paramDto.TeacherId; - heartRateData.GradeId = classInfo.GradeId; - heartRateData.GradeName = classInfo.GradeName; - heartRateData.ScoreTime = timeNow; - heartRateData.IsDisplay = true; - //HeartRateQueueData.Add(heartRateData); + if (classDict.TryGetValue(heartRateData.ClassId, out var classInfo)) + { + heartRateData.Code = paramDto.Code; + heartRateData.SchoolCode = paramDto.SchoolCode; + heartRateData.ClassRoomRecordId = paramDto.ClassRoomRecordId; + heartRateData.ClassroomStageId = paramDto.ClassroomStageId; + heartRateData.TeacherId = paramDto.TeacherId; + heartRateData.GradeId = classInfo.GradeId; + heartRateData.GradeName = classInfo.GradeName; + heartRateData.ScoreTime = timeNow; + heartRateData.IsDisplay = true; + } }); - await _heartRateDataRepository.AddRangeAsync(heartRateDatas); - await _heartRateDataRepository.SaveChangesAsync(); + try + { + await _heartRateDataRepository.AddRangeAsync(heartRateDatas); + await _heartRateDataRepository.SaveChangesAsync(); + } + catch (Exception e) + { + throw; + } } /// @@ -952,22 +961,24 @@ namespace VOL.Ai.Services var classIds = paramDto.Datas.Select(x => x.ClassId).ToList(); var classList = await _classRepository.FindAsync(x => x.SchoolCode == paramDto.SchoolCode && classIds.Contains(x.Id)); + var classDict = classList.ToDictionary(x => x.Id, x => x); fastJumpRopeDatas.ForEach(data => { - var classInfo = classList.Where(x => x.Id == data.ClassId).First(); - - data.Code = paramDto.Code; - data.SchoolCode = paramDto.SchoolCode; - data.ClassRoomRecordId = paramDto.ClassRoomRecordId; - data.GroupId = paramDto.GroupId; - data.TeacherId = paramDto.TeacherId; - data.GradeId = classInfo.GradeId; - data.GradeName = classInfo.GradeName; - data.ClassName = classInfo.ClassName; - data.ScoreTime = paramDto.ScoreTime; - data.ModeType = paramDto.ModeType; - data.ModelName = paramDto.ModeType.GetDescription(); - data.UniqueId = paramDto.UniqueId; + if (classDict.TryGetValue(data.ClassId, out var classInfo)) + { + data.Code = paramDto.Code; + data.SchoolCode = paramDto.SchoolCode; + data.ClassRoomRecordId = paramDto.ClassRoomRecordId; + data.GroupId = paramDto.GroupId; + data.TeacherId = paramDto.TeacherId; + data.GradeId = classInfo.GradeId; + data.GradeName = classInfo.GradeName; + data.ClassName = classInfo.ClassName; + data.ScoreTime = paramDto.ScoreTime; + data.ModeType = paramDto.ModeType; + data.ModelName = paramDto.ModeType.GetDescription(); + data.UniqueId = paramDto.UniqueId; + } }); await _fastJumpRopeDataRepository.AddRangeAsync(fastJumpRopeDatas); await _fastJumpRopeDataRepository.SaveChangesAsync(); diff --git a/VOL.WebApi/Startup.cs b/VOL.WebApi/Startup.cs index a3d8a79..ac947df 100644 --- a/VOL.WebApi/Startup.cs +++ b/VOL.WebApi/Startup.cs @@ -318,18 +318,18 @@ namespace VOL.WebApi //配置HttpContext app.UseStaticHttpContext(); - //app.UseSwagger(); - //app.UseSwaggerUI(c => - //{ - // //2个下拉框选项 选择对应的文档 - // //c.SwaggerEndpoint("/swagger/v1/swagger.json", "VOL.Core后台Api"); - // //c.SwaggerEndpoint("/swagger/v2/swagger.json", "测试第三方Api"); - // //c.SwaggerEndpoint("/swagger/v3/swagger.json", "SmartSportsServer-Api"); - // //c.SwaggerEndpoint("/swagger/v4/swagger.json", "物联网-Api"); - // //c.SwaggerEndpoint("/swagger/v5/swagger.json", "Ai-Api"); - // c.SwaggerEndpoint("/swagger/v6/swagger.json", "AiApp-Api"); - // c.RoutePrefix = ""; - //}); + app.UseSwagger(); + app.UseSwaggerUI(c => + { + //2个下拉框选项 选择对应的文档 + //c.SwaggerEndpoint("/swagger/v1/swagger.json", "VOL.Core后台Api"); + //c.SwaggerEndpoint("/swagger/v2/swagger.json", "测试第三方Api"); + //c.SwaggerEndpoint("/swagger/v3/swagger.json", "SmartSportsServer-Api"); + //c.SwaggerEndpoint("/swagger/v4/swagger.json", "物联网-Api"); + //c.SwaggerEndpoint("/swagger/v5/swagger.json", "Ai-Api"); + c.SwaggerEndpoint("/swagger/v6/swagger.json", "AiApp-Api"); + c.RoutePrefix = ""; + }); app.UseRouting(); app.UseCors();