info('开始执行统计充值提现订单等数据任务...'); $this->addYesterdayOperationData(); $this->info('结束执行统计充值提现订单等数据任务'); } public function addYesterdayOperationData() { $yesterday = Carbon::yesterday()->format('Y-m-d'); $data = [ 'date' => $yesterday, 'recharge' => 0, 'user_total_money' => 0, ]; // 测试代理名下会员不统计 $data['recharge'] = StatsScope::excludeTestMembers(FundsRecord::query())->whereIn('change_type', ['充值','人工充值','三方充值']) ->where('created_at', '>=', "{$yesterday} 00:00:00") ->where('created_at', '<=', "{$yesterday} 23:59:59") ->sum('amount'); $data['withdraw'] = StatsScope::excludeTestMembers(FundsRecord::query())->whereIn('change_type', ['提现','三方提现']) ->where('created_at', '>=', "{$yesterday} 00:00:00") ->where('created_at', '<=', "{$yesterday} 23:59:59") ->sum('amount'); $data['balance_difference'] = $data['recharge'] - $data['withdraw']; // sport_order.user_id 存的是会员 member_id $data['total_price'] = StatsScope::excludeTestMembers(Order::query(), 'user_id')->where('create_time', '>=', strtotime($yesterday.' 00:00:00')) ->where('create_time', '<=', strtotime($yesterday.' 23:59:59')) ->where('status', 1) ->where('pay_status', 1) ->where('return_status', 0) ->sum('amount'); $data['user_total_money'] = StatsScope::excludeTestMembers(Wallet::query())->sum('available_balance'); $info = Operation::where('date', $data['date'])->first(); if (!$info) { DB::table('bot_operation')->insert($data); } else { Operation::where('date', $data['date'])->update($data); } return true; } }