SubstituteOrdersController.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: hp
  5. * Date: 2017/11/30
  6. * Time: 17:24
  7. */
  8. namespace App\Http\Controllers\Manage\Trade;
  9. use App\Http\Controllers\Controller;
  10. use App\Http\Controllers\Manage\Trade\Transformers\SubstituteOrderTransformer;
  11. use App\Modules\Subscribe\Services\SubstituteOrderService;
  12. use DB;
  13. use Illuminate\Http\Request;
  14. class SubstituteOrdersController extends Controller
  15. {
  16. /**
  17. * @apiDefine Trade 代付
  18. */
  19. /**
  20. * @apiVersion 1.0.0
  21. * @api {GET} trade/getSubstituteOrderInfos 获取订单列表
  22. * @apiGroup Trade
  23. * @apiName getSubstituteOrderInfos
  24. * @apiParam {String} [start_time] 开始时间
  25. * @apiParam {String} [end_time] 结束时间
  26. * @apiParam {Number} [distribution_channel_id] 分销渠道ID
  27. * @apiSuccess {String} date 日期.
  28. * @apiSuccess {Number} num 代付人数
  29. * @apiSuccess {Number} amount 代付金额
  30. * @apiSuccess {Number} success_num 代付成功订单
  31. * @apiSuccess {Number} click_substitute_order_pay_button_uv 充值页面代付按钮UV
  32. * @apiSuccess {Number} show_substitute_order_page_uv '代付页面UV
  33. * @apiSuccessExample {json} Success-Response:
  34. *
  35. * {
  36. * "code": 0,
  37. * "msg": "",
  38. * "data": [
  39. * {
  40. * "show_substitute_order_page_uv": 33,
  41. * "click_substitute_order_pay_button_uv": 11222,
  42. * "success_num": 122,
  43. * "amount": 45,
  44. * "num": 10,
  45. * "date": '2018-10-01',
  46. * }
  47. * ]
  48. * }
  49. */
  50. function getSubstituteOrderInfos(Request $request)
  51. {
  52. $end_time = $request->has('end_time') ? $request->input('end_time') : '';
  53. $start_time = $request->has('start_time') ? $request->input('start_time') : '';
  54. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  55. if (!$start_time) {
  56. $start_time = date("2018-10-1");
  57. }
  58. if (!$end_time) {
  59. $end_time = date("Y-m-d");
  60. }
  61. $result = SubstituteOrderService::substituteStats(false,$start_time, $end_time, $distribution_channel_id);
  62. foreach ($result as $item) {
  63. $date = $item->date;
  64. $distribution_channel_id = $item->distribution_channel_id;
  65. $item->show_substitute_order_page_uv = SubstituteOrderService::getSubstitutePageUvPv($distribution_channel_id, $date);
  66. $item->click_substitute_order_pay_button_uv = SubstituteOrderService::getSubstituteButtonUvPv($distribution_channel_id, $date);
  67. }
  68. return response()->pagination(new SubstituteOrderTransformer(), $result);
  69. }
  70. /**
  71. * @apiVersion 1.0.0
  72. * @api {GET} trade/exportSubstituteOrderInfos 导出订单列表
  73. * @apiGroup Trade
  74. * @apiName exportSubstituteOrderInfos
  75. * @apiParam {String} [start_time] 开始时间
  76. * @apiParam {String} [end_time] 结束时间
  77. * @apiParam {Number} [distribution_channel_id] 分销渠道ID
  78. * @apiSuccess {String} date 日期.
  79. * @apiSuccess {Number} num 代付人数
  80. * @apiSuccess {Number} amount 代付金额
  81. * @apiSuccess {Number} success_num 代付成功订单
  82. * @apiSuccess {Number} click_substitute_order_pay_button_uv 充值页面代付按钮UV
  83. * @apiSuccess {Number} show_substitute_order_page_uv '代付页面UV
  84. * @apiSuccessExample {json} Success-Response:
  85. *
  86. * {
  87. * "code": 0,
  88. * "msg": "",
  89. * "data": [
  90. * {
  91. * "show_substitute_order_page_uv": 33,
  92. * "click_substitute_order_pay_button_uv": 11222,
  93. * "success_num": 122,
  94. * "amount": 45,
  95. * "num": 10,
  96. * "date": '2018-10-01',
  97. * }
  98. * ]
  99. * }
  100. */
  101. function exportSubstituteOrderInfos(Request $request)
  102. {
  103. $end_time = $request->has('end_time') ? $request->input('end_time') : '';
  104. $start_time = $request->has('start_time') ? $request->input('start_time') : '';
  105. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  106. if (!$start_time) {
  107. $start_time = date("2018-10-1");
  108. }
  109. if (!$end_time) {
  110. $end_time = date("Y-m-d");
  111. }
  112. $result = SubstituteOrderService::substituteStats(true,$start_time, $end_time, $distribution_channel_id);
  113. header("Content-type:application/vnd.ms-excel");
  114. header("Content-Disposition:attachment;filename=" . "代付信息" . date("YmdHis") . ".csv");
  115. echo("\"" . mb_convert_encoding("\"日期\",\"代付人数\",\"代付金额\",\"充值页面代付按钮UV\",\"代付页面UV\",\"代付订单\",\"代付成功订单\"\r\n", "GBK", "UTF-8") . "\",");
  116. foreach ($result as $item) {
  117. $date = $item->date;
  118. $distribution_channel_id = $item->distribution_channel_id;
  119. $item->show_substitute_order_page_uv = SubstituteOrderService::getSubstitutePageUvPv($distribution_channel_id, $date);
  120. $item->click_substitute_order_pay_button_uv = SubstituteOrderService::getSubstituteButtonUvPv($distribution_channel_id, $date);
  121. echo("\"" . mb_convert_encoding($item->date, "GBK", "UTF-8") . "\",");
  122. echo("\"" . mb_convert_encoding($item->users_num, "GBK", "UTF-8") . "\",");
  123. echo("\"" . mb_convert_encoding($item->amount, "GBK", "UTF-8") . "\",");
  124. echo("\"" . mb_convert_encoding($item->click_substitute_order_pay_button_uv, "GBK", "UTF-8") . "\",");
  125. echo("\"" . mb_convert_encoding($item->show_substitute_order_page_uv, "GBK", "UTF-8") . "\",");
  126. //代付订单
  127. echo("\"" . mb_convert_encoding($item->num, "GBK", "UTF-8") . "\",");
  128. echo("\"" . $item->success_num . "\"\r\n");
  129. }
  130. exit();
  131. }
  132. }