39 lines
1.1 KiB
Go

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")
}