|
@@ -11,6 +11,12 @@ class StatisticsController
|
|
|
public function order(Request $request)
|
|
|
{
|
|
|
$orderCategory = $request->get('order_category');
|
|
|
+ $searchTime = $request->get('order_addtimes');
|
|
|
+ if (!empty($searchTime)){
|
|
|
+ $searchTime[0] = strtotime($searchTime[0]);
|
|
|
+ $searchTime[1] = strtotime($searchTime[1]);
|
|
|
+ }
|
|
|
+
|
|
|
if (!$orderCategory) {
|
|
|
return json_fail('参数异常');
|
|
|
}
|
|
@@ -32,22 +38,22 @@ class StatisticsController
|
|
|
->where('pay_status', 'SUCCESS')
|
|
|
->whereIn('pay_category', $orderCategory)
|
|
|
->sum('pay_amount');
|
|
|
- $todayRevenueOrderNbrModel = Db::select("select count(1) as total from (select join_pay_order_id from app_pay_detail where
|
|
|
+ $todayRevenueOrderNbrModel = Db::select("select count(1) as total from (select join_pay_order_id,JSON_EXTRACT(join_pay_object_json,'$.order_id') as order_id from app_pay_detail where
|
|
|
CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= {$todayTimeUnix}
|
|
|
and pay_status = 'SUCCESS'
|
|
|
and pay_category in ({$orderCategoryStr})
|
|
|
- group by join_pay_order_id) count");
|
|
|
+ group by join_pay_order_id,order_id) count");
|
|
|
$statistics['todayRevenueOrderNbr'] = $todayRevenueOrderNbrModel[0]->total;
|
|
|
// 昨日收入
|
|
|
$statistics['yesterdayRevenue'] = PayDetail::whereRaw('CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= ? and CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) <= ?', [$yesterdayStart, $yesterdayEnd])
|
|
|
->where('pay_status', 'SUCCESS')
|
|
|
->whereIn('pay_category', $orderCategory)
|
|
|
->sum('pay_amount');
|
|
|
- $yesterdayRevenueOrderNbrModel = Db::select("select count(1) as total from (select join_pay_order_id from app_pay_detail where
|
|
|
+ $yesterdayRevenueOrderNbrModel = Db::select("select count(1) as total from (select join_pay_order_id,JSON_EXTRACT(join_pay_object_json,'$.order_id') as order_id from app_pay_detail where
|
|
|
CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= {$yesterdayStart} and CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) <= {$yesterdayEnd}
|
|
|
and pay_status = 'SUCCESS'
|
|
|
and pay_category in ({$orderCategoryStr})
|
|
|
- group by join_pay_order_id) count");
|
|
|
+ group by join_pay_order_id,order_id) count");
|
|
|
$statistics['yesterdayRevenueOrderNbr'] = $yesterdayRevenueOrderNbrModel[0]->total;
|
|
|
|
|
|
// 本月收入
|
|
@@ -55,11 +61,11 @@ class StatisticsController
|
|
|
->where('pay_status', 'SUCCESS')
|
|
|
->whereIn('pay_category', $orderCategory)
|
|
|
->sum('pay_amount');
|
|
|
- $monthRevenueOrderNbrModel = Db::select("select count(1) as total from (select join_pay_order_id from app_pay_detail where
|
|
|
+ $monthRevenueOrderNbrModel = Db::select("select count(1) as total from (select join_pay_order_id,JSON_EXTRACT(join_pay_object_json,'$.order_id') as order_id from app_pay_detail where
|
|
|
CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= {$monthStart} and CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) <= {$monthEnd}
|
|
|
and pay_status = 'SUCCESS'
|
|
|
and pay_category in ({$orderCategoryStr})
|
|
|
- group by join_pay_order_id) count");
|
|
|
+ group by join_pay_order_id,order_id) count");
|
|
|
$statistics['monthRevenueOrderNbr'] = $monthRevenueOrderNbrModel[0]->total;
|
|
|
// 累计收入
|
|
|
// $statistics['totalRevenue'] = PayDetail::where('pay_status', 'SUCCESS')
|
|
@@ -84,8 +90,13 @@ class StatisticsController
|
|
|
|
|
|
if (in_array('MEALS',$orderCategory)){
|
|
|
// 挂账
|
|
|
- $awaitingModel = Db::select("select SUM(order_amount_pay) as amount, count(1) as total from app_order where order_status_payment = 'AWAITING'");
|
|
|
- dump($awaitingModel);
|
|
|
+ $sql = "select SUM(order_amount_pay) as amount, count(1) as total from app_order where order_status_payment = 'AWAITING'";
|
|
|
+ if (!empty($searchTime)){
|
|
|
+ $sql .= " and order_addtimes > {$searchTime[0]} and order_addtimes < $searchTime[1]";
|
|
|
+ }
|
|
|
+ $awaitingModel = Db::select($sql);
|
|
|
+ $statistics['awaitingRevenue'] = $awaitingModel[0]->amount;
|
|
|
+ $statistics['awaitingRevenueOrderNbr'] = $awaitingModel[0]->total;
|
|
|
}
|
|
|
|
|
|
return json_success('success', $statistics);
|