根据批次 查询专业

This commit is contained in:
zhouwentao 2026-01-24 16:44:24 +08:00
parent 6b6389394e
commit e6efa896a1
4 changed files with 28 additions and 3 deletions

View File

@ -95,6 +95,7 @@ func (ctrl *UserMajorController) List(c *gin.Context) {
Size: size, Size: size,
SchoolCode: c.Query("schoolCode"), SchoolCode: c.Query("schoolCode"),
Batch: c.DefaultQuery("batch", ""), Batch: c.DefaultQuery("batch", ""),
Batch2: c.DefaultQuery("batch2", ""),
Probability: c.DefaultQuery("probability", ""), Probability: c.DefaultQuery("probability", ""),
LoginUserId: common.GetLoginUser(c).ID, LoginUserId: common.GetLoginUser(c).ID,
} }

View File

@ -103,6 +103,7 @@ type SchoolMajorQuery struct {
MajorType string `json:"majorType"` // 对应 major_type MajorType string `json:"majorType"` // 对应 major_type
Category string `json:"category"` // 对应 category Category string `json:"category"` // 对应 category
Batch string `json:"batch"` // 对应 批次 Batch string `json:"batch"` // 对应 批次
Batch2 string `json:"batch2"` // 对应 批次2
MajorTypeChildren []string `json:"majorTypeChildren"` // 对应 major_type_child in (...) MajorTypeChildren []string `json:"majorTypeChildren"` // 对应 major_type_child in (...)
MainSubjects string `json:"mainSubjects"` // 对应 main_subjects MainSubjects string `json:"mainSubjects"` // 对应 main_subjects
Probability string `json:"probability"` // 对应 录取概率类型 Probability string `json:"probability"` // 对应 录取概率类型

View File

@ -79,6 +79,12 @@ func (m *YxCalculationMajorMapper) FindRecommendList(query dto.SchoolMajorQuery)
params = append(params, v) params = append(params, v)
} }
} }
if "" != query.Batch {
baseSQL += " AND cm.batch = ?"
params = append(params, query.Batch)
}
if query.MainSubjects != "" { if query.MainSubjects != "" {
baseSQL += " AND cm.main_subjects = ?" baseSQL += " AND cm.main_subjects = ?"
params = append(params, query.MainSubjects) params = append(params, query.MainSubjects)
@ -238,7 +244,9 @@ func (m *YxCalculationMajorMapper) FindRecommendList(query dto.SchoolMajorQuery)
if queryErr != nil { if queryErr != nil {
return nil, 0, dto.ProbabilityCountDTO{}, fmt.Errorf("failed to query recommend major list: %w", queryErr) return nil, 0, dto.ProbabilityCountDTO{}, fmt.Errorf("failed to query recommend major list: %w", queryErr)
} }
if items == nil {
items = []dto.UserMajorDTO{}
}
return items, total, probCount, nil return items, total, probCount, nil
} }

View File

@ -25,9 +25,24 @@ func (s *YxCalculationMajorService) RecommendMajorList(schoolMajorQuery yxDto.Sc
if schoolMajorQuery.UserScoreVO.ProfessionalCategory == "" { if schoolMajorQuery.UserScoreVO.ProfessionalCategory == "" {
return nil, 0, dto.ProbabilityCountDTO{}, fmt.Errorf("专业类型错误") return nil, 0, dto.ProbabilityCountDTO{}, fmt.Errorf("专业类型错误")
} }
if schoolMajorQuery.Batch != "" {
schoolMajorQuery.Batch = strings.ReplaceAll(schoolMajorQuery.Batch, "批", "") // 根据批次类型设置批次 985/211/双一流 -> 提前批, 公办本科 -> 本科A段, 民办本科 -> 本科B段, 体育类 -> 本科
if schoolMajorQuery.Batch != "" && "本科提前" == schoolMajorQuery.Batch {
return []yxDto.UserMajorDTO{}, 0, dto.ProbabilityCountDTO{}, nil
} else if schoolMajorQuery.Batch != "" && "高职高专" != schoolMajorQuery.Batch {
if schoolMajorQuery.Batch2 == "双一流" {
schoolMajorQuery.Batch = "提前批"
} else if schoolMajorQuery.Batch2 == "公办本科" {
schoolMajorQuery.Batch = "本科A段"
} else if schoolMajorQuery.Batch2 == "民办本科" {
schoolMajorQuery.Batch = "本科B段"
} else if schoolMajorQuery.MajorType == "体育类" {
schoolMajorQuery.Batch = "本科"
} }
} else {
schoolMajorQuery.Batch = "高职高专"
}
// if len(schoolMajorQuery.MajorTypeChildren) > 0 && "高职高专" != schoolMajorQuery.Batch { // if len(schoolMajorQuery.MajorTypeChildren) > 0 && "高职高专" != schoolMajorQuery.Batch {
// if "表演类" == schoolMajorQuery.MajorType { // if "表演类" == schoolMajorQuery.MajorType {