repository = $repository; $this->merId = 0; } /** * @return mixed * 展示线下订单 */ public function lst() { [$page, $limit] = $this->getPage(); $where = $this->request->params(['keyword', 'date', 'status', 'mer_id']); $is_excel = $this->request->param('is_excel', 0); $data = $this->repository->getMerchantListAdmin($this->merId, $where, $page, $limit); $list = $data['list']; if($is_excel){ $arr = []; foreach ($list as $item) { switch ($item['status']) { case 0: $status = '待支付'; break; case 1: $status = '已支付'; break; case 2: $status = '申请退款'; break; case 3: $status = '退款完成'; break; case 5: $status = '已失效'; break; default: $status = '未知'; break; } $arr[] = [ $item['id'], $item['mer_id'], $item['merchant']['mer_name'] ?? '', $item['uid'], $item['money'], $item['available'], $item['service_money'], $item['pension'], $item['swipe_fee'], $item['mer_money'], $item['mer_fanyong'], $item['actual'], $status, $item['create_time'], $item['out_trade_no'] ]; } $header = [ 'ID', '商户ID', '商户名称', '用户ID', '充值金额', '可分佣总额', '服务商返利', '养老金', '刷卡手续费', '商户金额', '商户返佣', '实到金额', '状态', '时间', '订单号' ]; return app('json')->success($this->getStatisticsExcel($header, $arr, '线下订单')); } return app('json')->success($data); } public function getStatisticsExcel($header,$arr,$title) { $filename = $title.'_'.date('YmdHis').'_'.rand(10000,99999); $name = $filename; $info = '生成时间:' . date('Y-m-d H:i:s',time()); $suffix='xlsx'; $path='offline_order'; unset($_instance); $_instance = SpreadsheetExcelService::instance_xin(); $_path =$_instance ->createOrActive() ->setExcelHeader($header) ->setExcelTile($title, $name, $info) ->setExcelContent($arr) ->excelSave($filename, $suffix, $path); $domain = request()->domain(); $data= [ 'name' => $filename.'.'.$suffix, 'status' => 1, 'path' => $domain.'/'.$_path ]; return $data; } }