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

View File

@ -10,7 +10,7 @@ use Log;
class Order extends BaseModel
{
use HasComments;
use HasComments;
const ORDER_PRICE = 20000;
@ -83,11 +83,12 @@ class Order extends BaseModel
public function agency()
{
return $this->belongsTo(Partner::class,'agency_id','id');
return $this->belongsTo(Partner::class, 'agency_id', 'id');
}
public function service_role(){
return $this->hasMany(ServiceRoleOrder::class,'order_id','id');
public function service_role()
{
return $this->hasMany(ServiceRoleOrder::class, 'order_id', 'id');
}
public function scheme()
{
@ -101,12 +102,12 @@ class Order extends BaseModel
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()
{
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()
@ -116,11 +117,11 @@ class Order extends BaseModel
public function orderMedicalReports()
{
return $this->hasMany(OrderMedicalReport::class,'order_id', 'id');
return $this->hasMany(OrderMedicalReport::class, 'order_id', 'id');
}
public function afterDmaQuestion()
{
{
return $this->hasOne(DmaQuestion::class, "order_id", "id")->where("type", 1);
}
@ -134,8 +135,8 @@ class Order extends BaseModel
$scheme = request()->scheme;
if (is_numeric($scheme)) {
if ($scheme) {
return $query->whereIn('service_status', ['SCHEME','DELIVER','FINISHED']);
}else {
return $query->whereIn('service_status', ['SCHEME', 'DELIVER', 'FINISHED']);
} else {
return $query->where('service_status', 'NOSCHEME');
}
}
@ -159,7 +160,7 @@ class Order extends BaseModel
*/
public function scopeNoWorkChatGroup($query)
{
return $query->whereHas('group', function ($sql){
return $query->whereHas('group', function ($sql) {
$sql->whereNull('chat_id');
});
}
@ -172,8 +173,9 @@ class Order extends BaseModel
public function scopeKeyword($query)
{
$keyword = trim(request()->keyword);
if (!$keyword) return $query;
return $query->where('name', 'like', '%'.$keyword.'%')->orWhere('mobile', 'like', '%'.$keyword.'%');
if (!$keyword)
return $query;
return $query->where('name', 'like', '%' . $keyword . '%')->orWhere('mobile', 'like', '%' . $keyword . '%');
}
public function scopeServiceOrder($query)
@ -181,9 +183,10 @@ class Order extends BaseModel
return $query->where('type', 'SERVICE');
}
public static function getHaveOrder($user_id,$mobile){
$have_order = self::where('mobile',$mobile)->where('user_id',0)->orderByDesc('id')->first();
if($have_order){
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->user_id = $user_id;
$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");
}
public function updateServerStatus($user,$service_status,$delivery_img=""){
public function updateServerStatus($user, $service_status, $delivery_img = "")
{
DB::beginTransaction();
$order = Order::getPayOrder($user->id);
$order->service_status = $service_status;
if(!empty($delivery_img)){
if (!empty($delivery_img)) {
$order->delivery_img = $delivery_img;
}
$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();
return true;
}
@ -213,12 +217,15 @@ class Order extends BaseModel
* @param $user_id
* @return mixed
*/
public static function getPayOrder($user_id){
$order = Order::whereHas("group")->where('user_id',$user_id)->where('pay_status','PAID')->orderByDesc('id')->first();
public static function getPayOrder($user_id)
{
$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;
}
/**
* 订单可操作权限
* @param mixed $role_ids // 有权限的角色id
@ -233,12 +240,12 @@ class Order extends BaseModel
if ($admin_role_id) {
$has_role_ids[] = $admin_role_id;
}
Log::info("当前用户id: ".$user_id);
Log::info("当前用户角色:". json_encode($has_role_ids));
Log::info("有权限角色: ".json_encode($role_ids));
Log::info("当前用户id: " . $user_id);
Log::info("当前用户角色:" . json_encode($has_role_ids));
Log::info("有权限角色: " . json_encode($role_ids));
// 比较角色时候在有权限角色内
$res = array_intersect($role_ids, $has_role_ids);
return count($res)?true:false;
return count($res) ? true : false;
}
}