25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

184 satır
6.3 KiB

  1. <?php
  2. if (ALLOW_ORIGIN)
  3. header("Access-Control-Allow-Origin:*");
  4. date_default_timezone_set('PRC');
  5. //require_once '../../Common/Mysql.php';
  6. $user_id =$_COOKIE['user_id'] ;//getUserId();
  7. if (!$user_id) {
  8. echo json_encode(array("code" => 1,"iflogin"=>1, "info" => "用户未登录"));
  9. exit ;
  10. }
  11. //$_POST['iffirst']='';
  12. //if(isset($_POST['order_id'])){};
  13. //require_once '../../Common/Mysql.php';
  14. //$_POST['ifback']=0;
  15. if($_POST || 1){
  16. $method = isset($_POST['iffirst']) ? $_POST['iffirst'] : "1";
  17. $order_id = isset($_POST['order_id']) ? $_POST['order_id'] : "204351";
  18. $ifback = "0";
  19. $to_order_id=$order_id;
  20. //$order_id=204351;
  21. $pdo = conn();
  22. $sql_s = "select * from to_from where to_orderid=".$order_id." or back_orderid=".$order_id;
  23. $result=$pdo->query($sql_s);
  24. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  25. if($rowset){
  26. $ifback=1;
  27. $to_order_id = $rowset[0]['to_orderid'];
  28. $back_order_id = $rowset[0]['back_orderid'];
  29. if ($method == "0") {
  30. $sql = "CALL SP_CANCEL_ORDER(" . 0 . "," . $to_order_id . ")";
  31. $result = $pdo -> query($sql);
  32. $sql = "CALL SP_CANCEL_ORDER(" . 0 . "," . $back_order_id . ")";
  33. $result = $pdo -> query($sql);
  34. // $return = $result->fetchAll(PDO::FETCH_ASSOC);
  35. // if(isset($return[0]['@errorcode']) && $return[0]['@errorcode']=='-1'){
  36. // $code =1;
  37. // $info = 'fail';
  38. // $massge = '失败';
  39. // $list = "";
  40. // }else{
  41. $list['to'] = Find($to_order_id); $list['back'] = Find($back_order_id);
  42. if($list['to'] && Find($back_order_id)){
  43. $code = 0;
  44. $info = 'success';
  45. $massge = '成功';
  46. $list = $list;
  47. }
  48. // }
  49. $result -> closeCursor();
  50. }else{
  51. $list['to'] = Find($to_order_id);
  52. $time_cut = time()-strtotime($list['to']['run_date'].' '.$list['to']['run_time']);
  53. $list['back'] = Find($back_order_id);
  54. if($list['to'] && Find($back_order_id)){
  55. $code = 0;
  56. $info = 'success';
  57. $massge = '成功';
  58. $list = $list;
  59. if($time_cut<=1800){
  60. $code =1;
  61. $info = 'fail';
  62. $massge = '开车前30分钟禁止退票,请刷新页面确认时间';
  63. $list = "";
  64. }
  65. }else{
  66. $code =1;
  67. $info = 'fail';
  68. $massge = '失败';
  69. $list = "";
  70. }
  71. }
  72. $time_cut = time()-strtotime($list['to']['run_time']); ///时间在开场30分钟前可以退票
  73. }else{
  74. //单程情况
  75. if ($method == "0") {
  76. $pdo = conn();
  77. $sql = "CALL SP_CANCEL_ORDER(" . 0 . "," . $order_id . ")";
  78. $result = $pdo -> query($sql);
  79. // $return = $result->fetchAll(PDO::FETCH_ASSOC);
  80. // if(isset($return[0]['@errorcode']) && $return[0]['@errorcode']=='-1'){
  81. // $code =1;
  82. // $info = 'fail';
  83. // $massge = '失败';
  84. // $list = "";
  85. // }else{
  86. $list = Find($order_id);
  87. $code = 0;
  88. $info = 'success';
  89. $massge = '订单已取消';
  90. $list = $list;
  91. // }
  92. $result -> closeCursor();
  93. }else{
  94. if($list = Find($order_id)){
  95. $code = 0;
  96. $info = 'success';
  97. $massge = '成功';
  98. $list = $list;
  99. $time_cut = time()-strtotime($list['run_date'].' '.$list['run_time']);
  100. if($time_cut<=1800){
  101. $code =1;
  102. $info = 'fail';
  103. $massge = '开车前30分钟禁止退票';
  104. $list = "";
  105. }
  106. }else{
  107. $code =1;
  108. $info = 'fail';
  109. $massge = '失败';
  110. $list = "";
  111. }
  112. }
  113. $time_cut = time()-strtotime($list['run_time']); ///时间在开场30分钟前可以退票
  114. }
  115. } else {
  116. $code =1;
  117. $info = 'fail';
  118. $massge = '失败';
  119. $list = "";
  120. }
  121. $json['ifback'] =$ifback;
  122. $json['code'] = $code;
  123. $json['info'] = $info;
  124. $json['order_id']=$to_order_id;
  125. $json['back_order_id']=$back_order_id;
  126. $json['massge'] = $massge;
  127. $json['list'] = $list;
  128. echo json_encode($json);
  129. die;
  130. function Find($order_id){
  131. $pdo= conn();
  132. $sql = "select order_description,order_price "
  133. . "from order_main "
  134. . "where order_id=".$order_id;
  135. $result=$pdo->query($sql);
  136. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  137. $order_price = $rowset[0];//订单总价格 订单票的数量
  138. $sql = "SELECT DISTINCT
  139. order_description,parent_order_id,run_date,run_time,PROD_START_STATION_AREA_NAME,PROD_START_STATION_RES_NAME,PROD_END_STATION_AREA_NAME,PROD_END_STATION_RES_NAME
  140. FROM `order_main`
  141. where PARENT_ORDER_ID=".$order_id;
  142. $result=$pdo->query($sql);
  143. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  144. $order_station = $rowset[0];//订单来往地址 订单时间 订单好
  145. if(empty($order_station))
  146. return false;
  147. $array_order_desc=array();
  148. $arr_temp = explode('|',$order_price['order_description']);
  149. $arr=array();
  150. foreach ($arr_temp as $k=>$v2) {
  151. if(!empty($v2))
  152. $array_order_desc[]= explode (',', $v2); //订单票 * 数量
  153. }
  154. $list = array();
  155. //上海(黄浦旅游集散站) - 乌镇(西栅1号停车场)//反的数组
  156. $list['station'] = $order_station['PROD_START_STATION_AREA_NAME'].'('.$order_station['PROD_START_STATION_RES_NAME'].')'
  157. .'-'.$order_station['PROD_END_STATION_AREA_NAME'].'('.$order_station['PROD_END_STATION_RES_NAME'].')';
  158. $list['start_station']=$order_station['PROD_START_STATION_AREA_NAME'];
  159. $list['end_station']=$order_station['PROD_END_STATION_AREA_NAME'];
  160. $list['start_res_name'] = $order_station['PROD_START_STATION_RES_NAME'];
  161. $list['end_res_name'] = $order_station['PROD_END_STATION_RES_NAME'];
  162. $list['run_date'] = $order_station['run_date'];
  163. $list['run_time'] = $order_station['run_date'].' '.$order_station['run_time'];
  164. $list['count']='';
  165. foreach ($array_order_desc as $v){
  166. $list['count'] .= ' '.$v[0].' × '.$v[2];
  167. }
  168. $list['order_price'] = $order_price['order_price'];
  169. return $list;
  170. }