Skip to content

Commit

Permalink
feat: add reserve ticket request
Browse files Browse the repository at this point in the history
  • Loading branch information
Thungghuan committed Oct 8, 2022
1 parent f5731ee commit 553e50d
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 30 deletions.
36 changes: 18 additions & 18 deletions bus.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,23 +45,23 @@ def get_bus_list(self, start_campus, end_campus, date):

return result["list"]

def reserve_bus(self):
url = "{}/commuteOrder/submitTicket"

data = [
{
"ids": "17501,17502",
"dateDeparture": "2022/09/19",
"startDate": "07:10",
"endDate": "07:35",
"startLocation": "国际校区D5",
"downtown": "大学城校区音乐厅",
"tickets": 1,
"ischecked": True,
"subTickets": 1,
}
]

result = self.session.post(url, data).json()
def reserve_bus(self, tickets):
url = self.base_url + "/commuteOrder/submitTicket"

# data = [
# {
# "ids": "17501,17502",
# "dateDeparture": "2022/09/19",
# "startDate": "07:10",
# "endDate": "07:35",
# "startLocation": "国际校区D5",
# "downtown": "大学城校区音乐厅",
# "tickets": 1,
# "ischecked": True,
# "subTickets": 1,
# }
# ]

result = self.session.post(url, json=tickets).json()

return result
49 changes: 37 additions & 12 deletions cli/reserve.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,15 @@ def change_state(self, state: ReserveState):

case ReserveState.DATE:
self.set_date()

case ReserveState.TIME:
self.set_time()

case ReserveState.CONFIRM:
self.confirm_ticket()

case ReserveState.END:
print(self.ticket)
self.reserve_ticket()

def set_start_campus(self):
campus = ["广州国际校区", "大学城校区", "五山校区", "返回主菜单"]
Expand Down Expand Up @@ -121,17 +125,8 @@ def set_time(self):
)
)

choices = [
{"name": "是", "value": True},
{"name": "否", "value": False},
]
is_confirm = questionary.select("确认预定", choices=choices).ask()

if is_confirm:
self.ticket = bus_list[bus_idx]
self.change_state(ReserveState.END)
else:
self.change_state(ReserveState.TIME)
self.ticket = bus_list[bus_idx]
self.change_state(ReserveState.CONFIRM)

else:
print("{}已经没有校巴了".format(self.date))
Expand All @@ -146,3 +141,33 @@ def set_time(self):
self.change_state(ReserveState.DATE)
else:
self.change_state(ReserveState.END)

def confirm_ticket(self):
choices = [
{"name": "是", "value": True},
{"name": "否", "value": False},
]
is_confirm = questionary.select("确认预定", choices=choices).ask()

if is_confirm:
self.change_state(ReserveState.END)
else:
self.change_state(ReserveState.TIME)

def reserve_ticket(self):
tickets = [
{
**self.ticket,
"ischecked": True,
"subTickets": 1,
}
]

result = self.bus.reserve_bus(tickets)

if result["code"] == "200":
print("预定成功,请到小程序查看二维码上车")
else:
print("预约失败,请重试")
print("失败信息:{}".format(result["msg"]))
self.state = ReserveState.TIME

0 comments on commit 553e50d

Please sign in to comment.