kdniao_notify.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. require_once(BASE_MOBILE_PATH . '/control/app_pay.php');
  3. require_once (BASE_DATA_PATH . '/logic/delivery.logic.php');
  4. $requestData = $_POST['RequestData']; // 快递鸟数据
  5. $deliver_info = json_decode(urldecode($requestData));
  6. Log::record("kdniao_notify: post data={$requestData}",Log::DEBUG);
  7. //数据不正确, 记录并退出
  8. if ($deliver_info === false || empty($deliver_info))
  9. {
  10. Log::record("kdniao_notify:cannot query delivery info from kuaidn.",Log::ERR);
  11. }
  12. else
  13. {
  14. // 订单sn号
  15. $order_sn = $deliver_info['Data']['CallBack'];
  16. // 数据解析
  17. switch ($deliver_info['Data']['State'])
  18. {
  19. case '2': // 在途中, 不处理
  20. $msg = '在途中';
  21. Log::record('订单: {$order_sn} 在途中');
  22. break;
  23. case '3': // 已签收, 设置为已收货
  24. {
  25. $msg = '已签收';
  26. $model_order = Model('order');
  27. $condition = array();
  28. $condition['order_state'] = ORDER_STATE_SEND;
  29. $condition['order_sn'] = $order_sn;
  30. $update = array();
  31. $update['order_state'] = ORDER_STATE_SUCCESS; // 收货成功状态
  32. $update = $model_order->editOrder($update, $condition);
  33. if (!$update) {
  34. Log::record('更新订单状态为已收货状态时写入失败');
  35. }
  36. }
  37. break;
  38. case '4': // 问题件
  39. $msg = '问题件';
  40. break;
  41. default: {
  42. Log::record('query_status false');
  43. break;
  44. }
  45. }
  46. }
  47. echo (json_encode(array('EBusinessID' => '1256051', 'Success' => true,'Reason' => '')));
  48. ?>