2026-03-16 13:40:53 +08:00
|
|
|
package service
|
2026-03-16 13:15:56 +08:00
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"encoding/json"
|
|
|
|
|
"fmt"
|
|
|
|
|
"os"
|
2026-03-16 13:40:53 +08:00
|
|
|
|
|
|
|
|
"schedule_converter/models"
|
2026-03-16 13:15:56 +08:00
|
|
|
)
|
|
|
|
|
|
2026-03-16 13:40:53 +08:00
|
|
|
func SaveToJSON(courses []models.Course, filename string) error {
|
2026-03-16 13:15:56 +08:00
|
|
|
jsonData, err := json.MarshalIndent(courses, "", " ")
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
err = os.WriteFile(filename, jsonData, 0644)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fmt.Printf("[输出] JSON结果已保存到: %s\n", filename)
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-16 13:40:53 +08:00
|
|
|
func PrintCourses(courses []models.Course) {
|
2026-03-16 13:15:56 +08:00
|
|
|
fmt.Println("\n==================================================")
|
|
|
|
|
fmt.Println("识别结果:")
|
|
|
|
|
fmt.Println("==================================================")
|
|
|
|
|
for i, course := range courses {
|
|
|
|
|
fmt.Printf("\n课程 %d: %s\n", i+1, course.Name)
|
|
|
|
|
fmt.Printf(" 教师: %s\n", course.Teacher)
|
|
|
|
|
fmt.Printf(" 教室: %s\n", course.Room)
|
|
|
|
|
fmt.Printf(" 时间:")
|
|
|
|
|
for _, sch := range course.Schedule {
|
|
|
|
|
fmt.Printf(" %s %v 周%v", sch.Day, sch.Section, sch.Weeks)
|
|
|
|
|
}
|
|
|
|
|
fmt.Println()
|
|
|
|
|
}
|
|
|
|
|
fmt.Println("\n==================================================")
|
|
|
|
|
}
|