function srvc_book_description_4_code($code) { if (IS_BOOK_OK($code)) { return "OK"; } else { if ($code == BOOK_CODE_ERR_FULL) { return "该时段已经爆满了"; } else { if ($code == BOOK_CODE_ERR_INVALID) { return "无效请求"; } else { if ($code == BOOK_CODE_ERR_CORRUPT) { return "数据库挂了"; } else { if ($code == BOOK_CODE_ERR_DUP) { return "已预约过啦"; } else { if ($code == BOOK_CODE_ERR_BLOCK) { return "暂停营业,改个日子吧"; } else { // maybe BOOK_CODE_ERR_UNKNOWN return "内部错误"; } } } } } } }
function srvc_book_reserve($guid, $guest_num, $visit_date, $visit_slot_in_mins, $small_board, $medium_board, $large_board, &$trade_token) { $rticket = new ReservationTicket($guid, $guest_num, $visit_date, $visit_slot_in_mins, $small_board, $medium_board, $large_board); $trade_token = $rticket->trade_token; if (!$rticket->is_valid()) { return BOOK_CODE_ERR_INVALID; } $err = impl_book_do_reserve($rticket, srvc_book_max_per_slot()); if (IS_BOOK_OK($err)) { $subject = "[Too塗预约单]"; $subject .= srvc_book_rticket_to_string($rticket); email_send_to_many(array(TOO_WX_MAIL_ADMIN_Y, TOO_WX_MAIL_ADMIN_W), $subject, json_encode($rticket->to_array()), notify_email(TOO_HOST_URL)); } return $err; }
} 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;