1,"iflogin"=>1, "info" => "未登录")); exit ; } $pdo_user = conn(); $sql_user = " SELECT STATUS,CANCEL_FLAG FROM base_user WHERE ID={$user_id} "; $result_user= $pdo_user->query($sql_user); $row_user = $result_user->fetchAll(PDO::FETCH_ASSOC); if( $row_user[0]["CANCEL_FLAG"] == 1 || $row_user[0]["STATUS"] == 1 ) { echo json_encode(array('code'=>1,'info'=>'该账号已被停用,请联系管理员并使用新分销系统'));exit(); exit ; } writeLog( json_encode($row_user)); $pdo= conn(); $ticket_info = $_POST['ticket_info']; $customer_info = $_POST['customer_info']; $run_id = $_POST['run_id']; $sql_time = "select run_date,run_time,prod_id from run_main where run_id =".$run_id; $result_time= $pdo->query($sql_time); $row_t = $result_time->fetchAll(PDO::FETCH_ASSOC); $run_date = $row_t[0]['run_date']; $run_time = $row_t[0]['run_time']; $prod_wu=array(448568,448569,/*448778,448779,*/448780,448781); $first_ticket_id = isset($_POST['first_ticket_id']) ? $_POST['first_ticket_id'] : false; if( $first_ticket_id != false ) { $sql_start_time = "select run_station.start_time from run_station left join run_prod ON run_prod.run_id = run_station.run_id AND run_station.STATION_RES_ID=run_prod.START_STATION_RES_ID where run_station.run_id = {$run_id} and run_prod.PROD_ID= {$first_ticket_id}"; $result_time2= $pdo->query($sql_start_time); $row_t2 = $result_time2->fetchAll(PDO::FETCH_ASSOC); $run_time = $row_t2[0]['start_time']; } if(strtotime($run_date.' '.$run_time)- time() < 300){ writeLog( "超出预定时间:{$run_date} {$run_time} |POST".json_encode($_POST) ); echo json_encode(array('code'=>1,'info'=>'预定时间已过,截至售卖时间为发车前5分钟'));exit(); } if(in_array($row_t[0]['prod_id'],$prod_wu)){ if(date('Y-m-d', time())>=$run_date){ echo json_encode(array('code'=>1,'info'=>'预定时间已过'));exit(); }elseif(date('Y-m-d', time()+24*60*60)==$run_date && date('H:i', time())>'10:01'){ echo json_encode(array('code'=>1,'info'=>'预定时间已过'));exit(); } } $channel_id = isset($_COOKIE['org_id']) ? $_COOKIE['org_id'] : 0; /** * 下订单必填信息 */ $channel_order_id = '0'; $salesman = '分销'; $pay_type = 275; //add by qius on 2017-05-09 $customer_info_temp = substr( $customer_info , 1, strlen($customer_info) -2 ); $customer_info_array = explode(",", $customer_info_temp); $customer_name = $customer_info_array[0]; $customer_mobile = $customer_info_array[1]; $passenger_txt = $customer_info_array[2]; $customer_info_str = "{{$customer_name},{$customer_mobile},,,$passenger_txt}"; $order_info_str = "{{$user_id},0,{$channel_id},,1,{$pay_type},1,{$salesman}}"; $prod_str = $ticket_info; $passenger_txt_array = explode("/", $passenger_txt ); $passenger_info_array = array(); foreach( $passenger_txt_array as $passenger_txt_tmp ) { $passenger_info_tmp = explode("*", $passenger_txt_tmp ); $passenger_info_ary[] = array( "passenger_name" => $passenger_info_tmp[0], "passenger_cardid" => $passenger_info_tmp[1] ); } $make_order_array = array( "action" => "submit_bus_order", "prod_str" => $prod_str, "order_info_str" => $order_info_str, "customer_info_str" => $customer_info_str, "is_send_msg" => 0, "passenger_info" => json_encode($passenger_info_ary) ); writeLog( "SFX PC LINE".__LINE__.":param=".json_encode($make_order_array) ); $rowset = httpRequest( MAKE_ORDER_URL, $make_order_array ); writeLog( "SFX PC LINE".__LINE__.":result=".json_encode($rowset) ); $make_order_result = json_decode($rowset, true); if( !isset($make_order_result["code"]) || $make_order_result["code"] != 0 ) { $return_msg = $make_order_result["info"]; if( isset($make_order_result["error"]) ) { $return_msg .= "({$make_order_result["error"]})"; } echo json_encode( array( 'code'=>1, 'info'=> $return_msg ) );die; } else { $order_id_group = $make_order_result['data']; $post_data['order_id'] = $order_id_group; $post_data['order_status'] = 451; httpRequest("http://cs.zhizhuchuxing.com/st-xm/Api/add_order_status_log.php",$post_data); } //end of add by qius on 2017-05-09 /* $sql = "call sp_make_order1(" . $user_id . ",'" . $ticket_info . "','" . $customer_info . "'," . $channel_id . ",'" . $channel_order_id . "','" . $salesman . "'," . $pay_type . ")"; writeLog( "SFX PC LINE".__LINE__.":sql=".$sql ); $result = $pdo -> query($sql); if(!$result){ echo json_encode(array('code'=>1,'info'=>'可售资源不足,下单失败'));die; } do { $rowset = $result->fetchAll(PDO::FETCH_ASSOC); $data_arr[] = $rowset;; } while ($result->nextRowset()); $result->closeCursor(); writeLog( "LINE".__LINE__.":data_arr=".json_encode($data_arr) ); if($data_arr[0][0]['errcode'] == 0){ $order_id_group = $data_arr[1][0]['order_id']; $post_data['order_id'] = $order_id_group; $post_data['order_status'] = 451; httpRequest("http://cs.zhizhuchuxing.com/st-xm/Api/add_order_status_log.php",$post_data); }else{ echo json_encode(array('code'=>1,'info'=>'可售资源不足'));die; } */ //修改book_status和支付状态 if($top_org_id == 0 || isset($_COOKIE['login_type'])){ $sql_pay = "update order_pay_detail set pay_type_id_1 =278 where pay_main_id in(".$order_id_group.")"; $pdo->exec($sql_pay); $sql_order_status = "update order_main set ORDER_BOOK_STATUS =1 where order_id in(".$order_id_group.") or parent_order_id in(".$order_id_group.")"; //$pdo->query($sql_order_status); }else{ $sql_order_status = "update order_main set order_status =146,ORDER_BOOK_STATUS =1 where order_id in(".$order_id_group.") or parent_order_id in(".$order_id_group.")"; $post_data['order_id'] = $order_id_group; $post_data['order_status'] = '452,453'; httpRequest("http://cs.zhizhuchuxing.com/st-xm/Api/add_order_status_log.php",$post_data); } $pdo->exec($sql_order_status); //取得订单渠道名称 $from_org_name = ""; $sql = " SELECT SUPPLIER_NAME FROM base_supplier WHERE ID={$channel_id} "; $sql = " SELECT ORG_NAME as SUPPLIER_NAME FROM base_organization WHERE ORG_ID={$channel_id} "; $result=$pdo->query($sql); if( $result != false ) { $rowset = $result->fetchAll(); $result->closeCursor(); if( $rowset != false && count($rowset) > 0 ) { $from_org_name = $rowset[0]["SUPPLIER_NAME"]; } } //判断票是否为往返 $order_id_arr = explode(',',$order_id_group); $go_order_id = $order_id_arr[0]; if(count($order_id_arr) > 1){ $back_order_id = $order_id_arr[1]; //订票成功写入 往返订单关系表 $sql_conn = "insert into to_from values(NULL,".$go_order_id.",".$back_order_id.",'". date('Y-m-d h:i:s', time())."')"; $pdo->exec($sql_conn); }else{ $back_order_id = '0'; } if($top_org_id!=0 && !isset($_COOKIE['login_type'])){ send_msg($go_order_id); if($back_order_id != '0'){ send_msg($back_order_id); } } $data['code'] = '0'; $data['info'] = '下单成功'; $sql = "select a.order_id,a.order_price,a.order_pay_main_id,a.customer_name,a.customer_mobile,a.customer_id_no,a.customer_memo, count(b.order_id) as num,b.PROD_START_STATION_DATE as run_date,b.PROD_START_STATION_TIME as run_time,b.PROD_START_STATION_AREA_NAME AS start_area,b.PROD_END_STATION_AREA_NAME AS end_area,b.PROD_START_STATION_RES_NAME AS start_res,b.PROD_END_STATION_RES_NAME AS end_res from order_main a,order_main b where a.order_id = b.PARENT_ORDER_ID and a.order_id = " . $go_order_id . " group by a.order_id"; $result = $pdo->query($sql); $order_info_go = $result->fetchAll(PDO::FETCH_ASSOC); $data['order_id'] = $go_order_id; $data['go_list'] = $order_info_go[0]; $data['go_list']['site_type'] = "普通票"; if($back_order_id != '0'){ $sql = "select a.order_id,a.order_price,a.order_pay_main_id,a.customer_name,a.customer_mobile,a.customer_id_no,a.customer_memo, count(b.order_id) as num,b.PROD_START_STATION_DATE as run_date,b.PROD_START_STATION_TIME as run_time,b.PROD_START_STATION_AREA_NAME AS start_area,b.PROD_END_STATION_AREA_NAME AS end_area,b.PROD_START_STATION_RES_NAME AS start_res,b.PROD_END_STATION_RES_NAME AS end_res from order_main a,order_main b where a.order_id = b.PARENT_ORDER_ID and a.order_id = " . $back_order_id . " group by a.order_id"; $result = $pdo->query($sql); $order_info_back = $result->fetchAll(PDO::FETCH_ASSOC); $data['order_id_f'] = $back_order_id; $data['back_list'] = $order_info_back[0]; $data['back_list']['site_type'] = "普通票"; $data['ifdisney'] = 0; } $current_time = date("Y-m-d H:i:s"); //add opera log $order_all_price = $order_info_go[0]["order_price"]; $ticket_num = $order_info_go[0]["num"]; $order_per_price = $order_all_price / $ticket_num; $run_date = $order_info_go[0]["run_date"]; $customer_name = $order_info_go[0]["customer_name"]; $customer_mobile = $order_info_go[0]["customer_mobile"]; $customer_id_no = $order_info_go[0]["customer_id_no"]; $customer_memo = $order_info_go[0]["customer_memo"]; $pdo_insert2 = conn1(); //$opera_detail = "创建订单,出发日期{$run_date},订单渠道{$from_org_name},单价{$order_per_price},总额{$order_all_price},联系人信息:{$customer_name}, {$customer_mobile}, {$customer_id_no}, 备注信息:{$customer_memo}"; //$sql = "insert into order_opera_log(order_id,opera_user_id,opera_type,opera_time,opera_detail,opera_platform) VALUES ({$go_order_id},$user_id,1,'{$current_time}','{$opera_detail}','分销系统')"; //$result = $pdo_insert2->exec($sql); //if($back_order_id != '0') { // $order_all_price = $order_info_back[0]["order_price"]; // $ticket_num = $order_info_back[0]["num"]; // $order_per_price = $order_all_price / $ticket_num; // $run_date = $order_info_back[0]["run_date"]; // $customer_name = $order_info_back[0]["customer_name"]; // $customer_mobile = $order_info_back[0]["customer_mobile"]; // $customer_id_no = $order_info_back[0]["customer_id_no"]; // $customer_memo = $order_info_back[0]["customer_memo"]; // $pdo_insert2 = conn1(); // $opera_detail = "创建订单,出发日期{$run_date},订单渠道{$from_org_name},单价{$order_per_price},总额{$order_all_price},联系人信息:{$customer_name}, {$customer_mobile}, {$customer_id_no}, 备注信息:{$customer_memo}"; // $sql = "insert into order_opera_log(order_id,opera_user_id,opera_type,opera_time,opera_detail,opera_platform) VALUES ({$back_order_id},$user_id,1,'{$current_time}','{$opera_detail}','分销系统')"; // $result = $pdo_insert2->exec($sql); //} //end of add opera log echo json_encode($data);die; //发短信 function send_msg($ORDER_ID) { $send_pdo=conn(); $order_id = $ORDER_ID; $url='http://cs1.zhizhuchuxing.com/api/msg/order-send-msg'; $sendInfo=array(); $sendInfo['order_id']=$order_id; $sendInfo['msg_type']='sfx'; $res_content = httpRequest($url,$sendInfo); //insert order extra $hotelPrice = isset($_GET['hotelPrice']) ? $_GET['hotelPrice'] : ""; $doorPrice = isset($_GET["doorPrice"]) ? $_GET["doorPrice"] : ""; if ($hotelPrice != "" || $doorPrice != "") { $sqlInsert = " INSERT INTO order_extra_info (order_id,hotel_price,gate_price) VALUE(" . $ORDER_ID . ",'" . $hotelPrice . "','" . $doorPrice . "') "; writeLog("insert extra info: " . $sqlInsert); $result = $send_pdo -> exec($sqlInsert); } } //..短信模板-改为17:30后OK,当天下单也OK function get_msg_info($ORDER_ID) { $msg_pdo = conn(); $msg_sql = "CALL SP_GET_MESSAGE_TEMPLATE('" . $ORDER_ID . "')"; $content = ''; if (is_object($msg_pdo)) { $msg_result = $msg_pdo -> query($msg_sql); $i = 1; $data = array(); if ($msg_result) { $data['code'] = "0"; $data['info'] = ""; do { $row = $msg_result -> fetchAll(PDO::FETCH_ASSOC); if ($i == 1) { $data['seat'] = isset($row) ? $row : array(); } else if ($i == 2) { $data['run_info'] = isset($row) ? $row : array(); } else if ($i == 3) { $data['driver'] = isset($row) ? $row : array(); } else if($i==4){ $data['dsn_prod']=isset($row) ? $row : array(); }else if($i==5){ $data['zhou_su_prod']=isset($row) ? $row : array(); } $i++; } while($msg_result->nextRowset()); } $json_obj = json_decode(json_encode($data), TRUE); $seat = isset($json_obj['seat'][0]) ? $json_obj['seat'][0] : array(); $run_info = isset($json_obj['run_info'][0]) ? $json_obj['run_info'][0] : array(); $driver = isset($json_obj['driver'][0]) ? $json_obj['driver'][0] : array(); $dsn_prod = isset($json_obj['dsn_prod'])?$json_obj['dsn_prod']:array(); $zhou_su_prod=isset($json_obj['zhou_su_prod'])?$json_obj['zhou_su_prod']:array(); $bus_res_id = isset($json_obj['driver'][0]) ? $json_obj['driver'][0]["bus_res_id"] : 0; $short_url = false; $ticket_url = TICKET_QR_URL.$ORDER_ID; $short_url = sinaShortenUrl($ticket_url); $extra_message = ""; if( $short_url != false ) { $extra_message = "点击以下链接获取您的电子票扫码上车:{$short_url}"; } //出票成功 // $content = "您预订的{出发日期 出发时间}{出发地}-{目的地}{票种名}{张数}张,已购票成功。乘车订单号为{订单号},请凭订单号或绑定微信(微信服务号“蜘蛛出行”)扫码上车,车牌号{车牌号},司机电话{司机姓司机电话}。"; // 得到明天的时间 date_default_timezone_set('PRC'); //解决时区问题 $tomorrow = date("Y-m-d", strtotime("+1 day")); $now_time = date('H:i:s', time()); //判断当前时间是否在17:30:00之后 $cur_date = date('Y-m-d', time()); //迪士尼特殊情况parent_prod_id // $dsn_arr_prod = array(152752, 152759, 152763, 152770, 152777, 152784, 152791, 152801, 152808, 152815, 152822, 152832, 152842, 152852, 152859, 152866, 152873, 152877, 152884, 152891, 152898, 152905, 152915, 152922, 152929, 152936, 152946, 152956, 152966, 152973, 152980, 152990, 153003, 153016, 153023, 153033, 153034, 153044, 153057, 153070, 153083, 153090, 153100, 153110); $dsn_arr_prod = array(); //用来保存迪士尼产品的prod_id foreach($dsn_prod as $temp){ $dsn_arr_prod[]=$temp['prod_id']; } $zhou_su_arr_prod = array(); foreach($zhou_su_prod as $temp){ $zhou_su_arr_prod[]=$temp['prod_id']; } $new_message_array = array(448569,448568); $new_message_array3 = array(450517,450522); if( in_array( $run_info['parent_prod_id'], $new_message_array ) ) { $content = "您预订的{出发日期}{出发地}-{目的地}{票种名}{张数}张,已成功出票,请在{出发时间}前十五分钟到达{上车站点}。出行前一天下午的18:00左右将会有导游和您联系,预祝您旅途愉快。"; } else if( in_array( $run_info['parent_prod_id'], $new_message_array3 ) ) { if( $run_info['parent_prod_id'] == 450517 ) { $address_txt = "上车地点:吴山广场西侧河坊巷8号(吴山广场旅游集散中心候车室); 上车方式:请至吴山广场旅游集散中心候车室服务台,凭预定姓名和手机号码上车。"; } else { $address_txt = "上车地点:普陀城北长途客运中心;取票方式:请提前到达(学运路18号)普陀城北长途客运中心候车大厅服务台报预订名字和电话取票。"; } $content = "您已成功预定{出发日期} {出发时间} {出发地}-{目的地}汽车票{张数}张(请最晚提前10分钟到达)。{$address_txt}紧急电话:15888866564。"; } else if (($now_time > "18:30:00" && $run_info['start_date'] == $tomorrow) || $cur_date == $run_info['start_date']) {//17:30之后的订单或者下单时间为今天出行为今天下午 发送短信模板 // if("18:30:00">"17:30:00" && $run_info['start_date']==$tomorrow){ //17:30之后的订单 发送短信模板 // $content = "您预订的{出发日期 出发时间}{出发地}-{目的地}{票种名}{张数}张,已购票成功。乘车订单号为{订单号},请凭订单号或绑定微信(微信服务号“蜘蛛出行”)扫码上车,车牌号{车牌号},司机电话{司机姓司机电话}。"; $content = "订单号{订单号},{出发地}({上车站点})—{目的地}({下车站点})标准票{张数}张将于{出发日期} {出发时间}准点发车。车牌号{车牌号},司机电话{司机姓司机电话},请提前10分钟抵达上车地点:{上车站点详细地址}并点开电子车票{$short_url}进行验票。如有疑问请拨打客服电话021-33280519。"; } else { $content = "订单号{订单号},{出发日期} {出发时间}{出发地}({上车站点})—{目的地}({下车站点})标准票{张数}张预定成功。发车前一天19点会短信通知您车牌号及司机电话,如未收到短信请拨打客服电话021-33280519。"; } $new_message_array4 = array(450588,450589); if( in_array( $run_info['parent_prod_id'], $new_message_array4 ) ) { $content .= "紧急联系电话:18100158199。"; } $new_message_array5 = array(451437,451438); if( in_array( $run_info['parent_prod_id'], $new_message_array5 ) ) { $content .= "司机会提前与您联系,如有疑问,请联系021-33280578 。"; } $new_message_array5 = array(451440,451441); $new_message_array6 = array(448780,450008,448781); if( in_array( $run_info['parent_prod_id'], $new_message_array5 ) ) { $content = "订单号{订单号},{出发日期} {出发时间}{上车站点}—{目的地}标准票{张数}张预定成功。发车前一天19点会短信通知您车牌号及司机电话,如未收到短信请拨打客服电话021-33280519。"; } else if( in_array( $run_info['parent_prod_id'], $new_message_array6 ) ) { $content = "订单号{订单号},{出发日期} {出发时间}{上车站点}—{目的地}标准票{张数}张预定成功。发车前一天19点会短信通知您乘车信息,如未收到短信请拨打客服电话021-33280519。"; } // $content = "您预订的{出发日期 出发时间}{出发地}-{目的地}{票种名}{张数}张,已购票成功。乘车订单号为{订单号},请凭订单号或绑定微信(微信服务号“蜘蛛出行”)扫码上车。"; if ($seat) { $seat_x = isset($seat['seat_x']) ? $seat['seat_x'] : ""; $seat_y = isset($seat['seat_y']) ? $seat['seat_y'] : ""; $seat_name = isset($seat['seat_name']) ? $seat['seat_name'] : ""; $order_main_id = isset($seat['order_main_id']) ? $seat['order_main_id'] : ""; } else { } if ($run_info) { $order_count = $run_info['order_count']; $start_date = $run_info['start_date']; $start_time = $run_info['start_time']; $parent_order_id = $run_info['parent_order_id']; $end_date = $run_info['end_date']; $start_area = $run_info['start_area']; $end_area = $run_info['end_area']; $res_name = $run_info['res_name']; $parent_prod_id = $run_info['parent_prod_id']; $prod_name = $run_info['prod_name']; $prod_name = "标准票"; $customer_name = $run_info['customer_name']; $customer_mobile = $run_info['customer_mobile']; $start_end_date = $start_date . "," . $start_time; $start_station_address = $run_info['start_station_address']; if( $parent_prod_id == 450504 && $start_date >= "2017-01-27" && $start_date <= "2017-02-02" ) { $res_name = "迪士尼唐老鸭P停车场"; $start_station_address = "上海迪士尼度假区迪士尼唐老鸭P停车场"; } $content = str_replace("{出发日期}", $start_date, $content); $content = str_replace("{出发时间}", $start_time, $content); $content = str_replace("{上车站点}", $res_name, $content); $content = str_replace("{下车站点}", $run_info['end_res_name'], $content); $content = str_replace("{出发地}", $start_area, $content); $content = str_replace("{目的地}", $end_area, $content); $content = str_replace("{票种名}", $prod_name, $content); $content = str_replace("{张数}", $order_count, $content); $content = str_replace("{订单号}", $ORDER_ID, $content); $content = str_replace("{上车站点详细地址}", $start_station_address, $content); } else { $content = str_replace("{出发日期}", "", $content); $content = str_replace("{出发时间}", "", $content); $content = str_replace("{出发地}", "", $content); $content = str_replace("{目的地}", "", $content); $content = str_replace("{票种名}", "", $content); $content = str_replace("{张数}", "", $content); $content = str_replace("{订单号}", "", $content); $content = str_replace("{上车站点详细地址}", "", $content); } if ($driver) { $bus_no = isset($driver['bus_no']) ? $driver['bus_no'] : ""; $driver_name = isset($driver['driver_name']) ? $driver['driver_name'] : ""; $driver_mobile = isset($driver['driver_mobile']) ? $driver['driver_mobile'] : ""; if ($bus_no == "") { $content = str_replace(",车牌号{车牌号}", "", $content); } else { $content = str_replace("{车牌号}", $bus_no, $content); } if ($driver_name == "") { $content = str_replace(",司机电话{司机姓司机电话},", "。", $content); } else { $driver_xing = mb_substr($driver_name, 0, 1, 'utf-8'); $driver_name_mobile = $driver_xing . $driver_mobile; $content = str_replace("{司机姓司机电话}", $driver_name_mobile, $content); } } else { $content = str_replace("车牌号{车牌号},", "", $content); $content = str_replace("司机电话{司机姓司机电话},", "", $content); } /* if( $now_time < "18:30:00" ) { //判断是不是苏州或周庄 // 判断如果不是迪士尼的票就不发短信 if (!in_array($run_info['parent_prod_id'], $dsn_arr_prod) && !in_array($run_info['parent_prod_id'], $zhou_su_arr_prod)) { return array("", "-1", "不是迪士尼、苏州、周庄的票,目前不发送短信"); } }*/ return array(isset($customer_name) ? $customer_name : "", isset($customer_mobile) ? $customer_mobile : "", isset($content) ? $content : "短信错误,联系客服!!!"); } }