IncomeRecordsController.php 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. *
  5. * User: king/QQ:995265288
  6. * Date: 2018/5/15 上午9:51
  7. * Email: livsyitian@163.com
  8. */
  9. namespace app\backend\modules\income\controllers;
  10. use app\backend\modules\income\models\Income;
  11. use app\common\components\BaseController;
  12. use app\common\helpers\PaginationHelper;
  13. use app\common\services\ExportService;
  14. class IncomeRecordsController extends BaseController
  15. {
  16. //收入明细
  17. public function index()
  18. {
  19. if (request()->ajax()) {
  20. $records = Income::records()->withMember();
  21. $search = \YunShop::request()->search;
  22. if ($search) {
  23. $records = $records->search($search)->searchMember($search);
  24. }
  25. $pageList = $records->orderBy('id', 'desc')->paginate();
  26. $amount = $records->sum('amount');
  27. $pageList->map(function ($item) {
  28. $item->member->nickname = $item->member->nickname ?:
  29. ($item->member->mobile ? substr($item->member->mobile, 0, 2) . '******' . substr($item->member->mobile, -2, 2) : '无昵称会员');
  30. });
  31. $pageList = $records->orderBy('id', 'desc')->paginate();
  32. return $this->successJson('ok', [
  33. 'pageList' => $pageList,
  34. 'search' => $search,
  35. 'income_type_comment' => $this->getIncomeTypeComment(),
  36. 'amount' => $amount
  37. ]);
  38. }
  39. return view('income.income_records')->render();
  40. }
  41. //收入明细导出excel
  42. public function export()
  43. {
  44. $records = Income::records()->withMember()->orderBy('created_at', 'desc');
  45. $search = \YunShop::request()->search;
  46. if ($search) {
  47. if (isset($search['time'])) {
  48. $search['time'] = explode(',', $search['time']);
  49. $search['time'] = [
  50. 'start' => $search['time'][0],
  51. 'end' => $search['time'][1]
  52. ];
  53. }
  54. $records = $records->search($search)->searchMember($search);
  55. }
  56. $export_page = request()->export_page ? request()->export_page : 1;
  57. $export_model = new ExportService($records, $export_page);
  58. // $data = $records->orderBy('created_at','desc')->limit(20)->get()->toArray();
  59. $excel_data=[['会员id','粉丝','姓名','手机','时间','收入金额','业务类型','提现状态','打款状态']];
  60. // foreach ($data as $v){
  61. foreach ($export_model->builder_model->toArray() as $v){
  62. $excel_data[]=[
  63. $v['member_id'],
  64. empty($v['member']['nickname']) ? '' : $v['member']['nickname'],
  65. empty($v['member']['realname']) ? '' : $v['member']['realname'],
  66. empty($v['member']['mobile']) ? '' : $v['member']['mobile'],
  67. $v['created_at'],
  68. $v['amount'],
  69. $v['type_name'],
  70. $v['status_name'],
  71. $v['pay_status_name']
  72. ];
  73. }
  74. $file_name = date('Ymdhis', time()) . '收入明细导出'.$export_page;
  75. $export_model->export($file_name, $excel_data, "income.income-records.index");
  76. }
  77. private function getIncomeTypeComment()
  78. {
  79. return \app\backend\modules\income\Income::current()->getItems();
  80. }
  81. }