Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
499 changes: 1 addition & 498 deletions api/model/api/api.go

Large diffs are not rendered by default.

188 changes: 54 additions & 134 deletions api/model/model/model.go

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions api/pack/academic.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ func BuildScore(res *model.Score) *academicModel.Score {
Term: res.Term,
ExamType: res.ExamType,
ElectiveType: res.ElectiveType,
Classroom: res.Classroom,
}
}

Expand Down
1 change: 1 addition & 0 deletions idl/model.thrift
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ struct Score {
6: required string term // 学期
7: required string exam_type // 考试类型
8: required string elective_type // 选修类型
9: required string classroom // 上课地点
}

// 绩点排名
Expand Down
2 changes: 2 additions & 0 deletions internal/academic/pack/score.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ func BuildScores(data []*jwch.Mark) []*model.Score {
Term: data[i].Semester,
ExamType: data[i].ExamType,
ElectiveType: data[i].ElectiveType,
Classroom: data[i].Classroom,
}
}

Expand All @@ -68,6 +69,7 @@ func BuildScoresYjsy(data []*yjsy.Mark) []*model.Score {
Term: data[i].Semester,
ExamType: data[i].ExamType,
ElectiveType: data[i].ElectiveType,
Classroom: data[i].Classroom,
}
}

Expand Down
3 changes: 2 additions & 1 deletion internal/academic/service/get_scores.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ func (s *AcademicService) handleScoreChange(stuID string, scores []*jwch.Mark) (
if scores[i].Score != oldScores[i].Score {
// 尝试获取课程信息
courseHash := utils.GenerateCourseHash(scores[i].Name, scores[i].Semester, scores[i].Teacher,
scores[i].ElectiveType)
scores[i].ElectiveType, scores[i].Classroom)
existingCourse, err := s.db.Academic.GetCourseByHash(s.ctx, courseHash)
if err != nil {
return err
Expand All @@ -189,6 +189,7 @@ func (s *AcademicService) handleScoreChange(stuID string, scores []*jwch.Mark) (
Term: scores[i].Semester,
Teacher: scores[i].Teacher,
ElectiveType: scores[i].ElectiveType,
Classroom: scores[i].Classroom,
CourseHash: courseHash,
})
if err != nil {
Expand Down
51 changes: 51 additions & 0 deletions kitex_gen/model/k-model.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions kitex_gen/model/model.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pkg/db/model/academic.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ type CourseOffering struct {
Term string `json:"term"`
Teacher string `json:"teacher"`
ElectiveType string `json:"elective_type"`
Classroom string `json:"classroom"`
CourseHash string `json:"course_hash"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Expand Down
4 changes: 2 additions & 2 deletions pkg/utils/jwch.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func ParseJwchStuId(id string) string {
}

// GenerateCourseHash 生成课程的唯一哈希
func GenerateCourseHash(name, term, teacher, electiveType string) string {
input := strings.Join([]string{name, term, teacher, electiveType}, "|")
func GenerateCourseHash(name, term, teacher, electiveType, classroom string) string {
input := strings.Join([]string{name, term, teacher, electiveType, classroom}, "|")
return SHA256(input)
}
Loading