RechargeExportController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. /****************************************************************
  3. * Author: king -- LiBaoJia
  4. * Date: 12/28/20 9:57 AM
  5. * Email: livsyitian@163.com
  6. * QQ: 995265288
  7. * IDE: PhpStorm
  8. * User: 芸众商城 www.yunzshop.com
  9. ****************************************************************/
  10. namespace app\backend\modules\point\controllers;
  11. use app\backend\modules\point\models\RechargeModel;
  12. use app\common\components\BaseController;
  13. use app\common\services\ExportService;
  14. class RechargeExportController extends BaseController
  15. {
  16. public function index()
  17. {
  18. $exportService = new ExportService($this->exportBuilder(), $this->exportPage());
  19. $exportData[0] = $this->exportTitle();
  20. foreach ($exportService->builder_model as $key => $item) {
  21. $exportData[$key + 1] = [
  22. $item->created_at,
  23. $item->member->uid,
  24. $item->member->nickname,
  25. $item->member->realname,
  26. $item->member->mobile,
  27. $item->order_sn,
  28. $item->money,
  29. $item->type_name,
  30. $item->status == 1 ? "充值成功" : "充值失败",
  31. $item->remark,
  32. ];
  33. }
  34. $exportService->export($this->fileName(), $exportData, \Request::query('route'));
  35. }
  36. /**
  37. * 导出数据标题
  38. *
  39. * @return array
  40. */
  41. private function exportTitle()
  42. {
  43. return [
  44. '充值时间',
  45. '会员ID',
  46. '昵称',
  47. '姓名',
  48. '手机号',
  49. '充值单号',
  50. '充值积分',
  51. '充值方式',
  52. '充值状态',
  53. '充值备注',
  54. ];
  55. }
  56. private function exportBuilder()
  57. {
  58. $recordsModels = RechargeModel::uniacid()->with('member');
  59. if ($search = $this->searchParams()) {
  60. $recordsModels = $recordsModels->search($search);
  61. }
  62. return $recordsModels->orderBy('id', 'desc');
  63. }
  64. /**
  65. * @return array
  66. */
  67. public function searchParams()
  68. {
  69. return request()->search ?: [];
  70. }
  71. /**
  72. * 导出页面页面值
  73. *
  74. * @return int
  75. */
  76. private function exportPage()
  77. {
  78. return request()->export_page ?: 1;
  79. }
  80. /**
  81. * 导出文件名称
  82. *
  83. * @return string
  84. */
  85. private function fileName()
  86. {
  87. return date('Y-m-d-h-i-s', time()) . '会员积分充值记录导出';
  88. }
  89. }