Feat(booking): Added backtosg field
All checks were successful
ktm-booking-bot/ktm-booking-bot/pipeline/head This commit looks good

This commit is contained in:
2022-09-27 04:36:41 +08:00
parent 252dfbffd6
commit 51b539fe7a
7 changed files with 42 additions and 3 deletions

View File

@@ -167,12 +167,13 @@ func (env *Env) startBooking(job *Booking, username string, password string, cre
passport := job.Passport
passportExpiry := job.PassportExpiry.Format("2 Jan 2006")
contact := job.Contact
reverse := job.BackToSg
threadCount := 10
for i := 0; i < threadCount; i++ {
time.Sleep(time.Millisecond * 100)
go func() {
currPage := getBookingSlots(browser, onwardDate)
currPage := getBookingSlots(browser, onwardDate, reverse)
log.Println("Booking page loaded.")
currPage = selectBookingSlot(getBookingSlotCtx, currPage, timeCode)
@@ -272,7 +273,7 @@ func ktmTrainLogin(browser *rod.Browser, username string, password string) *rod.
return page
}
func getBookingSlots(browser *rod.Browser, onwardDate string) *rod.Page {
func getBookingSlots(browser *rod.Browser, onwardDate string, reverse bool) *rod.Page {
page := browser.MustPage("https://shuttleonline.ktmb.com.my/Home/Shuttle")
page.MustWaitLoad()
@@ -295,7 +296,11 @@ func getBookingSlots(browser *rod.Browser, onwardDate string) *rod.Page {
woodlandsData := page.MustElement("#ToStationData").MustAttribute("value")
woodlandsID := page.MustElement("#ToStationId").MustAttribute("value")
sensitiveCustomForm(page, *woodlandsData, *jBSentralData, *woodlandsID, *jBSentralID, onwardDate, passengerCountStr, *requestVerificationToken)
if !reverse {
sensitiveCustomForm(page, *woodlandsData, *jBSentralData, *woodlandsID, *jBSentralID, onwardDate, passengerCountStr, *requestVerificationToken)
} else {
sensitiveCustomForm(page, *jBSentralData, *woodlandsData, *jBSentralID, *woodlandsID, onwardDate, passengerCountStr, *requestVerificationToken)
}
page.MustWaitLoad()
return page