This commit is contained in:
Hankin 2026-04-21 11:47:47 +08:00
parent 1c37c4707f
commit 1bce681878

View File

@ -83,11 +83,12 @@ class Order extends BaseModel
public function agency() public function agency()
{ {
return $this->belongsTo(Partner::class,'agency_id','id'); return $this->belongsTo(Partner::class, 'agency_id', 'id');
} }
public function service_role(){ public function service_role()
return $this->hasMany(ServiceRoleOrder::class,'order_id','id'); {
return $this->hasMany(ServiceRoleOrder::class, 'order_id', 'id');
} }
public function scheme() public function scheme()
{ {
@ -101,12 +102,12 @@ class Order extends BaseModel
public function asginSigner() public function asginSigner()
{ {
return $this->hasOne(AsignSigner::class, 'order_id', 'id')->whereIn('status', [0,1,2]); return $this->hasOne(AsignSigner::class, 'order_id', 'id')->whereIn('status', [0, 1, 2]);
} }
public function asginContract() public function asginContract()
{ {
return $this->hasOne(AsignContract::class, 'order_id', 'id')->whereIn('status', [0,1,2]); return $this->hasOne(AsignContract::class, 'order_id', 'id')->whereIn('status', [0, 1, 2]);
} }
public function agreement() public function agreement()
@ -116,7 +117,7 @@ class Order extends BaseModel
public function orderMedicalReports() public function orderMedicalReports()
{ {
return $this->hasMany(OrderMedicalReport::class,'order_id', 'id'); return $this->hasMany(OrderMedicalReport::class, 'order_id', 'id');
} }
public function afterDmaQuestion() public function afterDmaQuestion()
@ -134,8 +135,8 @@ class Order extends BaseModel
$scheme = request()->scheme; $scheme = request()->scheme;
if (is_numeric($scheme)) { if (is_numeric($scheme)) {
if ($scheme) { if ($scheme) {
return $query->whereIn('service_status', ['SCHEME','DELIVER','FINISHED']); return $query->whereIn('service_status', ['SCHEME', 'DELIVER', 'FINISHED']);
}else { } else {
return $query->where('service_status', 'NOSCHEME'); return $query->where('service_status', 'NOSCHEME');
} }
} }
@ -159,7 +160,7 @@ class Order extends BaseModel
*/ */
public function scopeNoWorkChatGroup($query) public function scopeNoWorkChatGroup($query)
{ {
return $query->whereHas('group', function ($sql){ return $query->whereHas('group', function ($sql) {
$sql->whereNull('chat_id'); $sql->whereNull('chat_id');
}); });
} }
@ -172,8 +173,9 @@ class Order extends BaseModel
public function scopeKeyword($query) public function scopeKeyword($query)
{ {
$keyword = trim(request()->keyword); $keyword = trim(request()->keyword);
if (!$keyword) return $query; if (!$keyword)
return $query->where('name', 'like', '%'.$keyword.'%')->orWhere('mobile', 'like', '%'.$keyword.'%'); return $query;
return $query->where('name', 'like', '%' . $keyword . '%')->orWhere('mobile', 'like', '%' . $keyword . '%');
} }
public function scopeServiceOrder($query) public function scopeServiceOrder($query)
@ -181,9 +183,10 @@ class Order extends BaseModel
return $query->where('type', 'SERVICE'); return $query->where('type', 'SERVICE');
} }
public static function getHaveOrder($user_id,$mobile){ public static function getHaveOrder($user_id, $mobile)
$have_order = self::where('mobile',$mobile)->where('user_id',0)->orderByDesc('id')->first(); {
if($have_order){ $have_order = self::where('mobile', $mobile)->where('user_id', 0)->orderByDesc('id')->first();
if ($have_order) {
$have_order->user_id = $user_id; $have_order->user_id = $user_id;
$have_order->save(); $have_order->save();
} }
@ -195,15 +198,16 @@ class Order extends BaseModel
return $this->hasOneThrough(User::class, RecommendUser::class, 'user_id', 'id', 'user_id', 'recommend_user_id')->selectRaw("ufutx_users.id, ufutx_users.name, ufutx_users.mobile"); return $this->hasOneThrough(User::class, RecommendUser::class, 'user_id', 'id', 'user_id', 'recommend_user_id')->selectRaw("ufutx_users.id, ufutx_users.name, ufutx_users.mobile");
} }
public function updateServerStatus($user,$service_status,$delivery_img=""){ public function updateServerStatus($user, $service_status, $delivery_img = "")
{
DB::beginTransaction(); DB::beginTransaction();
$order = Order::getPayOrder($user->id); $order = Order::getPayOrder($user->id);
$order->service_status = $service_status; $order->service_status = $service_status;
if(!empty($delivery_img)){ if (!empty($delivery_img)) {
$order->delivery_img = $delivery_img; $order->delivery_img = $delivery_img;
} }
$order->save(); $order->save();
MarkOrderLog::create(['order_id'=>$order->id,'operate_id'=>$user->id,'operate_name'=>$user->name,'remark'=>"用户确认收货,修改server_status:".$service_status]); MarkOrderLog::create(['order_id' => $order->id, 'operate_id' => $user->id, 'operate_name' => $user->name, 'remark' => "用户确认收货,修改server_status:" . $service_status]);
DB::commit(); DB::commit();
return true; return true;
} }
@ -213,8 +217,11 @@ class Order extends BaseModel
* @param $user_id * @param $user_id
* @return mixed * @return mixed
*/ */
public static function getPayOrder($user_id){ public static function getPayOrder($user_id)
$order = Order::whereHas("group")->where('user_id',$user_id)->where('pay_status','PAID')->orderByDesc('id')->first(); {
$order = Order::whereHas("group", function ($sql) {
$sql->where("service_type", 1);
})->where('user_id', $user_id)->where('pay_status', 'PAID')->orderByDesc('id')->first();
return $order; return $order;
} }
@ -233,12 +240,12 @@ class Order extends BaseModel
if ($admin_role_id) { if ($admin_role_id) {
$has_role_ids[] = $admin_role_id; $has_role_ids[] = $admin_role_id;
} }
Log::info("当前用户id: ".$user_id); Log::info("当前用户id: " . $user_id);
Log::info("当前用户角色:". json_encode($has_role_ids)); Log::info("当前用户角色:" . json_encode($has_role_ids));
Log::info("有权限角色: ".json_encode($role_ids)); Log::info("有权限角色: " . json_encode($role_ids));
// 比较角色时候在有权限角色内 // 比较角色时候在有权限角色内
$res = array_intersect($role_ids, $has_role_ids); $res = array_intersect($role_ids, $has_role_ids);
return count($res)?true:false; return count($res) ? true : false;
} }
} }