package main import ( "chatapp-cron/internal/config" "chatapp-cron/internal/integration" "chatapp-cron/internal/repo" "chatapp-cron/internal/service" "context" "log" "time" ) func main() { cfg := config.Load() repository, err := repo.New(cfg) if err != nil { log.Fatalf("init repository failed: %v", err) } ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) defer cancel() if err := repository.Ping(ctx); err != nil { log.Fatalf("ping dependencies failed: %v", err) } javaClient := integration.New(cfg) settlementService := service.NewWeekStarSettlementService(cfg, repository, javaClient) roomTurnoverRewardService := service.NewRoomTurnoverRewardSettlementService(cfg, repository, javaClient) if err := settlementService.SettleDueCycles(ctx); err != nil { log.Fatalf("settle due cycles failed: %v", err) } if err := roomTurnoverRewardService.SettleDueCycles(ctx); err != nil { log.Fatalf("settle room turnover reward due cycles failed: %v", err) } log.Printf("week-star and room-turnover-reward settle once finished") }