Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

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