MemberExportController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. /****************************************************************
  3. * Author: king -- LiBaoJia
  4. * Date: 12/25/20 4:11 PM
  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\member\models\Member;
  12. use app\common\components\BaseController;
  13. use app\common\services\ExportService;
  14. class MemberExportController 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. date('Y-m-d H:i:s', $item->createtime),
  23. $item->uid,
  24. strpos($item->nickname,'=') === 0 ? ' ' . $item->nickname : $item->nickname,
  25. strpos($item->realname,'=') === 0 ? ' ' . $item->realname : $item->realname,
  26. $item->mobile,
  27. $item->credit1,
  28. ];
  29. }
  30. $exportService->export($this->fileName(), $exportData, \Request::query('route'));
  31. }
  32. /**
  33. * 导出数据标题
  34. *
  35. * @return array
  36. */
  37. private function exportTitle()
  38. {
  39. return [
  40. '时间',
  41. '会员ID',
  42. '昵称',
  43. '姓名',
  44. '手机号',
  45. '积分',
  46. ];
  47. }
  48. private function exportBuilder()
  49. {
  50. $recordsModels = Member::searchMembers(\YunShop::request(), 'credit1');
  51. return $recordsModels->orderBy('uid', 'desc');
  52. }
  53. /**
  54. * @return array
  55. */
  56. public function searchParams()
  57. {
  58. return request()->search ?: [];
  59. }
  60. /**
  61. * 导出页面页面值
  62. *
  63. * @return int
  64. */
  65. private function exportPage()
  66. {
  67. return request()->export_page ?: 1;
  68. }
  69. /**
  70. * 导出文件名称
  71. *
  72. * @return string
  73. */
  74. private function fileName()
  75. {
  76. return date('Y-m-d-h-i-s', time()) . '会员积分导出';
  77. }
  78. }