hrjy 2 years ago
parent
commit
deed50f907

+ 3 - 3
app/api/controller/auction/AuctionController.php

@@ -60,6 +60,7 @@ class AuctionController
             ['id']
         ]);
         if (!$data['id']) return app('json')->fail('数据传入错误');
+        if (cache($request->uid())) return app('json')->fail('请勿频繁点击');
         $auctionModel = new Auction();
         $auction = $auctionModel->find($data['id']);
         if (!$auction)return app('json')->fail('没有此数据');
@@ -73,16 +74,15 @@ class AuctionController
         if (AuctionBooking::where([['uid', '=', $request->uid()], ['auction_id' , '=', $auction['id']], ['frequency', '=', $auction['frequency']]])->find()){
             return app('json')->fail('当前场馆已预约');
         }
-
+        cache($request->uid(), 1, 5);
         $userModel = new User();
-        $user = $userModel->find($request->uid());
+        $user = User::where('uid', $request->uid())->find();
         if ($user['is_auth'] != 2) return app('json')->fail('未实名认证');
         if ($user['anticipate'] < $auction['anticipate']) return app('json')->fail('易趣卷不足');
         $user['anticipate'] = $user['anticipate'] - $auction['anticipate'];// 扣除预约卷
 
         User::rollbackTrans();
         $res = $user->save();
-
         if ($res){
             AuctionBooking::booking($user['uid'], $auction);
             UserBill::expend('预约场馆', $user['uid'], 'anticipate','reduce_anticipate', $auction['anticipate'], 0, $user['anticipate'], '预约扣除易趣卷'); // 写入记录

+ 2 - 2
app/api/controller/auction/AuctionProductController.php

@@ -357,7 +357,8 @@ class AuctionProductController
         $data = UtilService::postMore([
             ['id'],
         ]);
-        $product = AuctionProduct::where('id', $data['id'])->where('uid', $request->uid())->find();
+        Db::startTrans();
+        $product = AuctionProduct::where('id', $data['id'])->where('uid', $request->uid())->lock(true)->find();
         $user = User::where('uid', $request->uid())->find();
         if (!$product) return app('json')->fail('商品不存在');
         if ($product['frozen'] == 1) return app('json')->fail('商品已冻结,无法挂售');
@@ -383,7 +384,6 @@ class AuctionProductController
         $user['anticipate'] -= $datas['anticipate']; // 扣除预约券
         $user['integral'] += $datas['give'];
         try {
-            Db::startTrans();
             // 新增挂售时间段
             AuctionTime::create([
                 'uid' => $request->uid(),