bztang-admin/plugins/red-packet/src/admin/BonusLogsController.php

71 lines
2.0 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: yunzhong
* Date: 2019/10/31
* Time: 11:50
*/
namespace Yunshop\RedPacket\admin;
use app\common\components\BaseController;
use Yunshop\RedPacket\models\BonusReceiveLogsModel;
use Yunshop\RedPacket\models\ReceiveLogsModel;
use app\common\helpers\PaginationHelper;
class BonusLogsController extends BaseController
{
public function index()
{
return view('Yunshop\RedPacket::admin.bonus_receive_logs', $this->getData())->render();
}
public function getData()
{
$search = \Yunshop::request()->get('search');
if ($search) {
$search = array_filter($search, function ($item) {
return !empty($item);
});
}
$list = BonusReceiveLogsModel::uniacid()->search($search)->paginate();
$receive_amount = BonusReceiveLogsModel::uniacid()->search($search)->sum('receive_amount');
$pager = PaginationHelper::show($list->total(), $list->currentPage(), $list->perPage());
$data = [
'receive_amount' => $receive_amount,
'list' => $list,
'pager' => $pager,
'search' => $search,
];
return $data;
}
public function export()
{
$search = \Yunshop::request()->get('search');
if ($search) {
$search = array_filter($search, function ($item) {
return !empty($item);
});
}
$list = BonusReceiveLogsModel::uniacid()->search($search)->get();
$file_name = date('Ymdhis', time()) . '领取记录';
$export_data[0] = [
'时间','会员名称','会员电话','额外奖励金额'
];
foreach ($list as $key => $item) {
$export_data[$key + 1] = [
$item->created_at,
$item->belongsToMember->username,
$item->belongsToMember->mobile,
$item->receive_amount
];
}
return \app\exports\ExcelService::fromArrayExport($export_data, $file_name);
}
}