京师
This commit is contained in:
parent
9eab177eb2
commit
b82d051280
@ -12,6 +12,7 @@ using VOL.Business.IServices;
|
||||
using VOL.Business.IServices.Training;
|
||||
using VOL.Core.Filters;
|
||||
using VOL.Core.Utilities;
|
||||
using VOL.Entity.DomainModels;
|
||||
using VOL.Entity.Enum;
|
||||
using VOL.Model;
|
||||
using VOL.Model.HomeWork;
|
||||
@ -32,15 +33,16 @@ namespace VOL.WebApi.Controllers.JingShiTiJiao
|
||||
|
||||
private readonly IS_HomeWorkService _homeWorkService;
|
||||
private readonly IJingShiTiJiaoService _jingShiTiJiaoService;
|
||||
|
||||
|
||||
private readonly II_TrainingDataService _trainingDataService;
|
||||
|
||||
private readonly S_StudentRepository _studentRepository;
|
||||
public JingShiTiJiaoController(
|
||||
IS_HomeWorkService homeWorkService, II_TrainingDataService trainingDataService,IJingShiTiJiaoService jingShiTiJiaoService)
|
||||
IS_HomeWorkService homeWorkService, II_TrainingDataService trainingDataService,IJingShiTiJiaoService jingShiTiJiaoService, S_StudentRepository studentRepository)
|
||||
{
|
||||
_homeWorkService = homeWorkService;
|
||||
_trainingDataService = trainingDataService;
|
||||
_jingShiTiJiaoService = jingShiTiJiaoService;
|
||||
_studentRepository = studentRepository;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -129,25 +131,37 @@ namespace VOL.WebApi.Controllers.JingShiTiJiao
|
||||
if (string.IsNullOrWhiteSpace(schoolCode))
|
||||
return new List<GradeNameModel>();
|
||||
|
||||
// 1️⃣ 调用京师接口获取年级班级
|
||||
var schoolClass = await _jingShiTiJiaoService.GetClassBySchoolAsync(schoolCode);
|
||||
// 1️⃣ 从数据库读取年级
|
||||
var grades = await _studentRepository.DbContext.Set<JS_Grade>()
|
||||
.Where(x => x.SchoolCode == schoolCode)
|
||||
.ToListAsync();
|
||||
|
||||
if (schoolClass == null || schoolClass.Grades == null || !schoolClass.Grades.Any())
|
||||
if (grades == null || !grades.Any())
|
||||
return new List<GradeNameModel>();
|
||||
|
||||
// 2️⃣ 将接口结果映射为 GradeNameModel
|
||||
var result = schoolClass.Grades.Select(g => new GradeNameModel
|
||||
// 2️⃣ 从数据库读取班级
|
||||
var allGradeNos = grades.Select(x => x.GradeNo).ToList();
|
||||
var classes = await _studentRepository.DbContext.Set<JS_Class>()
|
||||
.Where(x => x.SchoolCode == schoolCode && allGradeNos.Contains(x.GradeNo))
|
||||
.ToListAsync();
|
||||
|
||||
// 3️⃣ 按年级分组班级
|
||||
var result = grades.Select(g => new GradeNameModel
|
||||
{
|
||||
Id = 0, // 如果数据库中没有对应Id,可先填0或后续映射数据库Id
|
||||
Id = (int)g.Id,
|
||||
GradeName = g.GradeName,
|
||||
Class = g.Classes?.Select(c => new ClassNameModel
|
||||
Class = classes
|
||||
.Where(c => c.GradeNo == g.GradeNo)
|
||||
.Select(c => new ClassNameModel
|
||||
{
|
||||
Id = 0, // 同理,暂时填0
|
||||
Id = (int)c.Id,
|
||||
ClassName = c.ClassName
|
||||
}).ToList() ?? new List<ClassNameModel>()
|
||||
})
|
||||
.ToList()
|
||||
}).ToList();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user