2 changed files with 192 additions and 3 deletions
@ -0,0 +1,189 @@ |
|||
<?php |
|||
|
|||
namespace App\Console\Commands; |
|||
|
|||
use Illuminate\Console\Command; |
|||
use Illuminate\Support\Facades\DB; |
|||
|
|||
class Statistics extends Command |
|||
{ |
|||
/** |
|||
* The name and signature of the console command. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $signature = 'command:statistics'; |
|||
|
|||
/** |
|||
* The console command description. |
|||
* |
|||
* @var string |
|||
*/ |
|||
protected $description = 'Command description'; |
|||
|
|||
/** |
|||
* Create a new command instance. |
|||
* |
|||
* @return void |
|||
*/ |
|||
public function __construct() |
|||
{ |
|||
parent::__construct(); |
|||
} |
|||
|
|||
/** |
|||
* Execute the console command. |
|||
* |
|||
* @return int |
|||
*/ |
|||
public function handle() |
|||
{ |
|||
|
|||
bcscale(4); |
|||
$stores = DB::table('lanzu_store')->orderBy('id', 'desc')->get()->toArray(); |
|||
|
|||
foreach ($stores as $key => &$store) { |
|||
// 旧订单
|
|||
$orderAmountOld1 = DB::table('ims_cjdc_order as ord') |
|||
->selectRaw('SUM(ord.money) AS total') |
|||
->leftJoin('ims_cjdc_order_main as main', 'main.id', '=', 'ord.order_main_id') |
|||
->whereIn('main.state', [4,5,10]) |
|||
->where('ord.store_id', '=', $store->id) |
|||
->where('main.type', '=', 1) |
|||
->first(); |
|||
|
|||
$orderAmountOld2 = DB::table('ims_cjdc_order as ord') |
|||
->selectRaw('SUM(ord.money) AS total') |
|||
->leftJoin('ims_cjdc_order_main as main', 'main.id', '=', 'ord.order_main_id') |
|||
->whereIn('main.dm_state', [2]) |
|||
->where('ord.store_id', '=', $store->id) |
|||
->where('main.type', '=', 4) |
|||
->first(); |
|||
|
|||
$orderAmountOldTotal = bcadd($orderAmountOld1->total, $orderAmountOld2->total); |
|||
|
|||
// 新订单
|
|||
$orderAmountNew = DB::table('lanzu_order as ord') |
|||
->selectRaw('SUM(ord.money) AS total') |
|||
->leftJoin('lanzu_order_main as main', 'main.global_order_id', '=', 'ord.order_main_id') |
|||
->whereIn('main.state', [4,5,10]) |
|||
->where('ord.store_id', '=', $store->id) |
|||
->where('main.created_at', '>=', 1600444800) |
|||
->first(); |
|||
|
|||
// 旧提现
|
|||
$withdrawOld = DB::table('ims_cjdc_withdrawal') |
|||
->selectRaw('SUM(tx_cost) AS total') |
|||
->where('state', '=', 2) |
|||
->where('store_id', '=', $store->id) |
|||
->first(); |
|||
|
|||
// 新提现
|
|||
$withdrawNew = DB::table('lanzu_store_withdrawal') |
|||
->selectRaw('SUM(real_cash) AS total') |
|||
->where('state', '=', 2) |
|||
->where('store_id', '=', $store->id) |
|||
->where('created_at', '>=', 1600444800) |
|||
->first(); |
|||
|
|||
// 旧奖励
|
|||
$awardOld = DB::table('ims_cjdc_store_account') |
|||
->selectRaw('SUM(money) AS total') |
|||
->where(function($query) { |
|||
$query->where('note', '=', '新用户下单成功,平台奖励') |
|||
->orWhere('note', '=', '用户下单成功,平台奖励'); |
|||
}) |
|||
->where('store_id', '=', $store->id) |
|||
->first(); |
|||
|
|||
// 新奖励
|
|||
$mod = $store->user_id % 5; |
|||
$awardNew = DB::table('lanzu_financial_record_'.$mod) |
|||
->selectRaw('SUM(money) AS total') |
|||
->where('user_id', '=', $store->user_id) |
|||
->where('user_type', '=', 5) |
|||
->whereIn('money_type', [4,5]) |
|||
->where('created_at', '>=', 1600444800) |
|||
->first(); |
|||
|
|||
$withdrawTotal = bcadd($withdrawOld->total, $withdrawNew->total); |
|||
$result = bcadd($orderAmountOldTotal, $orderAmountNew->total); |
|||
$result = bcadd($result, $awardOld->total); |
|||
$result = bcadd($result, $awardNew->total); |
|||
$result = bcsub($result, $withdrawTotal); |
|||
|
|||
// 余额
|
|||
$balance = DB::table('lanzu_user_balance') |
|||
->where('source_id', '=', $store->user_id) |
|||
->where('user_type', '=', 5) |
|||
->first(); |
|||
|
|||
var_dump( |
|||
'store_id : ' . $store->id |
|||
. ' / user_id : ' . $store->user_id |
|||
. ' / order_amount : ' . bcadd($orderAmountOldTotal,$orderAmountNew->total) |
|||
. ' / order_old : ' . ($orderAmountOldTotal) |
|||
. ' / order_new : ' . ($orderAmountNew->total) |
|||
. ' / award_total : ' . bcadd($awardOld->total, $awardNew->total) |
|||
. ' / award_old : ' . ($awardOld->total) |
|||
. ' / award_new : ' . ($awardNew->total) |
|||
. ' / withdraw_total : ' . bcadd($withdrawOld->total, $withdrawNew->total) |
|||
. ' / withdraw_old : ' . $withdrawOld->total |
|||
. ' / withdraw_new : ' . $withdrawNew->total |
|||
. ' / result : '.$result |
|||
. ' / balance : '.$balance->balance |
|||
); |
|||
} |
|||
|
|||
// // 查询店铺收入列表
|
|||
// $orderAmount = DB::table('lanzu_order as ord')
|
|||
// ->selectRaw('SUM(ord.money) AS total_amount, ord.store_id, s.user_id')
|
|||
// ->leftJoin('lanzu_order_main as main', 'main.global_order_id', '=', 'ord.order_main_id')
|
|||
// ->leftJoin('lanzu_store as s', 's.id', '=', 'ord.store_id')
|
|||
// ->whereIn('main.state', [4,5,10])
|
|||
// ->where('store_id', '!=', 0)
|
|||
// ->groupBy('ord.store_id')
|
|||
// // ->limit(2)
|
|||
// ->get()->toArray();
|
|||
// $withdraws = [];
|
|||
// $awards = [];
|
|||
// foreach ($orderAmount as $k => &$item) {
|
|||
//
|
|||
// $tmp = DB::table('lanzu_store_withdrawal')
|
|||
// ->selectRaw('SUM(real_cash) AS total_withdraw')
|
|||
// ->where('state', '=', 2)
|
|||
// ->where('store_id', '=', $item->store_id)
|
|||
// ->first();
|
|||
//
|
|||
// $withdraws[$item->store_id] = $tmp->total_withdraw ? $tmp->total_withdraw : 0;
|
|||
//
|
|||
// $awardOld = DB::table('ims_cjdc_store_account')
|
|||
// ->selectRaw('SUM(money) AS total_award')
|
|||
// ->where(function($query) {
|
|||
// $query->where('note', '=', '新用户下单成功,平台奖励')
|
|||
// ->orWhere('note', '=', '用户下单成功,平台奖励');
|
|||
// })
|
|||
// ->where('store_id', '=', $item->store_id)
|
|||
// ->first();
|
|||
//
|
|||
// $mod = $item->user_id % 5;
|
|||
// $awardNew = DB::table('lanzu_financial_record_'.$mod)
|
|||
// ->selectRaw('SUM(money) AS total_award')
|
|||
// ->where('user_id', '=', $item->user_id)
|
|||
// ->where('user_type', '=', 5)
|
|||
// ->whereIn('money_type', [4,5])
|
|||
// ->where('created_at', '>=', 1600444800)
|
|||
// ->first();
|
|||
//
|
|||
// $awards[$item->store_id] = floatval($awardOld->total_award+$awardNew->total_award);
|
|||
//
|
|||
// $result = $item->total_amount+$awards[$item->store_id]-$withdraws[$item->store_id];
|
|||
// var_dump('store_id : ' . $item->store_id . ' / order_amount : ' . $item->total_amount . ' / award : ' . $awards[$item->store_id] . ' / withdraw : ' . $withdraws[$item->store_id] . ' / result : '.$result);
|
|||
// }
|
|||
|
|||
// var_dump($withdraws);
|
|||
// var_dump($awards);
|
|||
|
|||
// dd($orderAmount);
|
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue