Browse Source

取消订单需要归还优惠券

lizhen_gitee 6 months ago
parent
commit
84ce0bed3e
2 changed files with 14 additions and 0 deletions
  1. 13 0
      addons/unishop/controller/Order.php
  2. 1 0
      addons/unishop/model/Order.php

+ 13 - 0
addons/unishop/controller/Order.php

@@ -380,6 +380,13 @@ class Order extends Base
             $order->status = \addons\unishop\model\Order::STATUS_CANCEL;
             $order->canceltime = time();
             $order->save();
+
+            //归还优惠券
+            $coupon_user_id = Db::name('unishop_order_extend')->where('order_id',$order_id)->value('coupon_user_id');
+            if(!empty($coupon_user_id)){
+                Db::name('unishop_coupon_user')->where('id',$coupon_user_id)->where('user_id',$this->auth->id)->update(['status'=>0]);
+            }
+
             $this->success('取消成功', true);
         }
     }
@@ -436,6 +443,12 @@ class Order extends Base
                 $this->error('取消失败');
             }
 
+            //归还优惠券
+            $coupon_user_id = Db::name('unishop_order_extend')->where('order_id',$order_id)->value('coupon_user_id');
+            if(!empty($coupon_user_id)){
+                Db::name('unishop_coupon_user')->where('id',$coupon_user_id)->where('user_id',$this->auth->id)->update(['status'=>0]);
+            }
+
             //同意并执行退款
             if($refund_status == 3 && $refund_amount > 0){
                 $order = Db::name('unishop_order')->where('id',$order_id)->find();

+ 1 - 0
addons/unishop/model/Order.php

@@ -295,6 +295,7 @@ class Order extends Model
             'user_id' => $userId,
             'order_id' => $id,
             'coupon_id' => $coupon ? $coupon['id'] : 0,
+            'coupon_user_id' => $coupon ? $coupon['cu_id'] : 0,
             'coupon_json' => json_encode($coupon),
             'delivery_id' => $delivery ? $delivery['id'] : 0,
             'delivery_json' => json_encode($delivery),