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.
 
 
 
 

106 lines
4.8 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: luocj
  5. * Date: 2016/10/9
  6. * Time: 14:39
  7. */
  8. require_once "Api/ApiBase.php";
  9. require_once "Lib/Action/HTOrderDetail.class.php";
  10. //根据原有代码引用修改
  11. class HotelDetail extends ApiBase
  12. {
  13. function hotelOrderDetail()
  14. {
  15. $order_id = isset($_POST['order_id']) ? ($_POST['order_id']) : (isset($_GET['order_id']) ? ($_GET['order_id']) : "");
  16. if ($order_id == "") {
  17. $data['code'] = 16;
  18. $data['info'] = "缺少订单号";
  19. return $data;
  20. }
  21. $HTOrderDetail = new HTOrderDetail();
  22. //获取主订单信息 订单备注在里面还未处理
  23. $obj = $HTOrderDetail->getOrderDetail($order_id);
  24. if ($obj['code'] == 0) {
  25. if ($obj['data']) {
  26. foreach ($obj['data'] as $k => $v) {
  27. if ($v['parent_order_id'] == 0) {
  28. //处理父订单
  29. $data['order_id'] = $order_id;
  30. $data['hotel_name'] = $v['parent_prod_name'];
  31. $data['room_name'] = $v['prod_name'];
  32. $data['org_id'] = $v['outside_sale_org_id'];
  33. $data['org_name'] = $v['outside_sale_org_name'];
  34. $data['org_num'] = $v['outside_order_no'];
  35. $data['order_status'] = $v['order_status'];
  36. $data['order_status_name'] = $v['order_status_name'];
  37. $data['start_date'] = $v['start_date'];
  38. $data['end_date'] = $v['end_date'];
  39. $data['customer_name'] = $v['customer_name'];
  40. $data['customer_mobile'] = $v['customer_mobile'];
  41. $data['order_confirm_code'] = $v['order_confirm_code'];
  42. $data['all_profit'] = $v['profit_value'];
  43. $data['all_price'] = $v['order_price'];
  44. $data['all_commission'] = $v['total_commission'];
  45. $data['memo'] = array();
  46. //处理备注
  47. if ($v['customer_memo'] != '') {
  48. $tmp_memo = explode('||', $v['customer_memo']);
  49. $tmp_memo1 = array();
  50. foreach ($tmp_memo as $v) {
  51. $tmp_memo1[] = explode('|', $v);
  52. }
  53. foreach ($tmp_memo1 as $v) {
  54. $data['memo'][] = array(
  55. 'user_id' => $v[0],
  56. 'time' => $v[1],
  57. 'memo_type' => $v[2],
  58. 'memo_info' => $v[3]
  59. );
  60. }
  61. }
  62. } else {
  63. //处理子订单
  64. $data['run_time'] = $v['run_time'];
  65. $data['one_day'][] = array(
  66. 'start_date' => $v['start_date'],
  67. 'profit_value' => $v['profit_value'],
  68. 'commission' => $v['total_commission'],
  69. 'order_price' => $v['order_price'],
  70. 'base_price' => $v['order_price'] - $v['profit_value'] - $v['total_commission']
  71. );
  72. }
  73. };
  74. $tmp_data = array();
  75. $tmp_date = array();
  76. //子订单相同日期累加
  77. foreach ($data['one_day'] as $v) {
  78. if (in_array($v['start_date'], $tmp_date)) {
  79. $tmp_data[$v['start_date']]['count'] = $tmp_data[$v['start_date']]['count'] + 1;
  80. $tmp_data[$v['start_date']]['commission'] += $v['commission'];
  81. $tmp_data[$v['start_date']]['order_price'] += $v['order_price'];
  82. $tmp_data[$v['start_date']]['base_price'] += $v['base_price'];
  83. $tmp_data[$v['start_date']]['profit_value'] += $v['profit_value'];
  84. } else {
  85. $tmp_data[$v['start_date']] = $v;
  86. $tmp_data[$v['start_date']]['count'] = 1;
  87. $tmp_date[$v['start_date']] = $v['start_date'];
  88. }
  89. }
  90. $data['one_day'] = array_values($tmp_data);
  91. }
  92. }
  93. foreach ($obj['user']['rowset'] as $v) {
  94. $tmp_user[$v['id']] = $v['true_name'];
  95. }
  96. foreach ($data['memo'] as $key => $v) {
  97. $data['memo'][$key]['user_name'] = $tmp_user[$v['user_id']];
  98. }
  99. return $data;
  100. }
  101. }
  102. $HotelOrderDetail = new HotelDetail();
  103. $data = $HotelOrderDetail->hotelOrderDetail();
  104. echo json_encode($data);