tesla ranking
This commit is contained in:
parent
c622fe43e5
commit
b30232da1a
11
app/Models/TeslaRanking.php
Normal file
11
app/Models/TeslaRanking.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class TeslaRanking extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
}
|
||||||
@ -19,6 +19,7 @@ use App\Models\ServiceRoleOrder;
|
|||||||
use App\Models\ServiceRoleUser;
|
use App\Models\ServiceRoleUser;
|
||||||
use App\Models\ServiceUser;
|
use App\Models\ServiceUser;
|
||||||
use App\Models\ServiceUserBindRole;
|
use App\Models\ServiceUserBindRole;
|
||||||
|
use App\Models\TeslaRanking;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
@ -95,12 +96,49 @@ class OfflineOrderService
|
|||||||
$offline_order->save();
|
$offline_order->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
return $offline_order;
|
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)
|
public function getOrderList($keywords = '', $status = '', $agency_id = '', $page_size = 15)
|
||||||
{
|
{
|
||||||
$orders = OfflineOrder::with([
|
$orders = OfflineOrder::with([
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user