search; $this->orderModel = ReceiveLogsModel::getReceive($search); } public function index() { return view('Yunshop\RedPacket::admin.receive_logs', $this->getData())->render(); } public function getData() { $pageSize = 15; $Search = \Yunshop::request()->get('search'); $member_id = \YunShop::request()->get('member_id'); $quota_id =\YunShop::request()->get('quota_id'); if ($Search) { $Search = array_filter($Search, function ($item) { return !empty($item); }); } if ($quota_id) { $list['receive_amount'] = round($this->orderModel->where('red_packet_id',$quota_id)->sum('receive_amount'),2);//已领取红包数量 $list += $this->orderModel->where('red_packet_id',$quota_id)->orderBy('id', 'desc')->paginate($pageSize)->appends(['builder_model'])->toArray(); } if ($member_id) { $list['receive_amount'] = round($this->orderModel->where('member_id',$member_id)->sum('receive_amount'),2);//已领取红包数量 // $list['amount_sum'] = $this->orderModel->where('member_id',$id)->sum('amount');//已领取红包数量 $list += $this->orderModel->where('member_id',$member_id)->orderBy('id', 'desc')->paginate($pageSize)->appends(['builder_model'])->toArray(); }else { $list['receive_amount'] = round($this->orderModel->sum('receive_amount'),2);//已领取红包数量 // $list['amount_sum'] = $this->orderModel->sum('amount');//已领取红包数量 $list += $this->orderModel->orderBy('id', 'desc')->paginate($pageSize)->appends(['builder_model'])->toArray(); } $pager = PaginationHelper::show($list['total'], $list['current_page'], $list['per_page']); $data = [ 'list' => $list, 'receive_amount' => $list['receive_amount'], 'pager' => $pager, 'search' => $Search, 'amount_sum' =>$list['amount_sum'] ]; return $data; } public function export() { $Search = \Yunshop::request()->get('search'); if ($Search) { $Search = array_filter($Search, function ($item) { return !empty($item); }); } $data = $this->orderModel->orderBy('id','Asc')->get()->toArray(); $file_name = date('Ymdhis', time()) . '领取记录'; $export_data[0] = [ 'ID', '会员名称','会员电话','红包总额度','领取金额','剩余额度','时间' ]; foreach ($data as $key => $item) { $export_data[$key + 1] = [ $item['id'], $item['belongs_to_member']['username'], $item['belongs_to_member']['mobile'], $item['amount'], $item['receive_amount'], ($item['amount']- $item['receive_amount']), $item['created_at'] ]; } return \app\exports\ExcelService::fromArrayExport($export_data, $file_name); // \Excel::create($file_name, function ($excel) use ($export_data) { // $excel->setTitle('Office 2005 XLSX Document'); // // $excel->setCreator('') // ->setLastModifiedBy("") // ->setSubject("Office 2005 XLSX Test Document") // ->setDescription("Test document for Office 2005 XLSX, generated using PHP classes.") // ->setKeywords("office 2005 openxml php") // ->setCategory("report file"); // // $excel->sheet('info', function ($sheet) use ($export_data) { // $sheet->rows($export_data); // }); // })->export('xls'); } }