You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

139 regels
6.1 KiB

  1. <?php
  2. require_once __DIR__.'/../../../config/Mysql.php';
  3. require_once __DIR__.'/../../api/common.php';
  4. require_once __DIR__.'/../../api/create_order.php';
  5. $pdo = conn();
  6. $sql ="select order_id from order_main where order_id in (SELECT parent_order_id FROM `order_main` where PARENT_PROD_ID in (449860,449865) and RUN_DATE>'2016-09-14')";
  7. $result=$pdo->query($sql);
  8. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  9. foreach ($rowset as $key => $value) {
  10. $list_d = Find($value['order_id'],$pdo);
  11. if($value['order_id'] == 464259 || $value['order_id'] ==464331){
  12. $startx_y = '31.991326,120.892807';
  13. $endx_y ='32.116818,118.784015';
  14. $line_id = $list_d['line_id'] ;
  15. $run_id = $list_d['run_id'];
  16. $tic_num = $list_d['tic_num'] ;
  17. $start_name =$list_d['start_res_name'];
  18. $end_name = $list_d['end_res_name'];
  19. $run_date_time = $list_d['run_time'];
  20. }else{
  21. $startx_y = '32.116818,118.784015';
  22. $endx_y ='31.991326,120.892807';
  23. $line_id = $list_d['line_id'] ;
  24. $run_id = $list_d['run_id'];
  25. $tic_num = $list_d['tic_num'] ;
  26. $start_name =$list_d['start_res_name'];
  27. $end_name = $list_d['end_res_name'];
  28. $run_date_time = $list_d['run_time'];
  29. }
  30. echo 1;
  31. //$order_result = check_order($startx_y, $endx_y, $line_id, $run_id, $tic_num, $start_name, $end_name,$run_date_time);
  32. //echo $value['order_id']."->".$order_result['result']['order_id'];
  33. //writeLog("check_order:".json_encode($order_result));
  34. }
  35. //检验订单
  36. function check_order($startx_y, $endx_y, $line_id, $run_id, $tic_num, $start_name, $end_name,$run_date_time)
  37. {
  38. $co = new createOrder();
  39. $time = commonUtils::baiduShortTime($startx_y, $endx_y);
  40. if (!$startx_y || !$endx_y) {
  41. $result['status'] = 111; //状态码:111为经纬度不能为空)
  42. $result['info'] = "经纬度不能为空";
  43. echo json_encode($result);
  44. exit();
  45. }
  46. if ($time > 270) //总时长不能超过270分钟
  47. {
  48. $result['status'] = 101; //状态码:101为总时长不符合要求(超过270分钟)
  49. $result['info'] = "总时长不能超过270分钟";
  50. echo json_encode($result);
  51. exit();
  52. }
  53. if ($tic_num > 6) {
  54. $result['status'] = 108; //状态码:人数不能超过6人
  55. $result['info'] = "每个订单人数不能超过6人";
  56. echo json_encode($result);
  57. exit();
  58. }
  59. //先判断是否属于规定的市区
  60. $start_area = commonUtils::GeocodingAPI($startx_y);
  61. $end_area = commonUtils::GeocodingAPI($endx_y);
  62. if (($line_id == "449860" && $start_area == "南京市" && $end_area == "南通市") || ($line_id == "449865" && $start_area == "南通市" && $end_area == "南京市")) {
  63. if ($line_id && $run_id && $tic_num && $startx_y && $endx_y && $run_date_time) {
  64. $orderID = commonUtils::produceOrderId($tic_num); //获取订单号
  65. $res = $co->calShortTime($line_id, $run_id, $orderID, $tic_num, $startx_y, $start_name, $endx_y, $end_name, $run_date_time);
  66. return $res;
  67. }else{
  68. $result['code'] = '1';
  69. $result['info'] = "订单提交信息不全";
  70. echo json_encode($result);
  71. exit();
  72. }
  73. } else {
  74. $result['code'] = '1';
  75. $result['info'] = "所选地点不在规划范围内";
  76. echo json_encode($result);
  77. exit();
  78. }
  79. }
  80. function Find($order_id,$pdo){
  81. $sql = "select order_description,order_price,order_pay_main_id "
  82. . "from order_main "
  83. . "where order_id=".$order_id;
  84. $result=$pdo->query($sql);
  85. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  86. $order_price = $rowset[0];//订单总价格 订单票的数量
  87. $sql = "SELECT DISTINCT
  88. 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
  89. FROM `order_main`
  90. where PARENT_ORDER_ID=".$order_id;
  91. $result=$pdo->query($sql);
  92. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  93. $order_station = $rowset[0];//订单来往地址 订单时间 订单好
  94. if(empty($order_station))
  95. return false;
  96. $array_order_desc=array();
  97. $arr_temp = explode('|',$order_price['order_description']);
  98. $arr=array();
  99. foreach ($arr_temp as $k=>$v2) {
  100. if(!empty($v2))
  101. $array_order_desc[]= explode (',', $v2); //订单票 * 数量
  102. }
  103. $list = array();
  104. //上海(黄浦旅游集散站) - 乌镇(西栅1号停车场)//反的数组
  105. $list['station'] = $order_station['PROD_START_STATION_AREA_NAME'].'('.$order_station['PROD_START_STATION_RES_NAME'].')'
  106. .'-'.$order_station['PROD_END_STATION_AREA_NAME'].'('.$order_station['PROD_END_STATION_RES_NAME'].')';
  107. $list['start_station']=$order_station['PROD_START_STATION_AREA_NAME'];
  108. $list['end_station']=$order_station['PROD_END_STATION_AREA_NAME'];
  109. $list['start_res_name'] = $order_station['PROD_START_STATION_RES_NAME'];
  110. $list['end_res_name'] = $order_station['PROD_END_STATION_RES_NAME'];
  111. $list['run_date'] = $order_station['run_date'];
  112. $list['run_time'] = $order_station['run_date'].' '.$order_station['run_time'];
  113. $list['count']='';
  114. $list['tic_num'] = 0;
  115. foreach ($array_order_desc as $v){
  116. $list['count'] .= ' '.$v[0].' × '.$v[2];
  117. $list['tic_num'] +=$v[2] ;
  118. }
  119. $list['order_price'] = $order_price['order_price'];
  120. $sql = "select pay_serial_number from order_pay_detail where pay_main_id =".$order_price['order_pay_main_id'];
  121. $result=$pdo->query($sql);
  122. $rowset = $result -> fetchAll(PDO::FETCH_ASSOC);
  123. $list['pay_num'] = $rowset[0]['pay_serial_number'];
  124. $list['line_id'] = $order_station['parent_prod_id'];
  125. $list['run_id'] = $order_station['run_id'];//run_bus_order_id
  126. $list['run_bus_order_id'] = $order_station['run_bus_order_id'];//parent_order_id
  127. $list['parent_order_id'] = $order_station['parent_order_id'];
  128. $list['prod_id'] = $order_station['prod_id'];
  129. return $list;
  130. }
  131. ?>