/
srvc_book.php
115 lines (100 loc) · 3.15 KB
/
srvc_book.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
require_once "wx_dev.php";
utils_init();
require_once "srvc_book_abstract.php";
// trace the visitor
log_visitor_info();
// main
{
$err = BOOK_CODE_OK;
$result_arr = array();
$result_json_str = json_encode($result_arr);
$trade_token = "";
// GET param ==> function
$action = array_string4key($_GET, "action");
if ($action == "reserve")
{
$phone = array_string4key($_GET, "phone");
$wx_id = array_string4key($_GET, "wx_id");
$guid = null;
if ($phone != null)
{
$guid = new GuestUID($phone, TYPE_GUID_PHONE);
}
else if ($wx_id != null)
{
$guid = new GuestUID($wx_id, TYPE_GUID_WX_ID);
}
if ($guid == null || !$guid->is_valid())
{
$err = BOOK_CODE_ERR_INVALID;
goto ERROR;
}
// wx-openid is required
$oid = array_string4key($_GET, "oid");
$guid->oid = $oid;
$guest_num = array_number4key($_GET, "gnum");
$visit_date = array_number4key($_GET, "vdate");
$visit_mins_slot = array_number4key($_GET, "vmins");
$small_board = array_number4key($_GET, "small_b");
$medium_board = array_number4key($_GET, "medium_b");
$large_board = array_number4key($_GET, "large_b");
$err = srvc_book_reserve($guid,
$guest_num,
$visit_date,
$visit_mins_slot,
$small_board,
$medium_board,
$large_board,
$trade_token);
}
else if ($action == "query_schedule")
{
// by default, query the reservations for the next 2 weeks
$err = srvc_book_query_schedule(7 * 2, $result_arr);
}
else if ($action == "block")
{
$visit_date = array_number4key($_GET, "vdate");
$err = srvc_book_block($visit_date);
}
else if ($action == "unblock")
{
$visit_date = array_number4key($_GET, "vdate");
$err = srvc_book_unblock($visit_date);
}
else if ($action == "query_block")
{
$err = srvc_book_query_block(7 * 4, $result_arr);
}
else if ($action == "blockts")
{
$visit_date = array_number4key($_GET, "vdate");
$visit_ts = array_number4key($_GET, "ts");
$err = srvc_book_block_timeslot($visit_date,$visit_ts);
}
else if ($action == "unblockts")
{
$visit_date = array_number4key($_GET, "vdate");
$visit_ts = array_number4key($_GET, "ts");
$err = srvc_book_unblock_timeslot($visit_date,$visit_ts);
}
else
{
// NO_IMPL
$err = BOOK_CODE_ERR_INVALID;
}
if (!IS_BOOK_OK($err))
{
$trade_token = "";
goto ERROR;
}
DONE:
$err = BOOK_CODE_OK;
$result_json_str = json_encode($result_arr);
ERROR:
$desc = srvc_book_description_4_code($err);
echo "{ \"ERROR\" : $err, \"DESC\" : \"$desc\", \"TTOKEN\" : \"$trade_token\", \"RESULT\" : $result_json_str }";
exit;
}
?>