xieruidong 2 years ago
parent
commit
4086f576a2

+ 13 - 2
application/admin/controller/OrderInfoRefund.php

@@ -4,6 +4,8 @@ namespace app\admin\controller;
 
 use app\common\controller\Backend;
 use app\admin\model\Refund as Refund;
+use think\Db;
+
 /**
  * 
  *
@@ -72,15 +74,24 @@ class OrderInfoRefund extends Backend
     }
 
     public function audit($ids){
-        $refund=$this->model->find($ids);
         if($this->request->isGet()){
+            $refund=$this->model->find($ids);
             $this->assign('refund',$refund);
             return $this->fetch();
         }else{
             $data=input('row/a');
             $this->validate($data,[
-                'refund_status'=>['require','in:'.Refund::REFUND_PASS.','.Refund::REFUND_REJECT],
+                'refund_status'=>['require','in:1,2'],
             ]);
+            Db::startTrans();
+            $refund=$this->model->lock(true)->where('id',$ids)->findOrFail();
+            if(!$refund->allowAudit()){
+                Db::rollback();
+                $this->error('该申请已被审核');
+            }
+            $refund->makeAudit($data['refund_status']==1);
+            Db::commit();
+            $this->success();
         }
     }
 }

+ 6 - 0
application/admin/view/order_info_refund/audit.html

@@ -42,6 +42,12 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('支付方式')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input disabled class="form-control" value="{$refund.orderInfo.orders.pay_type_text}">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('申请退款金额')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input disabled class="form-control" value="{$refund.amount}">

+ 1 - 1
application/common/model/OrderInfo.php

@@ -14,7 +14,7 @@ class OrderInfo extends Model
         'goods_bak'
     ];
     public function orders(){
-        return $this->belongsTo(Orders::class);
+        return $this->belongsTo(Orders::class,'order_id');
     }
     public function goodsBak(){
         return $this->belongsTo(OrderInfoGoods::class,'goods_bak_id');

+ 6 - 0
application/common/model/Orders.php

@@ -85,6 +85,12 @@ class Orders extends Model
     public function getIsWaitPayAttr($_,$model){
         return $model['status']==self::S_WAIT_PAY;
     }
+    public function getPayTypeTextAttr($_,$model){
+        if(empty($model['pay_type'])){
+            return null;
+        }
+        return self::getPayTypes()[$model['pay_type']];
+    }
 
     /**
      * @return string[]

+ 10 - 0
application/common/model/Refund.php

@@ -56,6 +56,16 @@ class Refund Extends Model
             'refund_id'=>null,
         ]);
     }
+    public function allowAudit(){
+        return $this['refund_status']==self::REFUND_ING;
+    }
+    public function makeAudit($pass){
+        if($pass){
+
+        }else{
+
+        }
+    }