diff --git a/WeChatApplet/Services/Impl/HomeWorkService.cs b/WeChatApplet/Services/Impl/HomeWorkService.cs index 8136aaf..c4cba6b 100644 --- a/WeChatApplet/Services/Impl/HomeWorkService.cs +++ b/WeChatApplet/Services/Impl/HomeWorkService.cs @@ -132,24 +132,55 @@ namespace YD_WeChatApplet.Api.Services.Impl foreach (var student in homeWork.HomeWorkStudents) { + // ✅ 核心:student + homework 拍平成一个对象 + var flatObject = new + { + // ===== 学生信息 ===== + student.Id, + student.StudentNo, + student.StudentName, + student.Sex, + student.Age, + student.Photo, + student.Value, + student.WorkStatus, + + // ===== 作业信息(拍平)===== + HomeWorkId = homeWork.Id, + homeWork.WorkName, + homeWork.WorkText, + homeWork.WorkType, + homeWork.WorkTypeName, + homeWork.WorkModeType, + homeWork.WorkModeTypeName, + homeWork.Duration, + homeWork.Amount, + homeWork.GroupNumber, + homeWork.IsRepeat, + homeWork.StudentScope, + homeWork.StartTime, + homeWork.EndTime, + homeWork.CreateTime, + homeWork.TeacherId, + homeWork.TeacherNo, + homeWork.TeacherName, + homeWork.GradeId, + homeWork.GradeName, + homeWork.ClassId, + homeWork.ClassName + }; + var dto = new SportsDataPushDto { // 👉 每个学生一条 StudentNo = student.StudentNo, - SportsItem = AppSettings.JingShiTiJiao.SportsItem, SportsDate = homeWork.StartTime.ToString("yyyy-MM-dd"), SportsService = AppSettings.JingShiTiJiao.Channel, SportsScene = "addhomework", - // 👉 只序列化当前作业 + 当前学生 - SportsDetail = JsonConvert.SerializeObject( - student, - new JsonSerializerSettings - { - ReferenceLoopHandling = ReferenceLoopHandling.Ignore - } - ) + // 👉 拍平后的 JSON + SportsDetail = JsonConvert.SerializeObject(flatObject) }; pushList.Add(dto); @@ -179,7 +210,6 @@ namespace YD_WeChatApplet.Api.Services.Impl _logger.LogError(ex, "作业数据上传失败"); } }); - } /// diff --git a/WeChatApplet/SmartSportsEntitys/S_HomeWorkStudents.cs b/WeChatApplet/SmartSportsEntitys/S_HomeWorkStudents.cs index 04c73ad..b1168ac 100644 --- a/WeChatApplet/SmartSportsEntitys/S_HomeWorkStudents.cs +++ b/WeChatApplet/SmartSportsEntitys/S_HomeWorkStudents.cs @@ -101,7 +101,7 @@ namespace YD_WeChatApplet.Api.SmartSportsEntitys /// /// 导航属性 /// - [JsonIgnore] + //[JsonIgnore] public S_HomeWork HomeWork { get; set; } } }