From 0bd2c24f9350f36401bde408180b8e22868676fa Mon Sep 17 00:00:00 2001 From: tanglong <842690096@qq.com> Date: Mon, 27 Apr 2026 16:02:21 +0800 Subject: [PATCH] tijiao --- .../Services/Impl/PatriarchService.cs | 77 ++++++------------- WeChatApplet/Services/Impl/TeacherService.cs | 7 ++ WeChatApplet/appsettings.json | 8 +- .../StudentClassRoomReportDto.cs | 7 +- .../Dto/Patriarch/StudentReportDto.cs | 5 ++ 5 files changed, 45 insertions(+), 59 deletions(-) diff --git a/WeChatApplet/Services/Impl/PatriarchService.cs b/WeChatApplet/Services/Impl/PatriarchService.cs index 4792471..4eeecbb 100644 --- a/WeChatApplet/Services/Impl/PatriarchService.cs +++ b/WeChatApplet/Services/Impl/PatriarchService.cs @@ -203,68 +203,37 @@ namespace YD_WeChatApplet.Api.Services.Impl if (student == null) return res; - var classInfo = await _sportsContext.Class.FirstOrDefaultAsync(x => x.Id == student.ClassId); + var grade = await _sportsContext.SportsTestValue.Where(x => x.IsDisplay && x.SchoolCode == student.SchoolCode && x.StudentNo == studentNo).Select(x => new + { + x.ScoreTime, + x.GradeId - if (classInfo == null) + }).OrderByDescending(x => x.ScoreTime).FirstOrDefaultAsync(); + + if (grade == null) return res; - var categorys = new List - { - new + var categorys = await ( + from g in _sportsContext.GradeAssocCategory + join s in _sportsContext.SportsTestCategory on g.CategoryValue equals s.CategoryValue + + where g.GradeId == grade.GradeId + + select new { - Id = 1, - CategoryValue = 1, - CategoryName = "BMI", - CategoryEnum = "BMI", - Weight = 0.15f - }, - new - { - Id = 2, - CategoryValue = 2, - CategoryName = "肺活量", - CategoryEnum = "VitalCapacity", - Weight = 0.2f - }, - new - { - Id = 4, - CategoryValue = 4, - CategoryName = "坐位体前屈", - CategoryEnum = "Sit_And_Reach", - Weight = 0.15f - }, - new - { - Id = 5, - CategoryValue = 5, - CategoryName = "一分钟跳绳", - CategoryEnum = "OneMinuteJumpRope", - Weight = 0.2f - }, - new - { - Id = 6, - CategoryValue = 6, - CategoryName = "一分钟仰卧起坐", - CategoryEnum = "One_Minute_Sit_Up", - Weight = 0.15f - }, - new - { - Id = 8, - CategoryValue = 6, - CategoryName = "立定跳远", - CategoryEnum = "StandingLongJump", - Weight = 0.15f - } - }; + s.Id, + s.CategoryEnum, + s.CategoryValue, + s.CategoryName, + g.Weight + }).ToListAsync(); var sportsTestResults = await _sportsContext.SportsTestValue.Where(x => x.IsDisplay && x.SchoolCode == student.SchoolCode).Select(x => new SportsTestValueModel() { StudentNo = x.StudentNo, Value = x.Value, Score = x.Score, + Rank = x.Rank, AdditionalScore = x.AdditionalScore, CategoryValue = x.CategoryValue, ScoreTime = x.ScoreTime @@ -305,7 +274,7 @@ namespace YD_WeChatApplet.Api.Services.Impl var trendChart = new ScoreTrendChartDataDto { AxisX = trendList.Select(x => x.ScoreTime.ToString("yyyy-MM-dd")).ToList(), - AxisY = trendList.Select(x => x.Score ?? 0f).ToList() + AxisY = trendList.Select(x => x.Value ?? 0f).ToList() }; res.CategoryScoreList.Add(new CategoryScoreDto() @@ -313,6 +282,8 @@ namespace YD_WeChatApplet.Api.Services.Impl CategoryValue = item.CategoryValue, Name = item.CategoryName, + Rank = lastResult?.Rank, + PrevScore = prevResult?.Score ?? 0, LastScore = lastResult?.Score ?? 0, diff --git a/WeChatApplet/Services/Impl/TeacherService.cs b/WeChatApplet/Services/Impl/TeacherService.cs index d8a1bd0..8133f07 100644 --- a/WeChatApplet/Services/Impl/TeacherService.cs +++ b/WeChatApplet/Services/Impl/TeacherService.cs @@ -481,6 +481,13 @@ namespace YD_WeChatApplet.Services if (string.IsNullOrWhiteSpace(studentNo) || studentNo == "0") studentNo = UserLoginContext.Current.UserNo; + var student = await _sportsContext.Student.FirstOrDefaultAsync(x => x.StudentNo == studentNo); + + if (student == null) + throw new Exception($"未找到学生信息:{studentNo}"); + + res.Age = student.Age; + // 构建心跳数据查询 IQueryable heartRateQuery = _sportsContext.Ai_HeartRateData; diff --git a/WeChatApplet/appsettings.json b/WeChatApplet/appsettings.json index 8d491f6..61a8885 100644 --- a/WeChatApplet/appsettings.json +++ b/WeChatApplet/appsettings.json @@ -28,11 +28,11 @@ "RedisConnectionString": "8.153.108.90,Password=yd708090,SyncTimeout=15000,defaultDatabase=4", - "DbConnectionString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=YD_WeChatAppletDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;", - "SmartSportsString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=SmartSportsServerDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;", + //"DbConnectionString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=YD_WeChatAppletDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;", + //"SmartSportsString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=SmartSportsServerDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;", - //"DbConnectionString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=YD_WeChatAppletDB;User ID=yd;Password=Admin@123456;Connect Timeout=500;", - //"SmartSportsString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=SmartSportsServerDB;User ID=yd;Password=Admin@123456;Connect Timeout=500;", + "DbConnectionString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=YD_WeChatAppletDB;User ID=yd;Password=Admin@123456;Connect Timeout=500;", + "SmartSportsString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=SmartSportsServerDB;User ID=yd;Password=Admin@123456;Connect Timeout=500;", "CorsUrls": "http://localhost:8081,http://localhost:8080,http://localhost:7080,http://localhost:9980,http://127.0.0.1:9993,http://localhost:9993", "WeChat": { diff --git a/YD_WeChatApplet.Commons/Dto/ClassRoomRecord/StudentClassRoomReportDto.cs b/YD_WeChatApplet.Commons/Dto/ClassRoomRecord/StudentClassRoomReportDto.cs index a65c4d0..ead9d70 100644 --- a/YD_WeChatApplet.Commons/Dto/ClassRoomRecord/StudentClassRoomReportDto.cs +++ b/YD_WeChatApplet.Commons/Dto/ClassRoomRecord/StudentClassRoomReportDto.cs @@ -11,6 +11,11 @@ namespace YD_WeChatApplet.Commons.Dto.ClassRoomRecord /// public class StudentClassRoomReportDto { + /// + /// 年龄 + /// + public int Age { get; set; } + /// /// 最大心率 /// @@ -31,13 +36,11 @@ namespace YD_WeChatApplet.Commons.Dto.ClassRoomRecord /// public int HighIntensity { get; set; } - /// /// 中高强度时长占比 /// public double HighIntensityDurationRatio { get; set; } - /// /// 总个数 /// diff --git a/YD_WeChatApplet.Commons/Dto/Patriarch/StudentReportDto.cs b/YD_WeChatApplet.Commons/Dto/Patriarch/StudentReportDto.cs index a88f358..3cb196b 100644 --- a/YD_WeChatApplet.Commons/Dto/Patriarch/StudentReportDto.cs +++ b/YD_WeChatApplet.Commons/Dto/Patriarch/StudentReportDto.cs @@ -62,6 +62,11 @@ namespace YD_WeChatApplet.Commons.Dto.Patriarch /// public string ImgUrl { get; set; } + /// + /// 等级 + /// + public string Rank { get; set; } + /// /// 成绩趋势图 ///