xieruidong 2 yıl önce
ebeveyn
işleme
db7386fdcd

+ 1 - 1
application/api/controller/mall/Orders.php

@@ -215,7 +215,7 @@ class Orders extends Api
             'pay_type|支付方式'=>['require','in:'.implode(',',array_keys(Order::getPayTypes()))]
         ]);
         $user=$this->auth->getUser();
-        $order=$user->orders()->findOrFail($data['id']);
+        $order=Order::findOrFail($data['id']);
         if(!$order->is_wait_pay){
             $this->error('非待支付状态无法支付');
         }

+ 13 - 3
application/common/model/Orders.php

@@ -18,6 +18,7 @@ class Orders extends Model
 
     #未支付过期时间
     const EXP_PAY=1800;
+    const EXP_PAY_OFFLINE=3*86400;
     #待收货过期时间
     const EXP_REC=30*86400;
     #已完成可售后时间
@@ -124,6 +125,17 @@ class Orders extends Model
     #支付
     public function makePayInfo($pay_type){
         $user=$this->user;
+        if($pay_type===self::PT_OFF){
+            $this['continue_expire_time']=strtotime(date('Y-m-d 00:00:00',time()+self::EXP_PAY_OFFLINE+86400))-1;
+            return [
+                'account_name'=>config('site.account_name'),
+                'bank_no'=>config('site.account_bank_no'),
+                'bank_name'=>config('site.accout_bank_name'),
+            ];
+        }else{
+            $this['continue_expire_time']=time()+self::EXP_PAY;
+        }
+        $this->save();
         return Payment::pay(
             $user,
             $pay_type,
@@ -243,9 +255,7 @@ class Orders extends Model
         self::beforeUpdate(function (self $order){
             $data=$order->getChangedData();
             if(!empty($data['status'])){
-                if($data['status']==self::S_WAIT_REC){
-                    $order['continue_expire_time']=time()+self::EXP_REC;
-                }elseif($data['status']==self::S_OVER){
+               if($data['status']==self::S_OVER){
                     $order['continue_expire_time']=time()+self::EXP_OVER;
                 }
             }