zz 5 years ago
parent
commit
2956178f51
1 changed files with 41 additions and 10 deletions
  1. 41 10
      app/Console/Commands/CheckOrderStatus.php

+ 41 - 10
app/Console/Commands/CheckOrderStatus.php

@@ -53,13 +53,13 @@ class CheckOrderStatus extends Command
         if($uid) {
             $this->checkOne($uid);
         }else{
-            $sql_format = 'SELECT uid FROM user_month_sign WHERE created_at >= DATE_ADD(NOW(),INTERVAL -1 hour) and `type`="MONTH"  and 
+            $sql_format = 'SELECT uid,`type` FROM user_month_sign WHERE created_at >= DATE_ADD(NOW(),INTERVAL -1 hour)   and 
 NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_month_sign.uid and created_at BETWEEN "%s" and "%s" )';
             $sql = sprintf($sql_format,date('Y-m-01'),date('Y-m-01',strtotime('+1 month')));
             $result = DB::select($sql);
             if($result){
                 foreach ($result as $item){
-                    $this->checkOne($item->uid);
+                    $this->checkOne($item->uid,$item->type);
                 }
             }
             /*$result = UserMonthSign::where('created_at','>=',date('Y-m-d H:i:s',time()-1800))->select('uid')->get();
@@ -70,10 +70,24 @@ NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_mon
             }*/
         }
     }
-    public function checkOne($uid){
+    public function checkOne($uid,$type){
         //int $user_id,int $plan_id,string $app_id,string $key,string $app_secret
-        $plan_id = env('MONTH_ORDER_PLAN_ID');
+
         $app_id = env('MONTH_ORDER_APPID');
+        if($type == 'MONTH'){
+            $plan_id = env('MONTH_ORDER_PLAN_ID');
+            $product_id = 6826;
+        }elseif ($type == 'WEEK'){
+            $product_id =7394;
+            $plan_id = env('MONTH_WEEK_ORDER_PLAN_ID');
+        }else{
+            $product_id =0;
+            $plan_id ='';
+        }
+        if(empty($plan_id)) {
+            Log::info(sprintf('plan is not exist,uid is : %s,order is not exist',$uid));
+            return '';
+        }
         $key = env('MONTH_ORDER_KEY');
         $app_secret = env('MONTH_ORDER_APP_SECRET');
         $result = UserMonthService::checkOrderStatus($uid,$plan_id,$app_id,$key,$app_secret);
@@ -94,12 +108,12 @@ NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_mon
         Log::info($result);
         if (!UserMonthService::getOrderByOrder($trade_no, $out_trade_no)) {
             Log::info('deal uid is :'.$uid);
-            UserMonthService::createLOrder($uid, $plan_id, $money, $trade_no, $out_trade_no);
-            $this->addOrderAndVip($uid, $out_trade_no, $trade_no, $money);
+            UserMonthService::createLOrder($uid, $plan_id, $money, $trade_no, $out_trade_no,$type);
+            $this->addOrderAndVip($uid, $out_trade_no, $trade_no, $money,$type,$product_id);
         }
     }
 
-    private function addOrderAndVip($uid, $out_trade_no, $trade_no, $price)
+    private function addOrderAndVip($uid, $out_trade_no, $trade_no, $price,$type,$product_id)
     {
 
         $order_info = OrderService::getByTradeNo($out_trade_no);
@@ -109,13 +123,30 @@ NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_mon
         }
         $user_info = UserService::getById($uid);
         if (!$user_info) return;
-        $this->createOrder($uid, $user_info->distribution_channel_id, 0, $price, $out_trade_no, $trade_no);
-        YearOrderService::save_month_order([
+        $this->createOrder($uid, $user_info->distribution_channel_id, $product_id, $price, $out_trade_no, $trade_no);
+        /*YearOrderService::save_month_order([
             'uid' => $uid,
             'distribution_channel_id' => $user_info->distribution_channel_id,
             'fee' => $price / 100,
             'send_order_id' => 0
-        ]);
+        ]);*/
+        if($type == 'MONTH'){
+            YearOrderService::save_month_order([
+                'uid' => $uid,
+                'distribution_channel_id' => $user_info->distribution_channel_id,
+                'fee' => $price / 100,
+                'send_order_id' => 0
+            ]);
+        }
+        if($type == 'WEEK'){
+            YearOrderService::save_vip_order_daynum([
+                'uid' => $uid,
+                'distribution_channel_id' => $user_info->distribution_channel_id,
+                'fee' => $price / 100,
+                'send_order_id' => 0,
+                'day_num'=>7
+            ]);
+        }
     }
 
     private function createOrder($uid, $distribution_channel_id, $product_id, $price, $trade_no, $transaction_id)