Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

107 lignes
4.9 KiB

  1. <?php
  2. /*
  3. * wechat 2.0
  4. * Copyright (c) 2016 yixi wei http://zhizhuchuxing.com/
  5. * Date: 2016.09.07
  6. * Something is to pay QQ1062140302
  7. */
  8. if (ALLOW_ORIGIN)
  9. header("Access-Control-Allow-Origin:*");
  10. date_default_timezone_set('PRC');
  11. require_once __DIR__.'/../../api/cancel_order.php';
  12. $order_id = isset($_POST['order_id']) ? $_POST['order_id'] : "454259";
  13. $pdo = conn();
  14. $list = Find($order_id);
  15. $time_cut = strtotime($list['run_time'])-time();
  16. if($time_cut<=3600){
  17. $code ='1';
  18. $info = 'fail';
  19. $massge = '开车前30分钟禁止退票';
  20. $list = "";
  21. }else{
  22. $sql = "UPDATE order_main SET ORDER_STATUS =148,ORDER_VALID_STATUS = 0 WHERE order_id = " . $order_id ." OR parent_order_id = " .$order_id.";"
  23. . "update run_bus set SALED_COUNT = SALED_COUNT - ".$list['tic_num']." where run_id = ".$list['run_id']." and bus_order_id = ".$list['run_bus_order_id'].";"
  24. . "update run_stock set SALED_COUNT = SALED_COUNT - ".$list['tic_num']." where run_id =".$list['run_id']." and SEAT_TYPE = 72 and SEQ_ID = 1;"
  25. . "update run_prod set SALED_COUNT = SALED_COUNT - ".$list['tic_num']." where run_id =".$list['run_id']." and prod_id = ".$list['prod_id'];
  26. $result = $pdo -> query($sql);
  27. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  28. $result -> closeCursor();
  29. if(!isset($rowset[0]['errorinfo'])){
  30. $sql = " insert into order_refund(`order_id`,`price`,`pay_serial_number`) values(".$order_id.",".$list['order_price'].",'".$list['pay_num']."')";
  31. $pdo ->query($sql);
  32. $code = '0';
  33. $info = 'success';
  34. $massge = '订单已取消';
  35. $cancel_order = new cancelOrder();
  36. $res = $cancel_order -> funCancelOrder($list['line_id'], $list['run_id'], $list['run_bus_order_id'], $list['parent_order_id'], $list['run_time']);
  37. }else{
  38. $code = '1';
  39. $info =$rowset[0]['errorinfo'];
  40. $massge = $rowset[0]['errorinfo'];
  41. }
  42. }
  43. $data['code']=$code;
  44. $data['info']=$massge;
  45. echo json_encode($data);die;
  46. function Find($order_id){
  47. $pdo= conn();
  48. $sql = "select order_description,order_price,order_pay_main_id "
  49. . "from order_main "
  50. . "where order_id=".$order_id;
  51. $result=$pdo->query($sql);
  52. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  53. $order_price = $rowset[0];//订单总价格 订单票的数量
  54. $sql = "SELECT DISTINCT
  55. order_description,parent_order_id,run_date,run_id,run_time,run_bus_order_id,prod_id,parent_prod_id,PROD_START_STATION_AREA_NAME,PROD_START_STATION_RES_NAME,PROD_END_STATION_AREA_NAME,PROD_END_STATION_RES_NAME
  56. FROM `order_main`
  57. where PARENT_ORDER_ID=".$order_id;
  58. $result=$pdo->query($sql);
  59. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  60. $order_station = $rowset[0];//订单来往地址 订单时间 订单好
  61. if(empty($order_station))
  62. return false;
  63. $array_order_desc=array();
  64. $arr_temp = explode('|',$order_price['order_description']);
  65. $arr=array();
  66. foreach ($arr_temp as $k=>$v2) {
  67. if(!empty($v2))
  68. $array_order_desc[]= explode (',', $v2); //订单票 * 数量
  69. }
  70. $list = array();
  71. //上海(黄浦旅游集散站) - 乌镇(西栅1号停车场)//反的数组
  72. $list['station'] = $order_station['PROD_START_STATION_AREA_NAME'].'('.$order_station['PROD_START_STATION_RES_NAME'].')'
  73. .'-'.$order_station['PROD_END_STATION_AREA_NAME'].'('.$order_station['PROD_END_STATION_RES_NAME'].')';
  74. $list['start_station']=$order_station['PROD_START_STATION_AREA_NAME'];
  75. $list['end_station']=$order_station['PROD_END_STATION_AREA_NAME'];
  76. $list['start_res_name'] = $order_station['PROD_START_STATION_RES_NAME'];
  77. $list['end_res_name'] = $order_station['PROD_END_STATION_RES_NAME'];
  78. $list['run_date'] = $order_station['run_date'];
  79. $list['run_time'] = $order_station['run_date'].' '.$order_station['run_time'];
  80. $list['count']='';
  81. $list['tic_num'] = 0;
  82. foreach ($array_order_desc as $v){
  83. $list['count'] .= ' '.$v[0].' × '.$v[2];
  84. $list['tic_num'] +=$v[2] ;
  85. }
  86. $list['order_price'] = $order_price['order_price'];
  87. $sql = "select pay_serial_number from order_pay_detail where pay_main_id =".$order_price['order_pay_main_id'];
  88. $result=$pdo->query($sql);
  89. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  90. $list['pay_num'] = $rowset[0]['pay_serial_number'];
  91. $list['line_id'] = $order_station['parent_prod_id'];
  92. $list['run_id'] = $order_station['run_id'];//run_bus_order_id
  93. $list['run_bus_order_id'] = $order_station['run_bus_order_id'];//parent_order_id
  94. $list['parent_order_id'] = $order_station['parent_order_id'];
  95. $list['prod_id'] = $order_station['prod_id'];
  96. return $list;
  97. }