MemberInvitedController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: yunzhong
  5. * Date: 2019/2/13
  6. * Time: 15:41
  7. */
  8. namespace app\backend\modules\member\controllers;
  9. use app\common\components\BaseController;
  10. use app\common\models\member\MemberInvitationCodeLog;
  11. use app\common\helpers\PaginationHelper;
  12. use app\common\services\ExportService;
  13. use app\common\models\MemberShopInfo;
  14. class MemberInvitedController extends BaseController
  15. {
  16. /**
  17. * 加载模板
  18. * @return string
  19. * @throws \Throwable
  20. */
  21. public function index()
  22. {
  23. return view('member.invited', [])->render();
  24. }
  25. public function show()
  26. {
  27. $search = \YunShop::request()->search;
  28. $list = MemberInvitationCodeLog::searchLog($search)
  29. ->orderBy('id', 'desc')
  30. ->groupBy('member_id')
  31. ->paginate()
  32. ->toArray();
  33. return $this->successJson('ok', [
  34. 'list'=>$list,
  35. 'search'=>$search
  36. ]);
  37. }
  38. public function export()
  39. {
  40. $member_builder = MemberInvitationCodeLog::searchLog(\YunShop::request()->search);
  41. $export_page = request()->export_page ? request()->export_page : 1;
  42. $export_model = new ExportService($member_builder, $export_page);
  43. $file_name = date('Ymdhis', time()) . '邀请码使用情况导出';
  44. $export_data[0] = ['ID', '邀请人id', '被邀请人id', '邀请码', '注册时间'];
  45. $list = $export_model->builder_model->toArray();
  46. if ($list) {
  47. foreach ($list as $key => $item) {
  48. $export_data[$key + 1] = [$item['id'], $item['mid'], $item['member_id'], $item['invitation_code'],
  49. $item['created_at']
  50. ];
  51. }
  52. // 此处参照商城订单管理的导出接口
  53. app('excel')->store(new \app\exports\FromArray($export_data),$file_name.'.xlsx','export');
  54. app('excel')->download(new \app\exports\FromArray($export_data),$file_name.'.xlsx')->send();
  55. } else {
  56. return $this->message('暂无数据', yzWebUrl('member.member-invited.index'));
  57. }
  58. }
  59. }