|
- <?php
- /*
- Author:XM
- Compeny:Spiders Travel
- */
- //酒店订单管理
- require_once __DIR__.'/../Common/Mysql.php';
- if (ALLOW_ORIGIN)
- header("Access-Control-Allow-Origin:*");
- $prod_id=isset($_POST['prod_id'])?$_POST['prod_id']:'';
- $prod_name=isset($_POST['prod_name'])?$_POST['prod_name']:'';
- $method=isset($_POST['method'])?$_POST['method']:'';
- $order_from=isset($_POST['order_from']) && !empty($_POST['order_from'])?$_POST['order_from']:0;
- $distributors=isset($_POST['distributors']) && !empty($_POST['distributors']) ?$_POST['distributors']:0;
- $out_order_id=isset($_POST['outside_order_id'])?$_POST['outside_order_id']:'';
- $arrive_latest_time=isset($_POST['arrive_latest_time'])?$_POST['arrive_latest_time']:'';
- $maxcount=isset($_POST['maxcount']) && !empty($_POST['maxcount'])?$_POST['maxcount']:0;
- $customer_name=isset($_POST['customer_name'])?$_POST['customer_name']:'';
- $customer_mobile=isset($_POST['customer_mobile'])?$_POST['customer_mobile']:0;
- $order_comment=isset($_POST['order_comment'])?$_POST['order_comment']:'';
- $order_id=isset($_POST['order_id']) && !empty($_POST['order_id']) ?$_POST['order_id']:0;
- if($order_from ==177 && ($distributors==0 || $out_order_id=='')){
- echo json_encode(array("errcode"=>2,"errinfo"=>"分销商或外部订单号参数不能为空"));
- exit;
- }
- if($maxcount>0){
- $prod_list='';
- $total_base_price=$total_mid_price=$total_order_price=$total_num= 0;
- $prod_description='';
- $check_in_date_array=array();
- for($i=0;$i<$maxcount;$i++){
- $check_in_date=isset($_POST['check_in_date_'.$i])?$_POST['check_in_date_'.$i]:'';
- if ($check_in_date !=''){
- $check_in_date_array[]=$check_in_date;
- }
- $run_id=isset($_POST['run_id_'.$i])?$_POST['run_id_'.$i]:0;
- $room_count=isset($_POST['room_count_'.$i])?$_POST['room_count_'.$i]:0;
- $base_price=isset($_POST['base_price_'.$i])?$_POST['base_price_'.$i]:0;
- $mid_price=isset($_POST['mid_price_'.$i])?$_POST['mid_price_'.$i]:0;
- $order_price=isset($_POST['order_price_'.$i])?$_POST['order_price_'.$i]:0;
- $t_base_price=$base_price*$room_count;
- $t_mid_price=$mid_price*$room_count;
- $t_order_price=$order_price*$room_count;
- $total_base_price+=$t_base_price;
- $total_mid_price+=$t_mid_price;
- $total_order_price+=$t_order_price;
- $total_num+=$room_count;
- $prod_description.=$prod_name.",".$check_in_date.",".$room_count."|";
- $prod_list.=$check_in_date."^".$run_id."^".$room_count."^".$base_price."^".$mid_price."^".$order_price."*";
- }
- $prod_list=rtrim($prod_list,"*");
- $prod_description=rtrim($prod_description,"|");
- }else{
- echo json_encode(array("errcode"=>3,"errinfo"=>"没有预定入住日期"));
- exit;
- }
- if ($method =='' || $customer_name=='' || $customer_mobile==0){
- echo json_encode(array("errcode"=>3,"errinfo"=>"客人信息或者method参数不能为空"));
- exit;
- }
- $para_org_list=$prod_id."^".$distributors."^".$out_order_id."^".($total_num+1)."^".$total_base_price."^".$total_mid_price."^".$total_order_price."^".$prod_description."^".$arrive_latest_time."^".min($check_in_date_array);
- $customer_list=$customer_name."^".$customer_mobile."^".$order_comment;
- $userid=getUserId();
- if ($userid ===false){
- echo json_encode(array("errcode"=>1,"errinfo"=>"用户未登录"));
- exit;
- }
-
- $pdo=conn();
- if(is_object($pdo)){
- if($method=='add'){
- $sql="CALL HT_SUBMIT_ORDER(".$userid.",'".$method."','".$para_org_list."','".$prod_list."','".$customer_list."',".$order_id.")";
- writeLog("hotel_submit_order.php HT_SUBMIT_ORDER()::sql".$sql);
- $result=$pdo->query($sql);
- $rowset=$result->fetchAll(PDO::FETCH_ASSOC);
- $result->closeCursor();
- writeLog("hotel_submit_order.php HT_SUBMIT_ORDER()::rowset".json_encode($rowset));
-
-
- if (is_array($rowset[0]) && $rowset[0]['code']==0){
- if (SEND_MESSAGE == true) {
- $order_id=$rowset[0]['global_order_id'];
- $rowset_order_status=145;
- $res_content=get_msg_info($order_id);
- $name=$res_content[0];
- $tel=$res_content[1];
- $content=$res_content[2];
- // $content = "单号:" . $order_id . ',订单状态变更为' . $order_status . "随机数" . rand(1, 10000);
- writeLog("短信模板内容:【" . $content . "】");
- $response = sendTelMessage($tel, $name, $content, $order_id);
- writeLog(json_encode($response));
- $send_success = (int)$response;
- $sql1 = "CALL HT_ADD_MSG_COMMENT(" . $userid . ",'addmsg'," . $order_id . ",0,'','" . $tel . "','" . $content . "','" . date("Y-m-d H:i:s") . "',{$send_success})";
- $result1 = $pdo -> query($sql1);
- $rowset1 = $result1 -> fetchAll(PDO::FETCH_ASSOC);
- $result1 -> closeCursor();
- writeLog("hotel_order_status.php HT_ADD_MSG_COMMENT()::" . $sql1);
-
-
- }
- $url= "http://".$_SERVER['HTTP_HOST']."/hotelOrderList.html";
- echo "<script>alert('下单成功');document.location.href='".$url."'</script>";
- //header("Location: $url");
- exit;
- }else{
- $url= "http://".$_SERVER['HTTP_HOST']."/hotelPlaceOrder.html?prod_id=".$prod_id;
- echo "<script>alert('下单失败');document.location.href='".$url."'</script>";
- exit;
- }
-
- }else if($method=='modify'){
- $sql="CALL HT_SUBMIT_ORDER(".$userid.",'".$method."','".$para_org_list."','".$prod_list."','".$customer_list."',".$order_id.")";
- writeLog("hotel_submit_order.php HT_SUBMIT_ORDER():: modify ::sql".$sql);
- $result=$pdo->query($sql);
- $rowset=$result->fetchAll(PDO::FETCH_ASSOC);
- $result->closeCursor();
- writeLog("hotel_submit_order.php HT_SUBMIT_ORDER():: modify :: rowset".json_encode($rowset));
-
-
- if (is_array($rowset[0]) && $rowset[0]['code']==0){
-
- if (SEND_MESSAGE == true) {
- $rowset_order_status=145;
- $res_content=get_msg_info($order_id);
- $name=$res_content[0];
- $tel=$res_content[1];
- $content=$res_content[2];
- // $content = "单号:" . $order_id . ',订单状态变更为' . $order_status . "随机数" . rand(1, 10000);
- writeLog("短信模板内容:【" . $content . "】");
- $response = sendTelMessage($tel, $name, $content, $order_id);
- writeLog(json_encode($response));
-
-
- }
- $url= "http://".$_SERVER['HTTP_HOST']."/hotelWaitConfirm.html?order_id=".$order_id;
- echo "<script>alert('修改成功');document.location.href='".$url."'</script>";
-
- //header("Location: $url");
- exit;
- }else{
- $url= "http://".$_SERVER['HTTP_HOST']."/hotelOrderList.html";
- echo "<script>alert('修改失败');alert('".$rowset[0]['info']."');document.location.href='".$url."'</script>";
- exit;
- }
- }
- }
- function get_msg_info($order_id) {
- $msg_sql = "CALL HT_GET_MESSAGE_TEMPLATE(" . $order_id . ");";
- writeLog($msg_sql);
- $msg_pdo = conn();
- $msg_result = $msg_pdo -> query($msg_sql);
- $msg_re_da = array();
- do {
- $msg_rowset = $msg_result -> fetchAll(PDO::FETCH_ASSOC);
- if ($msg_rowset) {
- $msg_re_da[] = $msg_rowset;
- }
- } while($msg_result->nextRowset());
- $data['code'] = "0";
- $data['info'] = "";
-
- if (!$msg_re_da) {
- $data['code'] = "-1";
- $data['info'] = "没有查询到结果";
- if (is_array($data)) {
- echo json_encode($data);
- exit();
- }
- }
- $data['message_info'] = isset($msg_re_da[1]) ? $msg_re_da[1] : array();
- if (!isset($msg_re_da[1])) {
- $data['code'] = "-1";
- $data['info'] = "失败";
- if (is_array($data)) {
- echo json_encode($data);
- exit();
- }
- }
- $data['days'] = $msg_re_da[0][0]['days'];
- $data['all_price'] = $msg_re_da[0][0]['all_price'];
- $data['message_info'] = $msg_re_da[1];
- writeLog("get_msg_info:::".json_encode($data));
- $json_obj = json_decode(json_encode($data), TRUE);
- $message_info = $json_obj['message_info'];
- //$msg_customer_name=$message_info[0]['customer_name'];//用户姓名
- $name = $message_info[0]['customer_name'];
- $tel = $message_info[0]['customer_mobile'];
- $order_status = $message_info[0]['order_status'];
- //入住日期-主订单的入住日期=子订单第一个的日期
- $check_in_date = $message_info[0]['check_in_date'];
-
- //产品名称-所有日期的产品名称相同
- $prod_name = $message_info[0]['prod_name'];
- $ht_rooms = $message_info[0]['ht_rooms'];
- //酒店间数 -1表示没有
- for ($i = 0, $m = count($message_info); $i < $m; $i++) {
- $tm_day = $message_info[$i]['ht_rooms'];
- if ($ht_rooms == $tm_day) {
- continue;
- } else {
- $ht_rooms = "-1";
- break;
- }
- }
-
- $days = $json_obj['days'];
- //预订天数
- $all_price = $json_obj['all_price'];
- //总价格
- $breakfast = $message_info[0]['breakfast'];
- //早餐
- for ($i = 0, $m = count($message_info); $i < $m; $i++) {
- $tm_breakfast = $message_info[$i]['breakfast'];
-
- if ($breakfast == $tm_breakfast) {
- continue;
- } else {
- $breakfast = "-1";
- break;
- }
- }
-
- $content = "";
- //判断order_status的值
- if ($order_status == "145") {//待支付
- $content = "{customer_name}预订的{check_in_date}{prod_name},{ht_rooms}间{days}晚,总价{order_price}({breakfast}),订单已生成,请尽快支付以免影响您的出行。";
- } else if ($order_status == "198") {//待确定
- $content = "已支付,待确认:{customer_name}预订的{check_in_date}{prod_name},{ht_rooms}间{days}晚,总价{order_price}({breakfast}),房间将在2小时内确认,请耐心等待确认信息。";
- } else if ($order_status == "199") {//待通知
- $content = "已确认:{customer_name}预订的{check_in_date}{prod_name},{ht_rooms}间{days}晚,总价{order_price}({breakfast}),已安排房间。";
- } else if ($order_status == "201") {//退改中
- $content = "{customer_name}预订的{check_in_date}{prod_name},{ht_rooms}间{days}晚,总价{order_price}({breakfast}),酒店方确认当日无房,正在安排退款,请耐心等待。联系客服:021-33280578。";
- } else if ($order_status == "238") {//已退单
- $content = "退款成功:{customer_name}预订的{check_in_date}{prod_name},{ht_rooms}间{days}晚,总价{order_price}({breakfast}),酒店方确认当日无房,已成功退款,请留意银行相关退款信息。联系客服:021-33280578。";
- } else if ($order_status == "148") {
- $content = "已取消:{customer_name}预订的{check_in_date}{prod_name},{ht_rooms}间{days}晚,总价{order_price}({breakfast}),已取消。联系客服:021-33280578。";
- } else {
- $content = "短信模板错误---严重错误:500当前状态".$order_status;
- writeLog($content);
- exit();
- }
- $content = str_replace("{customer_name}", $name, $content);
- $content = str_replace("{check_in_date}", $check_in_date, $content);
- $content = str_replace("{prod_name}", $prod_name, $content);
- //判断房间数是否该显示
- if ($ht_rooms != "-1") {
- $content = str_replace("{ht_rooms}", $ht_rooms, $content);
- } else {
- $content = str_replace("{ht_rooms}间", "", $content);
- }
- $content = str_replace("{days}", $days, $content);
- $content = str_replace("{order_price}", $all_price, $content);
- //判断早餐是否该显示
- if ($breakfast != "-1") {
- $content = str_replace("{breakfast}", $breakfast, $content);
- } else {
- $content = str_replace("({breakfast})", "", $content);
- }
- return array($name,$tel,$content);
- }
- exit;
|