|
- <?php
- require_once '../wechat/Common_fx/Mysql.php';
- require_once '../wechat/Common_fx/zizai_api.inc';
- require_once '../wechat/Common_fx/sinaAPI.php';
- if (ALLOW_ORIGIN)
- header("Access-Control-Allow-Origin:*");
-
- $pdo = conn();
- $order_id = $_GET['orderno'];
- $paynum = $_GET['paynum'];
- if (!$order_id) {
- echo '订单号没有接收到';
- die;
- }
- $sql_s = "select * from to_from where to_orderid=" . $order_id . " or back_orderid=" . $order_id;
- $result = $pdo->query($sql_s);
- $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
- //发送短信
-
- if ($rowset) {
- $ifback = 1;
- $to_order_id = $rowset[0]['to_orderid'];
- $back_order_id = $rowset[0]['back_orderid'];
- $sql = "select order_id from order_main where order_id in (" . $rowset[0]['to_orderid'] . "," . $rowset[0]['back_orderid'] . ") or parent_order_id in (" . $rowset[0]['to_orderid'] . "," . $rowset[0]['back_orderid'] . ")";
- $result = $pdo->query($sql);
- $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
- foreach ($rowset as $v) {
- $list[] = $v['order_id'];
- }
-
- } else {
- $sql = "select order_id from order_main where order_id = " . $order_id . " or parent_order_id = " . $order_id;
- $result = $pdo->query($sql);
- $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
- foreach ($rowset as $v) {
- $list[] = $v['order_id'];
- }
- }
- //是否有至订单
-
-
- $list = implode(",", $list);
-
- $sql = "select a.order_id,a.order_price,a.outside_order_no,a.order_pay_main_id,a.customer_name,a.customer_mobile,count(b.order_id) as num,b.run_date,b.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 in (" . $list . ") group by a.order_id";
-
- $result = $pdo->query($sql);
- $order_info = $result->fetchAll(PDO::FETCH_ASSOC);
- foreach ($order_info as $v) {
- $list_P[] = $v['order_pay_main_id'];
- }
- $list_P = implode(",", $list_P);
- $sql_pay = "update order_pay_detail set pay_type_id_1 =278,PAY_SERIAL_NUMBER='" . $order_id . "-" . $paynum . "' where pay_main_id in (" . $list_P . ")";
- $rs = $pdo->query($sql_pay);
- $sql_order_status = "update order_main set order_status =146 where order_id in(" . $list . ")";
- $rs2 = $pdo->query($sql_order_status);
-
-
- $sql = "update `disney_order` set yet =0 where order_id =" . $order_id;
- $res = $pdo->query($sql);
-
- $sql_s = "select * from disney_order where order_id = " . $order_id;
- $result = $pdo->query($sql_s);
- $rows_d = $result->fetchAll(PDO::FETCH_ASSOC);
- $list_d = Find($order_id);
- if (!isset($rows_d[0]['order_id']) && $list_d['prod_id'] != 450517 && $list_d['prod_id'] != 450522) {
- if (isset($ifback)) {
- send_msg($to_order_id);
- send_msg($back_order_id);
- } else {
- send_msg($order_id);
- }
- }
- $log = $sql . '##' . $sql_pay . "##" . $sql_order_status;
- success_notify($log);
- function success_notify($result)
- {
- file_put_contents('./order_confirm.txt', date("Y-m-d H:i:s") . " " . $result . PHP_EOL, FILE_APPEND);//订单成功后通知后台日志
- }
-
- echo "支付成功";
- die;
-
-
- function send_msg($ORDER_ID)
- {
- $send_pdo = conn();
- $order_id = $ORDER_ID;
- $res_content = get_msg_info($order_id);
- $name = $res_content[0];
- $tel = $res_content[1];
- $content = $res_content[2];
- writeLog("短信模板内容:【" . $content . "】");
-
- //..发短信先取消
- $response = sendTelMessage($tel, $name, $content, $order_id);
- writeLog(json_encode($response));
-
- $comment_type = 0;
- $comment_text = "";
- $send_success = (int)$response;
- $sql1 = "CALL HT_ADD_MSG_COMMENT(2,'addmsg'," . $order_id . "," . $comment_type . ",'" . $comment_text . "','" . $tel . "','" . $content . "','" . date("Y-m-d H:i:s") . "',{$send_success})";
- $result1 = $send_pdo->query($sql1);
- $rowset1 = $result1->fetchAll(PDO::FETCH_ASSOC);
- $result1->closeCursor();
- writeLog("hotel_order_status.php HT_ADD_MSG_COMMENT()::" . $sql1);
- //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;
- if ($bus_res_id != 0) {
- $ary_sell_ary = array(916, 917);
- if (in_array($bus_res_id, $ary_sell_ary)) {
- $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_array2 = array(449860, 449865, 450036, 450037);
- 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 = "您预订的{出发日期 出发时间}{出发地}-{目的地}{票种名}{张数}张,已购票成功。乘车订单号为{订单号},请凭订单号或绑定微信(微信服务号“蜘蛛出行”)扫码上车,车牌号{车牌号},司机电话{司机姓司机电话}。";
-
- if (in_array($run_info['parent_prod_id'], $new_message_array)) {
- $content = "您预订的{出发日期}{出发地}-{目的地}{票种名}{张数}张,已成功出票,请在{出发时间}前十五分钟到达{上车站点}。您的乘车订单号为{订单号},车牌号{车牌号},司机电话{司机姓司机电话},请凭短信订单号乘车{$extra_message},预祝您旅途愉快。";
- } elseif (in_array($run_info['parent_prod_id'], $new_message_array2)) {
- $content = "您已成功预订{出发地}-{目的地}城际商务车{张数}张车票,车型为奔驰7座,发车时间为{出发日期} {出发时间},请提前10分钟到达{上车站点}。您的乘车订单号为{订单号},车牌号{车牌号},司机电话{司机姓司机电话},请凭短信订单号乘车{$extra_message},预祝您旅途愉快。";
- } else {
- $content = "您预订的{出发日期}{出发地}-{目的地}{票种名}{张数}张,已成功出票,请在{出发时间}前三十分钟到达{上车站点}。您的乘车订单号为{订单号},车牌号{车牌号},司机电话{司机姓司机电话},请凭短信订单号乘车{$extra_message},预祝您旅途愉快。";
- }
- if (in_array($run_info['parent_prod_id'], $dsn_arr_prod)) {
- $content = "您预订的{上车站点}-{下车站点}车票{张数}张(订单号{订单号})已经预订成功。发车时间为{出发日期} {出发时间},请提前10分钟到达并向司机出示手机二维码/预订号乘车。上车地址为{上车站点}:{上车站点详细地址}。{$extra_message}请关注微信公众号“蜘蛛出行”,可以实时查询大巴定位、司机号码、车牌号等。";
- $start_station_address = $run_info['start_station_address'];
-
- $content = str_replace("{上车站点详细地址}", $start_station_address, $content);
- $content = str_replace("{上车站点}", $run_info['res_name'], $content);
- $content = str_replace("{下车站点}", $run_info['end_res_name'], $content);
- $content = str_replace("{订单号}", $ORDER_ID, $content);
- }
- } else {
- // $content = "您预订的{出发日期 出发时间}{出发地}-{目的地}{票种名}{张数}张,已购票成功。乘车订单号为{订单号},请凭订单号或绑定微信(微信服务号“蜘蛛出行”)扫码上车。";
- $content = "您预订的{出发日期}{出发地}-{目的地}{票种名}{张数}张,已成功出票,请在{出发时间}前十分钟到达{上车站点}。您的乘车订单号为{订单号},请凭短信订单号乘车。出行前一天下午的18:30会将车牌号与司机电话发送给您,预祝您旅途愉快。";
- if (in_array($run_info['parent_prod_id'], $dsn_arr_prod)) {
- $ticket_url = TICKET_QR_URL . $ORDER_ID;
- $short_url = sinaShortenUrl($ticket_url);
- $extra_content = "";
- if ($short_url != false) {
- $extra_content = "或点击以下链接获取乘车二维码扫码上车(" . $short_url . ")";
- }
- $content = "您预订的{上车站点}-{下车站点}车票{张数}张(订单号{订单号})已经预订成功。发车时间为{出发日期} {出发时间},请提前10分钟到达并向司机出示手机二维码/预订号乘车。上车地址为{上车站点}:{上车站点详细地址}。{$extra_message}请关注微信公众号“蜘蛛出行”,可以实时查询大巴定位、司机号码、车牌号等。";
- $start_station_address = $run_info['start_station_address'];
-
- $content = str_replace("{上车站点详细地址}", $start_station_address, $content);
- $content = str_replace("{上车站点}", $run_info['res_name'], $content);
- $content = str_replace("{下车站点}", $run_info['end_res_name'], $content);
- $content = str_replace("{订单号}", $ORDER_ID, $content);
- }
- }
- $new_message_array3 = array(450517, 450522);
- 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号)普陀城北长途客运中心旅客出口处,97自驾服务中心,报预订名字取票。";
- }
- $content = "您已成功预定{出发日期} {出发时间} {出发地}-{目的地}汽车票{张数}张(请最晚提前10分钟到达)。{$address_txt}联系电话4006-726-756。";
- }
- // $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;
- $content = str_replace("{出发日期}", $start_date, $content);
- $content = str_replace("{出发时间}", $start_time, $content);
- $content = str_replace("{上车站点}", $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);
- } 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);
- }
- 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 : "短信错误,联系客服!!!");
- }
- }
-
-
- function Find($order_id)
- {
- $pdo = conn();
- $sql = "select order_description,order_price,order_status "
- . "from order_main "
- . "where order_id=" . $order_id;
- $result = $pdo->query($sql);
- $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
- $order_price = $rowset[0];//订单总价格 订单票的数量
- $sql = "SELECT DISTINCT
- order_description,parent_order_id,create_time,parent_prod_id,prod_name,run_date,run_time,PROD_START_STATION_AREA_NAME,PROD_START_STATION_RES_NAME,PROD_END_STATION_AREA_NAME,PROD_END_STATION_RES_NAME
- FROM `order_main`
- where PARENT_ORDER_ID=" . $order_id;
- $result = $pdo->query($sql);
- $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
- $order_station = $rowset[0];//订单来往地址 订单时间 订单好
- if (empty($order_station))
- return false;
- $array_order_desc = array();
-
- $arr_temp = explode('|', $order_price['order_description']);
- $arr = array();
- foreach ($arr_temp as $k => $v2) {
- if (!empty($v2))
- $array_order_desc[] = explode(',', $v2); //订单票 * 数量
- }
- $list = array();
- //上海(黄浦旅游集散站) - 乌镇(西栅1号停车场)//反的数组
- $list['station'] = $order_station['PROD_START_STATION_AREA_NAME'] . '(' . $order_station['PROD_START_STATION_RES_NAME'] . ')'
- . '-' . $order_station['PROD_END_STATION_AREA_NAME'] . '(' . $order_station['PROD_END_STATION_RES_NAME'] . ')';
- $list['start_station'] = $order_station['PROD_START_STATION_AREA_NAME'];
- $list['end_station'] = $order_station['PROD_END_STATION_AREA_NAME'];
- $list['start_res_name'] = $order_station['PROD_START_STATION_RES_NAME'];
- $list['end_res_name'] = $order_station['PROD_END_STATION_RES_NAME'];
- $list['run_date'] = $order_station['run_date'];
- $list['prod_name'] = $order_station['prod_name'];
- $list['prod_id'] = $order_station['parent_prod_id'];
- $list['create_time'] = $order_station['create_time'];
- $list['run_time'] = $order_station['run_date'] . ' ' . $order_station['run_time'];
- $list['count'] = '';
- foreach ($array_order_desc as $v) {
- $list['count'] .= ' ' . $v[0] . ' × ' . $v[2];
- }
- $list['order_price'] = $order_price['order_price'];
- $list['order_status'] = $order_price['order_status'];
- return $list;
- }
|