<?php
|
|
namespace app\shop\controller\statistics;
|
|
use app\shop\controller\Controller;
|
use app\shop\model\order\Order as OrderModel;
|
use app\shop\model\supplier\Supplier as SupplierModel;
|
use app\shop\service\order\ExportService;
|
|
|
/**
|
* 订单统计数据控制器
|
*/
|
class Income extends Controller
|
{
|
/**
|
* 店内订单数据
|
*
|
*/
|
public function index()
|
{
|
$data = $this->postData();
|
$model = new OrderModel();
|
$data['order_type'] = "-1";
|
|
//商家数据
|
$supplierList = SupplierModel::getAll();
|
|
$days = $this->getDays($data['type'], $data['time']);
|
//收入概况
|
$list = $model->getOrderIncome($days,$data['shop_supplier_id'], $data);
|
|
return $this->renderSuccess('', compact('days', 'supplierList', 'list'));
|
}
|
|
/**
|
* 获取具体日期数组
|
*/
|
private function getDays($type, $time)
|
{
|
switch ($type) {
|
case '1'://今天
|
$start_time = date('Y-m-d', time());
|
$end_time = date('Y-m-d', time());
|
break;
|
case '2'://近7天
|
$start_time = date('Y-m-d', strtotime('-6 day', time()));
|
$end_time = date('Y-m-d', time());
|
break;
|
case '3'://近15天
|
$start_time = date('Y-m-d', strtotime('-14 day', time()));
|
$end_time = date('Y-m-d', time());
|
break;
|
case '5'://当月
|
$start_time = date('Y-m-01');
|
$end_time = date('Y-m-d', time());
|
break;
|
case '4'://自定义
|
$start_time = $time[0];
|
$end_time = $time[1];
|
break;
|
default:
|
$start_time = date('Y-m-d', strtotime('-6 day', time()));
|
$end_time = date('Y-m-d', time());
|
break;
|
}
|
$dt_start = strtotime($start_time);
|
$dt_end = strtotime($end_time);
|
$date = [];
|
$date[] = $start_time;
|
while ($dt_start < $dt_end) {
|
$date[] = date('Y-m-d', strtotime('+1 day', $dt_start));
|
$dt_start = strtotime('+1 day', $dt_start);
|
}
|
return $date;
|
}
|
|
/**
|
* 导出
|
*/
|
public function export()
|
{
|
$data = $this->postData();
|
$model = new OrderModel();
|
$data['order_type'] = "-1";
|
|
$days = $this->getDays($data['type'], $data['time']);
|
//收入概况
|
$list = $model->getOrderIncome($days,$data['shop_supplier_id'], $data);
|
return (new Exportservice)->incomeList($list);
|
}
|
}
|