CouponUseController.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: 17812
  5. * Date: 2020/8/31
  6. * Time: 11:22
  7. */
  8. namespace app\backend\modules\coupon\controllers;
  9. use app\common\components\BaseController;
  10. use app\common\models\coupon\CouponUseLog;
  11. use app\common\helpers\PaginationHelper;
  12. use app\common\services\ExportService;
  13. class CouponUseController extends BaseController
  14. {
  15. private $page;
  16. public function index()
  17. {
  18. $this->page = $this->getPage();
  19. $search = request()->search;
  20. $list = CouponUseLog::getRecords($search)->paginate('', ['*'], '', $this->page);
  21. $list = $list->toArray();
  22. return view('coupon.coupon-use', [
  23. 'list' => json_encode($list),
  24. 'use_type' => json_encode(CouponUseLog::$TypeComment),
  25. 'member_id' => request()->member_id,
  26. ])->render();
  27. }
  28. public function log()
  29. {
  30. $this->page = $this->getPage();
  31. $search = request()->search;
  32. $list = CouponUseLog::getRecords($search)->paginate('', ['*'], '', $this->page);
  33. $list = $list->toArray();
  34. return $this->successJson('ok', ['list' => $list]);
  35. }
  36. /**
  37. * @return int
  38. */
  39. private function getPage()
  40. {
  41. return (int)request()->page ?: 1;
  42. }
  43. public function export()
  44. {
  45. $search = request()->search;
  46. if($search['is_time']) {
  47. $search['time']['start'] = $search['time_start'];
  48. $search['time']['end'] = $search['time_end'];
  49. }
  50. $builder = CouponUseLog::getRecords($search)->orderBy('id', 'desc');
  51. $export_page = request()->export_page ? request()->export_page : 1;
  52. $export_model = new ExportService($builder, $export_page);
  53. $file_name = date('Ymdhis', time()) . '优惠券领取发放记录导出';
  54. $export_data[0] = ['使用时间', '优惠券名称', '会员', '使用类型', '详情'];
  55. if ($export_model->builder_model->isEmpty()) {
  56. return $this->message('导出数据为空', Url::absoluteWeb('coupon.coupon-use.index'), 'error');
  57. }
  58. foreach ($export_model->builder_model as $key => $item) {
  59. $export_data[$key + 1] = [
  60. date('Y-m-d H:i:s',strtotime($item->created_at)),
  61. $item['hasOneCoupon']['name'],
  62. '昵称:'.$item['belongsToMember']['nickname'] .'/ 电话:'.$item['belongsToMember']['mobile'],
  63. $item['type_name'],
  64. $item['detail'],
  65. ];
  66. }
  67. $export_model->export($file_name, $export_data, \Request::query('route'));
  68. }
  69. }