Browse Source

Merge branch 'order_report'

master
liangyuyan 5 years ago
parent
commit
0a83b13d88
  1. 62
      app/Admin/Repositories/v3/OrderReport.php
  2. 35
      app/Models/ImsCjdcOrderMain.php

62
app/Admin/Repositories/v3/OrderReport.php

@ -7,7 +7,7 @@ use App\Models\v3\Store as Model;
use Dcat\Admin\Grid\Model as GridModel;
use Dcat\Admin\Repositories\EloquentRepository;
use Illuminate\Support\Facades\DB;
use App\Models\ImsCjdcOrderMain as orderMainModel;
use App\Models\ImsCjdcOrderMain as OrderMainModel;
use App\Models\FinancialRecord as FinancialRecordModel;
use App\Models\StoreAccount as StoreAccountModel;
use App\Models\v3\Store as StoreModel;
@ -35,7 +35,8 @@ class OrderReport extends EloquentRepository
$startTime = request()->input('start_time');
$endTime = request()->input('end_time');
$orderMain = orderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5,10]);
$orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE);
$orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE);
// 旧商户流水
$storeNewUser = StoreAccountModel::select(DB::raw("SUM( CASE WHEN note = '新用户下单成功,平台奖励' THEN 1 ELSE 0 END ) AS new_add_total, SUM( CASE WHEN note = '新用户下单成功,平台奖励' THEN money ELSE 0 END ) AS new_user_total_money,SUM( CASE WHEN note = '用户下单成功,平台奖励' THEN money ELSE 0 END ) AS store_total_money"));
// 新商户流水 获取所有模型
@ -53,7 +54,8 @@ class OrderReport extends EloquentRepository
$newUser = UserModel::select(DB::raw('count(id) AS total'));
if($marketId){
$orderMain->where('market_id',$marketId);
$orderMainOnline->where('market_id',$marketId);
$orderMainOffline->where('market_id',$marketId);
// 查询这个市场下的店铺id
$storeIds = StoreModel::where('market_id',$marketId)->pluck('user_id','id')->toArray();
@ -69,31 +71,40 @@ class OrderReport extends EloquentRepository
}
if($startTime){
$startTime = $startTime.' 00:00:00';
$orderMain->where([['created_at','>=',strtotime($startTime)]]);
$orderMainOnline->where([['created_at','>=',strtotime($startTime)]]);
$orderMainOffline->where([['created_at','>=',strtotime($startTime)]]);
$storeNewUser->where([['time','>=',$startTime]]);
$storeNewUserNewZero->where([['created_at','>=',strtotime($startTime)]]);
$storeNewUserNewOne->where([['created_at','>=',strtotime($startTime)]]);
$storeNewUserNewTwo->where([['created_at','>=',strtotime($startTime)]]);
$storeNewUserNewThree->where([['created_at','>=',strtotime($startTime)]]);
$storeNewUserNewFour->where([['created_at','>=',strtotime($startTime)]]);
$newUser->where([['created_at','>=',strtotime($startTime)]]);
// $newUser->where([['created_at','>=',strtotime($startTime)]]);
}
if($endTime){
$endTime = $endTime.' 23:59:59';
$orderMain->where([['created_at','<=',strtotime($endTime)]]);
$orderMainOnline->where([['created_at','<=',strtotime($endTime)]]);
$orderMainOffline->where([['created_at','<=',strtotime($endTime)]]);
$storeNewUser->where([['time','<=',$endTime]]);
$storeNewUserNewZero->where([['created_at','<=',strtotime($endTime)]]);
$storeNewUserNewOne->where([['created_at','<=',strtotime($endTime)]]);
$storeNewUserNewTwo->where([['created_at','<=',strtotime($endTime)]]);
$storeNewUserNewThree->where([['created_at','<=',strtotime($endTime)]]);
$storeNewUserNewFour->where([['created_at','<=',strtotime($endTime)]]);
$newUser->where([['created_at','<=',strtotime($endTime)]]);
// $newUser->where([['created_at','<=',strtotime($endTime)]]);
}
if(empty($startTime) && empty($endTime)){
$time = date('Y-m-d',time());
$todayStart = $time.' 00:00:00';
$todayEnd = $time.' 23:59:59';
$orderMain->where([['created_at','>=',strtotime($todayStart)]]);
$orderMainOnline->where([['created_at','>=',strtotime($todayStart)]]);
$orderMainOffline->where([['created_at','>=',strtotime($todayStart)]]);
$storeNewUser->where([['time','>=',$todayStart]]);
$storeNewUserNewZero->where([['created_at','>=',strtotime($todayStart)]]);
$storeNewUserNewOne->where([['created_at','>=',strtotime($todayStart)]]);
@ -101,7 +112,9 @@ class OrderReport extends EloquentRepository
$storeNewUserNewThree->where([['created_at','>=',strtotime($todayStart)]]);
$storeNewUserNewFour->where([['created_at','>=',strtotime($todayStart)]]);
$orderMain->where([['created_at','<=',strtotime($todayEnd)]]);
$orderMainOnline->where([['created_at','<=',strtotime($todayEnd)]]);
$orderMainOffline->where([['created_at','<=',strtotime($todayEnd)]]);
$storeNewUser->where([['time','<=',$todayEnd]]);
$storeNewUserNewZero->where([['created_at','<=',strtotime($todayEnd)]]);
$storeNewUserNewOne->where([['created_at','<=',strtotime($todayEnd)]]);
@ -110,7 +123,8 @@ class OrderReport extends EloquentRepository
$storeNewUserNewFour->where([['created_at','<=',strtotime($todayEnd)]]);
}
// 订单总额
$orderReport = $orderMain->get()->toArray();
$orderReportOnline = $orderMainOnline->get()->toArray();
$orderReportOffline = $orderMainOffline->get()->toArray();
// 补贴金额
$storeNewUsers = $storeNewUser->get()->toArray();
$storeNewUserNewsZero = $storeNewUserNewZero->get()->toArray();
@ -122,8 +136,11 @@ class OrderReport extends EloquentRepository
$userTotal = $newUser->get()->toArray();
$query = [
'order_total_num' => !empty($orderReport[0]['total_num'])?$orderReport[0]['total_num']:0,
'order_total_money' => !empty($orderReport[0]['total_money'])?$orderReport[0]['total_money']:0,
'order_total_num_online' => !empty($orderReportOnline[0]['total_num'])?$orderReportOnline[0]['total_num']:0,
'order_total_money_online' => !empty($orderReportOnline[0]['total_money'])?$orderReportOnline[0]['total_money']:0,
'order_total_num_offline' => !empty($orderReportOffline[0]['total_num'])?$orderReportOffline[0]['total_num']:0,
'order_total_money_offline' => !empty($orderReportOffline[0]['total_money'])?$orderReportOffline[0]['total_money']:0,
'new_user_total_money' => !empty($storeNewUsers[0]['new_user_total_money'])?$storeNewUsers[0]['new_user_total_money']:0,
'new_user_total_new_money_zero' => !empty($storeNewUserNewsZero[0]['new_user_total_money'])?$storeNewUserNewsZero[0]['new_user_total_money']:0,
@ -161,9 +178,24 @@ class OrderReport extends EloquentRepository
'value' => $query['new_add_user'] + $query['new_add_user_new_zero'] + $query['new_add_user_new_one'] + $query['new_add_user_new_two'] + $query['new_add_user_new_three'] + $query['new_add_user_new_four']
],
[
'key' => 'order_total_num',
'name' => '订单总额(元)',
'value' => $query['order_total_num']
'key' => 'order_total_num_online',
'name' => '线上-订单总数(单)',
'value' => $query['order_total_num_online']
],
[
'key' => 'order_total_money_online',
'name' => '线上-订单总额(元)',
'value' => $query['order_total_money_online']
],
[
'key' => 'order_total_num_offline',
'name' => '线下-订单总数(单)',
'value' => $query['order_total_num_offline']
],
[
'key' => 'order_total_money_offline',
'name' => '线下-订单总额(元)',
'value' => $query['order_total_money_offline']
],
[
'key' => 'new_user_total_money',

35
app/Models/ImsCjdcOrderMain.php

@ -10,6 +10,41 @@ use Illuminate\Support\Facades\DB;
class ImsCjdcOrderMain extends Model
{
// 线上订单,外卖
const ORDER_TYPE_ONLINE = 1;
// 线下订单,当面付
const ORDER_TYPE_OFFLINE = 4;
// 订单状态
// 待付款
const ORDER_STATE_UNPAY = 1;
// 待接单
const ORDER_STATE_UNTAKE = 2;
// 待送达
const ORDER_STATE_DELIVERY = 3;
// 已完成
const ORDER_STATE_COMPLETE = 4;
// 已评价
const ORDER_STATE_EVALUATED = 5;
// 已取消
const ORDER_STATE_CANCEL = 6;
// 已拒单
const ORDER_STATE_REFUSE = 7;
// 退款中
const ORDER_STATE_REFUNDING = 8;
// 已退款
const ORDER_STATE_REFUNDED = 9;
// 拒绝退款
const ORDER_STATE_UNREFUND = 10;
// 完成状态组合
const ORDER_STATE_FINISH = [self::ORDER_STATE_COMPLETE, self::ORDER_STATE_EVALUATED, self::ORDER_STATE_UNREFUND];
// 订单支付方式
// 微信支付
const ORDER_PAY_WX = 1;
// 余额支付
const ORDER_PAY_BALANCE = 2;
use HasDateTimeFormatter;
//protected $table = 'ims_cjdc_order_main';
protected $table = 'lanzu_order_main';

Loading…
Cancel
Save