diff --git a/app/Models/TeslaRanking.php b/app/Models/TeslaRanking.php new file mode 100644 index 0000000..0921e83 --- /dev/null +++ b/app/Models/TeslaRanking.php @@ -0,0 +1,11 @@ +save(); } - DB::commit(); return $offline_order; } + public function updateTeslaRanking($order) + { + $orderId = null; + $finishedAt = null; + if (empty($order->referrer)) { + return; + } + $totalNum = Order::where("referrer_id", $order->referrer)->where("is_tesla", 1)->count(); + if (empty($totalNum)) { + TeslaRanking::where("user_id", $order->referrer)->delete(); + return; + } + if ($totalNum >= 10) { + $orderList = Order::where("referrer_id", $order->referrer)->where("is_tesla", 1)->orderBy("id", "asc")->get(); + if (count($orderList) == 0) { + $orderId = $orderList[9]->id; + $finishedAt = $orderList[9]->finishedAt; + } + } + + $ranking = TeslaRanking::where("user_id", $order->referrer)->first(); + if (empty($ranking)) { + TeslaRanking::create([ + "user_id" => $order->referrer, + "total_num" => $totalNum, + "finished_at" => $finishedAt, + "finished_order_id" => $orderId + ]); + } else { + TeslaRanking::where("user_id", $order->referrer)->update([ + "total_num" => $totalNum, + "finished_at" => $finishedAt, + "finished_order_id" => $orderId + ]); + } + return; + } + public function getOrderList($keywords = '', $status = '', $agency_id = '', $page_size = 15) { $orders = OfflineOrder::with([