search; $this->orderModel = QuotaManagementModel::getQuotaManagement($search); } public function index() { return view('Yunshop\RedPacket::admin.quota_management', $this->getData())->render(); } public function getData() { $pageSize = 10; $Search = \Yunshop::request()->get('search'); if ($Search) { $Search = array_filter($Search, function ($item) { return !empty($item); }); } $list['amount_sum'] = $this->orderModel->sum('receive_amount'); $list += $this->orderModel->orderBy('id', 'desc')->paginate($pageSize)->toArray(); foreach($list['data'] as $k => $v) { $list['data'][$k]['receive_amount'] = round(ReceiveLogsModel::uniacid()->where('member_id',$v['member_id'])->sum('receive_amount'),2); $amount = round(QuotaLogsModel::uniacid()->where('member_id',$v['member_id'])->sum('receive_amount'),2); $list['data'][$k]['amount'] = $amount <= 0 ? 0 : $amount; } $pager = PaginationHelper::show($list['total'], $list['current_page'], $list['per_page']); $data = [ 'list' => $list, 'pager' => $pager, 'search' => $Search, 'receive_amount' =>$list['receive_amount'] ]; return $data; } public function export() { $Search = \Yunshop::request()->get('search'); if ($Search) { $Search = array_filter($Search, function ($item) { return !empty($item); }); } request()->offsetSet('page', request()->input('export_page')); $dataBuilder = $this->orderModel->orderBy('id', 'DESC'); $exportService = new \app\common\services\ExportService($dataBuilder, request()->input('page')); $data = $dataBuilder->paginate(500); foreach($data as $value){ $value['receive_amount'] = round(ReceiveLogsModel::uniacid()->where('member_id',$value['member_id'])->sum('receive_amount'),2); $value['amount'] = round(QuotaLogsModel::uniacid()->where('member_id',$value['member_id'])->sum('receive_amount'), 2); } $file_name = date('Ymdhis', time()) . '红包额度管理'; $export_data[0] = [ '会员ID', '会员名称','会员电话','总额度','已领取金额','剩余额度' ]; foreach ($data as $key => $item) { $export_data[$key + 1] = [ $item->belongsToMember->uid, $item->belongsToMember->username, $item->belongsToMember->mobile, $item['amount'], $item['receive_amount'], ($item['amount']-$item['receive_amount']), ]; } return $exportService->export($file_name, $export_data, 'plugin.red-packet.admin.quota-management.index'); } }