suffix($mod); $builder = $financialRecord->where('user_id',$userId) ->where('user_type','=',UserType::STORE); switch ($tab) { case 'all': break; case 'online': $builder->whereIn('money_type', $financialRecord::MONEY_TYPE_STORE_ORDER_ONLINE); break; case 'offline': $builder->where('money_type', $financialRecord::MONEY_TYPE_STORE_OFL_ORDER_COMP); break; case 'withdraw': $builder->where('money_type', $financialRecord::MONEY_TYPE_STORE_WITHDRAW); break; case 'reward': $builder->whereIn('money_type', $financialRecord::MONEY_TYPE_STORE_REWARD); break; } if (!empty($startTime)) { $builder->where('created_at', '>=', $startTime); } if (!empty($endTime)) { $builder->where('created_at', '<=', $endTime); } $paginate = $builder->orderBy('created_at', 'desc')->paginate($pagesize); $revenues = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'revenue_list' => $revenues['data']]; } public function getRevenueByUser($userId,$type = [],$startTime = '',$endTime = '') { $financialRecord = new FinancialRecord(); $mod = bcmod((string)$userId, '5', 0); $financialRecord->suffix($mod); $builder = $financialRecord->where('user_id',$userId) ->whereIn('money_type',$type); if(!empty($startTime) && !empty($endTime)){ $builder->whereBetween('created_at',[$startTime,$endTime]); } $revenue = $builder->select('money','money_type','created_at')->orderBy('created_at', 'desc')->get()->toArray(); return $revenue; } }