jun 3 сар өмнө
parent
commit
b5521f7dff

+ 42 - 49
app/Console/Commands/Regiment.php

@@ -65,35 +65,7 @@ class Regiment extends Command
             $activeIds  =   array_column($activeList,'id');
             $regiment   =   RegimentModel::query()->where('status','=',0)->whereIn('active_id',$activeIds)->get()->toArray();
             if ($regiment){
-                foreach ($regiment as $v){
-                        //虚拟成团
-                       if ($activeList[$v['active_id']]['virtually'] == 0 || $activeList[$v['active_id']]['number'] <= $v['people_number']){
-                           //查询记录
-                           $regimentRecordList  =   regimentRecord::query()->where('regiment_id','=',$v['id'])->get()->toArray();
-                           if ($regimentRecordList){
-                               $regimentRecordListIds = array_column($regimentRecordList,'order_id');
-                               //修改订单
-                               $res         =   Orders::query()->whereIn('id',$regimentRecordListIds)->update(['status'=>2,'update_time'=>$time]);
-                               if (!$res)   Log::error('run_regiment','修改订单失败');
-                           }
-                           //修改状态
-                           $res         =   RegimentModel::query()->where('id','=',$v['id'])->update(['status'=>2]);
-                           if (!$res)   Log::error('run_regiment','修改团状态失败');
-                           $res         =   RegimentRecord::query()->where('regiment_id','=',$v['id'])->update(['status'=>2]);
-                           if (!$res)   Log::error('run_regiment','修改团记录失败');
-                       }else{
-                           RegimentModel::query()->where('id','=',$v['id'])->update(['status'=>3]);
-                           RegimentRecord::query()->where('regiment_id','=',$v['id'])->update(['status'=>3]);
-                           //查询记录
-                           $regimentRecordList  =   regimentRecord::query()->where('regiment_id','=',$v['id'])->get()->toArray();
-                           if ($regimentRecordList){
-                               $regimentRecordListIds = array_column($regimentRecordList,'order_id');
-                               //修改订单
-                               $res         =   Orders::query()->whereIn('id',$regimentRecordListIds)->update(['status'=>11]);
-                               if (!$res)   Log::error('run_regiment','修改团记录失败');
-                           }
-                       }
-                }
+                $this->regiment($regiment,$activeList);
             }
             $res    =   $Model->query()->whereIn('id',$activeIds)->update(['status'=>2,'update_time'=>$time]);
             if (!$res)   Log::error('run_regiment','修改团活动失败'.json_encode($activeIds));
@@ -101,32 +73,53 @@ class Regiment extends Command
         //团过期
         $regimentList   =   RegimentModel::query()->where([['status','=',0],['end_time','<=',$time]])->get();
         if ($regimentList){
-            foreach ($regimentList as $v){
-                $activeList = $Model->query()->where('id','=',$v['active_id'])->first();
-                //虚拟成团
-                if ($activeList['virtually'] == 0 || $activeList['number'] <= $v['people_number']){
-                    //修改状态
-                    $r = RegimentModel::query()->where('id','=',$v['id'])->update(['status'=>2]);
-                    RegimentRecord::query()->where('regiment_id','=',$v['id'])->update(['status'=>2]);
-                    //查询记录
-                    $regimentRecordList  =   regimentRecord::query()->where('regiment_id','=',$v['id'])->get()->toArray();
-                    if ($regimentRecordList){
-                        $regimentRecordListIds = array_column($regimentRecordList,'order_id');
-                        //修改订单
-                        $res         =   Orders::query()->whereIn('id',$regimentRecordListIds)->update(['status'=>2]);
+            $this->regiment($regimentList,$activeList);
+        }
+        Log::log('run_regiment','执行完成');
+    }
+    public function regiment($regiment,$activeList)
+    {
+        $time   = time();
+        foreach ($regiment as $v){
+            $orders         =   Orders::query()->where(['status'=>10,'regiment_id'=>$v['id']])->first();
+            //虚拟成团
+            if ($orders && ($activeList[$v['active_id']]['virtually'] == 0 || $activeList[$v['active_id']]['number'] <= $v['people_number'])){
+                //查询记录
+                $regimentRecordList  =   regimentRecord::query()->where('regiment_id','=',$v['id'])->get()->toArray();
+                if ($regimentRecordList){
+                    foreach ($regimentRecordList as $record){
+                        $ordersInfo         =   Orders::query()->where([['id','=',$record['order_id']]])->first();
+                        if ($ordersInfo['status'] == 10){
+                            //修改订单
+                            $res         =   Orders::query()->where([['id','=',$record['order_id']],['status','=',10]])->update(['status'=>2,'update_time'=>$time]);
+                            if (!$res)   Log::error('run_regiment','修改订单失败');
+                            $res         =   RegimentRecord::query()->where('regiment_id','=',$v['id'])->update(['status'=>2]);
+                            if (!$res)   Log::error('run_regiment','修改团记录失败');
+                        }else{
+                            //修改订单
+                            $res         =   Orders::query()->where([['id','=',$record['order_id']],['status','=',10]])->update(['status'=>11,'update_time'=>$time]);
+                            if (!$res)   Log::error('run_regiment','修改订单失败');
+                            $res         =   RegimentRecord::query()->where('regiment_id','=',$v['id'])->update(['status'=>3]);
+                            if (!$res)   Log::error('run_regiment','修改团记录失败');
+                        }
                     }
-                }else{
-                    $r = RegimentModel::query()->where('id','=',$v['id'])->update(['status'=>3]);
-                    RegimentRecord::query()->where('regiment_id','=',$v['id'])->update(['status'=>3]);
-                    //查询记录
-                    $regimentRecordList  =   regimentRecord::query()->where('regiment_id','=',$v['id'])->get()->toArray();
+
+                }
+                //修改状态
+                $res         =   RegimentModel::query()->where('id','=',$v['id'])->update(['status'=>2]);
+                if (!$res)   Log::error('run_regiment','修改团状态失败');
+            }else{
+                RegimentModel::query()->where('id','=',$v['id'])->update(['status'=>3]);
+                RegimentRecord::query()->where('regiment_id','=',$v['id'])->update(['status'=>3]);
+                //查询记录
+                $regimentRecordList  =   regimentRecord::query()->where('regiment_id','=',$v['id'])->get()->toArray();
+                if ($regimentRecordList){
                     $regimentRecordListIds = array_column($regimentRecordList,'order_id');
                     //修改订单
                     $res         =   Orders::query()->whereIn('id',$regimentRecordListIds)->update(['status'=>11]);
+                    if (!$res)   Log::error('run_regiment','修改团记录失败');
                 }
             }
         }
-        Log::log('run_regiment','执行完成');
     }
-
 }