39 lines
1.1 KiB
Go
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")
|
|
}
|