根据SchoolCode查询专业列表
This commit is contained in:
parent
1b95f4a6c6
commit
fff2833d29
|
|
@ -31,9 +31,48 @@ func (ctrl *UserMajorController) RegisterRoutes(rg *gin.RouterGroup) {
|
||||||
// group.GET("/", ctrl.GetActive)
|
// group.GET("/", ctrl.GetActive)
|
||||||
// group.GET("/:id", ctrl.GetByID)
|
// group.GET("/:id", ctrl.GetByID)
|
||||||
group.GET("/list", ctrl.List)
|
group.GET("/list", ctrl.List)
|
||||||
|
group.GET("/list_by_school", ctrl.ListBySchool)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ListBySchool 获取当前院校下其他专业数据
|
||||||
|
// @Summary 获取当前院校下其他专业数据
|
||||||
|
// @Tags 用户专业
|
||||||
|
// @Param page query int false "页码" default(1)
|
||||||
|
// @Param size query int false "每页数量" default(10)
|
||||||
|
// @Param school_code query string true "院校代码"
|
||||||
|
// @Param probability query string false "录取概率类型(难录取/可冲击/较稳妥/可保底)" default("")
|
||||||
|
// @Success 200 {object} common.Response
|
||||||
|
// @Router /user/major/list_by_school [get]
|
||||||
|
func (ctrl *UserMajorController) ListBySchool(c *gin.Context) {
|
||||||
|
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
|
||||||
|
size, _ := strconv.Atoi(c.DefaultQuery("size", "10"))
|
||||||
|
schoolMajorQuery := yxDto.SchoolMajorQuery{
|
||||||
|
Page: page,
|
||||||
|
Size: size,
|
||||||
|
SchoolCode: c.Query("school_code"),
|
||||||
|
Probability: c.DefaultQuery("probability", ""),
|
||||||
|
LoginUserId: common.GetLoginUser(c).ID,
|
||||||
|
}
|
||||||
|
userScoreVO, err := ctrl.userScoreService.GetActiveByID(schoolMajorQuery.LoginUserId)
|
||||||
|
if err != nil {
|
||||||
|
common.Error(c, 500, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
schoolMajorQuery.UserScoreVO = userScoreVO
|
||||||
|
items, total, probCount, err := ctrl.yxCalculationMajorService.RecommendMajorList(schoolMajorQuery)
|
||||||
|
if err != nil {
|
||||||
|
common.Error(c, 500, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
newMap := map[string]interface{}{
|
||||||
|
"items": items,
|
||||||
|
"total": total,
|
||||||
|
"probCount": probCount,
|
||||||
|
}
|
||||||
|
common.SuccessPage(c, newMap, total, page, size)
|
||||||
|
}
|
||||||
|
|
||||||
// List 获取当前用户可检索列表
|
// List 获取当前用户可检索列表
|
||||||
// @Summary 获取当前用户可检索列表
|
// @Summary 获取当前用户可检索列表
|
||||||
// @Tags 用户专业
|
// @Tags 用户专业
|
||||||
|
|
@ -50,6 +89,7 @@ func (ctrl *UserMajorController) List(c *gin.Context) {
|
||||||
Keyword: c.DefaultQuery("keyword", ""),
|
Keyword: c.DefaultQuery("keyword", ""),
|
||||||
Page: page,
|
Page: page,
|
||||||
Size: size,
|
Size: size,
|
||||||
|
SchoolCode: c.Query("schoolCode"),
|
||||||
Batch: c.DefaultQuery("batch", ""),
|
Batch: c.DefaultQuery("batch", ""),
|
||||||
Probability: c.DefaultQuery("probability", ""),
|
Probability: c.DefaultQuery("probability", ""),
|
||||||
LoginUserId: common.GetLoginUser(c).ID,
|
LoginUserId: common.GetLoginUser(c).ID,
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@ type UserMajorDTO struct {
|
||||||
State string `json:"state"`
|
State string `json:"state"`
|
||||||
HistoryMajorEnrollMap map[string]YxHistoryMajorEnrollDTO `json:"historyMajorEnrollMap"`
|
HistoryMajorEnrollMap map[string]YxHistoryMajorEnrollDTO `json:"historyMajorEnrollMap"`
|
||||||
// 计算相关字段 (非数据库直接映射)
|
// 计算相关字段 (非数据库直接映射)
|
||||||
EnrollProbability float64 `json:"enrollProbability"` // 录取率
|
EnrollProbability float64 `json:"enrollProbability"` // 录取率
|
||||||
StudentScore float64 `json:"studentScore"` // 学生折合分
|
StudentScore float64 `json:"studentScore" gorm:"column:studentScore"` // 学生折合分
|
||||||
// PrivateStudentScore float64 `json:"privateStudentScore"` // 学生折合分(私有)
|
// PrivateStudentScore float64 `json:"privateStudentScore"` // 学生折合分(私有)
|
||||||
// StudentConvertedScore float64 `json:"studentConvertedScore"` // 学生折合分(转换后)
|
// StudentConvertedScore float64 `json:"studentConvertedScore"` // 学生折合分(转换后)
|
||||||
// FirstLevelDiscipline string `json:"firstLevelDiscipline"` // 一级学科 (需确认来源)
|
// FirstLevelDiscipline string `json:"firstLevelDiscipline"` // 一级学科 (需确认来源)
|
||||||
|
|
@ -112,4 +112,5 @@ type SchoolMajorQuery struct {
|
||||||
LoginUserId string `json:"loginUserId"` // 登录用户 ID
|
LoginUserId string `json:"loginUserId"` // 登录用户 ID
|
||||||
UserScoreVO userVO.UserScoreVO `json:"userScoreVO"` // 用户成绩 VO
|
UserScoreVO userVO.UserScoreVO `json:"userScoreVO"` // 用户成绩 VO
|
||||||
CalculationTableName string `json:"calculationTableName"` // 对应 calculation_table_name
|
CalculationTableName string `json:"calculationTableName"` // 对应 calculation_table_name
|
||||||
|
SchoolCode string `json:"schoolCode"` // 对应的 院校代码
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,10 @@ func (m *YxCalculationMajorMapper) FindRecommendList(query dto.SchoolMajorQuery)
|
||||||
baseSQL += " AND cm.score_id = ?"
|
baseSQL += " AND cm.score_id = ?"
|
||||||
params = append(params, query.UserScoreVO.ID)
|
params = append(params, query.UserScoreVO.ID)
|
||||||
}
|
}
|
||||||
|
if query.SchoolCode != "" {
|
||||||
|
baseSQL += " AND cm.school_code = ?"
|
||||||
|
params = append(params, query.SchoolCode)
|
||||||
|
}
|
||||||
if query.MajorType != "" {
|
if query.MajorType != "" {
|
||||||
baseSQL += " AND cm.major_type = ?"
|
baseSQL += " AND cm.major_type = ?"
|
||||||
params = append(params, query.MajorType)
|
params = append(params, query.MajorType)
|
||||||
|
|
@ -124,7 +128,7 @@ func (m *YxCalculationMajorMapper) FindRecommendList(query dto.SchoolMajorQuery)
|
||||||
cm.main_subjects,
|
cm.main_subjects,
|
||||||
cm.limitation,
|
cm.limitation,
|
||||||
cm.other_score_limitation,
|
cm.other_score_limitation,
|
||||||
s.province as province,
|
s.province,
|
||||||
s.school_nature,
|
s.school_nature,
|
||||||
s.institution_type
|
s.institution_type
|
||||||
FROM %s cm
|
FROM %s cm
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue