Przeglądaj źródła

修改拼团购买的限制

dongxiaoqin 1 rok temu
rodzic
commit
95f80d4306
1 zmienionych plików z 11 dodań i 4 usunięć
  1. 11 4
      app/api/logic/GroupActivityLogic.php

+ 11 - 4
app/api/logic/GroupActivityLogic.php

@@ -45,7 +45,7 @@ class GroupActivityLogic extends BaseLogic
             $detail['timestamp'] = time();
             $detail['goods'] = self::getEquityGoods($detail['equity_id']);
             //查询用户是否已有付款订单
-            $detail['order'] = GroupUserOrder::with('group_order')->where(['user_id'=>$userId,'group_activity_id'=>$id,'pay_status'=>1])->where('refund_status','<>',1)->field('id,status,num,order_amount,paid_amount,pay_way,pay_time,pay_status,remark,create_time,group_order_id')->findOrEmpty()->toArray();
+            $detail['order'] = [];//GroupUserOrder::with('group_order')->where(['user_id'=>$userId,'group_activity_id'=>$id,'pay_status'=>1])->where('refund_status','<>',1)->field('id,status,num,order_amount,paid_amount,pay_way,pay_time,pay_status,remark,create_time,group_order_id')->findOrEmpty()->toArray();
         }
 
         return $detail;
@@ -152,9 +152,9 @@ class GroupActivityLogic extends BaseLogic
         Db::startTrans();
         try {
             $userOrder = GroupUserOrder::where(['group_activity_id' => $params['group_activity_id'], 'user_id' => $params['user_id'],'refund_status' => 0])->where("pay_status","<>",1)->findOrEmpty()->toArray();
-            if ($userOrder && $userOrder['pay_status'] == 1) {
-                throw new Exception('您已参加过该活动!');
-            }
+            // if ($userOrder && $userOrder['pay_status'] == 1) {
+            //     throw new Exception('您已参加过该活动!');
+            // }
 
             $activity = GroupActivity::getDetail($params['group_activity_id']); //活动详情
             if (!$activity) {
@@ -172,6 +172,13 @@ class GroupActivityLogic extends BaseLogic
             if ($num > 5) {
                 throw new Exception('下单数量不能超过5个!'); 
             }
+
+            //每人每团限量10份
+            $totalNum = GroupUserOrder::where(['group_activity_id' => $params['group_activity_id'], 'user_id' => $params['user_id'],'status' => 1])->sum('num');
+            if ($totalNum + $params['num'] >= 10 ) {
+                throw new Exception('每人限购10份,您还可以购买的数量为' . (10 - $totalNum) . '!');
+            }
+
             $order_amount = $activity['price'][0];
             
             //加入已开的拼团单