Пример #1
0
 public function actionIndex()
 {
     $this->layout = 'metronic';
     $searchModel = new MOrderSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->get());
     if (isset($_GET['orderdownload'])) {
         //$dataProvider->query->select($attributes);
         $dataProvider->query->select(['*', '(feesum)/100 as gh_id', "CONCAT('\\'',userid) as appid_recv", "(CASE status WHEN 0 THEN '等待付款' WHEN 3 THEN '交易成功' WHEN 7 THEN '用户取消订单' WHEN 9 THEN '超时自动取消订单' ELSE '' END) as partner", "(CASE pay_kind WHEN 0 THEN '线下支付' WHEN 1 THEN '支付宝' WHEN 2 THEN '微信支付' ELSE '' END) as openid_recv"]);
         $dataProvider->setPagination(false);
         $data = $dataProvider->getModels();
         $date = date('Y-m-d-His');
         $filename = Yii::$app->getRuntimePath() . "/order-{$date}.csv";
         $csv = new \app\models\ECSVExport($data);
         //$attributes = ['oid', 'office_id', 'office.title', 'detail', 'gh_id', 'select_mobnum', 'create_time', 'appid_recv', 'username', 'usermobile', 'status', 'partner', 'pay_kind', 'memo', 'openid_recv'];
         $attributes = ['oid', 'office_id', 'office.title', 'detail', 'gh_id', 'select_mobnum', 'create_time', 'appid_recv', 'username', 'usermobile', 'partner', 'memo', 'openid_recv', 'customerflag'];
         //$attributes = ['oid', 'office_id', 'office.title', 'detail', 'gh_id', 'select_mobnum', 'create_time', 'appid_recv', 'username', 'usermobile', 'partner', 'memo', 'openid_recv'];
         $csv->setInclude($attributes);
         $csv->setHeaders(['Gh Id' => '金额', 'Customerflag' => '新老用户', 'Appid Recv' => '身份证', 'Partner' => '订单状态', 'Openid Recv' => '支付方式']);
         //$csv->setHeaders(['Gh Id'=>'金额', 'Appid Recv'=>'身份证', 'Partner'=>'订单状态', 'Openid Recv'=>'支付方式']);
         $csv->toCSV($filename);
         Yii::$app->response->sendFile($filename);
         return;
     }
     return $this->render('index', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel]);
 }
Пример #2
0
 /**
  * Lists all MOrder models.
  * @return mixed
  */
 public function actionIndex($userid)
 {
     $searchModel = new MOrderSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams, $userid);
     if (isset($_GET['download'])) {
         $filepathname = Yii::$app->getRuntimePath() . DIRECTORY_SEPARATOR . 'order' . "-{$date}.csv";
         $fh = fopen($filepathname, 'w');
         //在写入数据之前先把bom头写到文件里
         fwrite($fh, "");
         fprintf($fh, "订单号, 商品, 订单时间, 订单状态, 用户姓名, 联系电话\n");
         if (Yii::$app->user->identity->role == 1) {
             $orders = MOrder::find()->all();
         } else {
             $orders = MOrder::find()->where(['userid' => $userid])->all();
         }
         if (!empty($orders)) {
             foreach ($orders as $order) {
                 $status = $order->status == 1 ? "已申请" : "已处理";
                 fprintf($fh, "%s, %s, %s, %s, %s, %s\n", $order->oid, $order->title, $order->create_time, $status, $order->username, $order->usermobile);
             }
         }
         fclose($fh);
         iconv("UTF-8", "GB2312", "{$filepathname}");
         Yii::$app->response->sendFile($filepathname);
         return;
     }
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
 }