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.
 
 
 
 
 
 

175 lines
7.0 KiB

  1. <?php
  2. require_once '../wechat/Common_fx/Mysql.php';
  3. require_once '../wechat/Common_fx/zizai_api.inc';
  4. require_once '../wechat/Common_fx/sinaAPI.php';
  5. if (ALLOW_ORIGIN)
  6. header("Access-Control-Allow-Origin:*");
  7. $pdo = conn();
  8. $order_id = $_GET['orderno'];
  9. $paynum = $_GET['paynum'];
  10. if (!$order_id) {
  11. echo '订单号没有接收到';
  12. die;
  13. }
  14. $status_sql = "select order_status from order_main where order_id = " . $order_id;
  15. $result = $pdo->query($status_sql);
  16. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  17. if($rowset['order_status'] == 146){
  18. echo "支付成功";
  19. die;
  20. }
  21. $sql_s = "select * from to_from where to_orderid=" . $order_id . " or back_orderid=" . $order_id;
  22. $result = $pdo->query($sql_s);
  23. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  24. //发送短信
  25. if ($rowset) {
  26. $ifback = 1;
  27. $to_order_id = $rowset[0]['to_orderid'];
  28. $back_order_id = $rowset[0]['back_orderid'];
  29. $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'] . ")";
  30. $result = $pdo->query($sql);
  31. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  32. foreach ($rowset as $v) {
  33. $list[] = $v['order_id'];
  34. }
  35. } else {
  36. $sql = "select order_id from order_main where order_id = " . $order_id . " or parent_order_id = " . $order_id;
  37. $result = $pdo->query($sql);
  38. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  39. foreach ($rowset as $v) {
  40. $list[] = $v['order_id'];
  41. }
  42. }
  43. //是否有至订单
  44. $list = implode(",", $list);
  45. $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 "
  46. . "from order_main a,order_main b "
  47. . "where a.order_id = b.PARENT_ORDER_ID and a.order_id in (" . $list . ") group by a.order_id";
  48. $result = $pdo->query($sql);
  49. $order_info = $result->fetchAll(PDO::FETCH_ASSOC);
  50. foreach ($order_info as $v) {
  51. $list_P[] = $v['order_pay_main_id'];
  52. }
  53. $list_P = implode(",", $list_P);
  54. $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 . ")";
  55. $rs = $pdo->query($sql_pay);
  56. $sql_order_status = "update order_main set order_status =146,ORDER_PAY_STATUS=1 where order_id in(" . $list . ")";
  57. $rs2 = $pdo->query($sql_order_status);
  58. $sql = "update `disney_order` set yet =0 where order_id =" . $order_id;
  59. $res = $pdo->query($sql);
  60. $sql_s = "select * from disney_order where order_id = " . $order_id;
  61. $result = $pdo->query($sql_s);
  62. $rows_d = $result->fetchAll(PDO::FETCH_ASSOC);
  63. $list_d = Find($order_id);
  64. if (!isset($rows_d[0]['order_id']) && $list_d['prod_id'] != 450517 && $list_d['prod_id'] != 450522) {
  65. if (isset($ifback)) {
  66. send_msg($to_order_id);
  67. send_msg($back_order_id);
  68. } else {
  69. send_msg($order_id);
  70. }
  71. }
  72. $log = $sql . '##' . $sql_pay . "##" . $sql_order_status;
  73. success_notify($log);
  74. function success_notify($result)
  75. {
  76. file_put_contents('./order_confirm.txt', date("Y-m-d H:i:s") . " " . $result . PHP_EOL, FILE_APPEND);//订单成功后通知后台日志
  77. }
  78. echo "支付成功";
  79. die;
  80. function send_msg($ORDER_ID)
  81. {
  82. $send_pdo = conn();
  83. $order_id = $ORDER_ID;
  84. $url='http://cs1.zhizhuchuxing.com/api/msg/order-send-msg';
  85. $sendInfo=array();
  86. $sendInfo['order_id']=$order_id;
  87. $sendInfo['msg_type']='wx';
  88. $res_content = httpRequest($url,$sendInfo);
  89. //insert order extra
  90. $hotelPrice = isset($_GET['hotelPrice']) ? $_GET['hotelPrice'] : "";
  91. $doorPrice = isset($_GET["doorPrice"]) ? $_GET["doorPrice"] : "";
  92. if ($hotelPrice != "" || $doorPrice != "") {
  93. $sqlInsert = " INSERT INTO order_extra_info (order_id,hotel_price,gate_price) VALUE(" . $ORDER_ID . ",'" . $hotelPrice . "','" . $doorPrice . "') ";
  94. writeLog("insert extra info: " . $sqlInsert);
  95. $result = $send_pdo->exec($sqlInsert);
  96. }
  97. }
  98. //..短信模板-改为17:30后OK,当天下单也OK
  99. function get_msg_info($ORDER_ID)
  100. {
  101. $url='http://cs1.zhizhuchuxing.com/api/msg/get-msg-info';
  102. $sendInfo=array();
  103. $sendInfo['order_id']= $ORDER_ID;
  104. $sendInfo['msg_type']='wx';
  105. $res_content = httpRequest($url,$sendInfo);
  106. $result_array = json_decode($res_content,true);
  107. return array(isset($result_array['name']) ? $result_array['name'] : "", isset($result_array['mobile']) ? $result_array['mobile'] : "", isset($result_array['content']) ? $result_array['content'] : "短信错误,联系客服!!!");
  108. }
  109. function Find($order_id)
  110. {
  111. $pdo = conn();
  112. $sql = "select order_description,order_price,order_status "
  113. . "from order_main "
  114. . "where order_id=" . $order_id;
  115. $result = $pdo->query($sql);
  116. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  117. $order_price = $rowset[0];//订单总价格 订单票的数量
  118. $sql = "SELECT DISTINCT
  119. 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
  120. FROM `order_main`
  121. where PARENT_ORDER_ID=" . $order_id;
  122. $result = $pdo->query($sql);
  123. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  124. $order_station = $rowset[0];//订单来往地址 订单时间 订单好
  125. if (empty($order_station))
  126. return false;
  127. $array_order_desc = array();
  128. $arr_temp = explode('|', $order_price['order_description']);
  129. $arr = array();
  130. foreach ($arr_temp as $k => $v2) {
  131. if (!empty($v2))
  132. $array_order_desc[] = explode(',', $v2); //订单票 * 数量
  133. }
  134. $list = array();
  135. //上海(黄浦旅游集散站) - 乌镇(西栅1号停车场)//反的数组
  136. $list['station'] = $order_station['PROD_START_STATION_AREA_NAME'] . '(' . $order_station['PROD_START_STATION_RES_NAME'] . ')'
  137. . '-' . $order_station['PROD_END_STATION_AREA_NAME'] . '(' . $order_station['PROD_END_STATION_RES_NAME'] . ')';
  138. $list['start_station'] = $order_station['PROD_START_STATION_AREA_NAME'];
  139. $list['end_station'] = $order_station['PROD_END_STATION_AREA_NAME'];
  140. $list['start_res_name'] = $order_station['PROD_START_STATION_RES_NAME'];
  141. $list['end_res_name'] = $order_station['PROD_END_STATION_RES_NAME'];
  142. $list['run_date'] = $order_station['run_date'];
  143. $list['prod_name'] = $order_station['prod_name'];
  144. $list['prod_id'] = $order_station['parent_prod_id'];
  145. $list['create_time'] = $order_station['create_time'];
  146. $list['run_time'] = $order_station['run_date'] . ' ' . $order_station['run_time'];
  147. $list['count'] = '';
  148. foreach ($array_order_desc as $v) {
  149. $list['count'] .= ' ' . $v[0] . ' × ' . $v[2];
  150. }
  151. $list['order_price'] = $order_price['order_price'];
  152. $list['order_status'] = $order_price['order_status'];
  153. return $list;
  154. }