package main import ( "log" "os" "job-cheng-xing/handler" "job-cheng-xing/repository" "job-cheng-xing/service" "github.com/gin-gonic/gin" ) func getRepository() repository.OrderRepository { if os.Getenv("STORAGE") == "sqlite" { dbPath := os.Getenv("SQLITE_PATH") if dbPath == "" { dbPath = "./orders.db" } repo, err := repository.NewSQLiteRepo(dbPath) if err != nil { log.Fatalf("SQLite 初始化失败: %v", err) } log.Printf("使用 SQLite 存储: %s", dbPath) return repo } log.Println("使用内存存储") return repository.NewMemoryRepo() } func main() { repo := getRepository() svc := service.NewOrderService(repo) h := handler.NewOrderHandler(svc) r := gin.Default() r.POST("/orders", h.CreateOrder) r.PUT("/orders/:id/accept", h.AcceptOrder) r.PUT("/orders/:id/cancel", h.CancelOrder) log.Println("订单服务启动在 :8080") if err := r.Run(":8080"); err != nil { log.Fatalf("启动失败: %v", err) } }