hrjy 3 年之前
父節點
當前提交
2dac15e6b2

+ 18 - 9
app/admin/controller/auction/Auction.php

@@ -34,6 +34,7 @@ class Auction extends AuthController
     {
         $list = AuctionGu::select();
 
+        $this->assign('admin', $this->adminInfo);
         $this->assign('list', $list);
         return $this->fetch();
     }
@@ -206,15 +207,21 @@ class Auction extends AuthController
         $f[] = Form::input('anticipate', '预约价格', $data->getData('anticipate'))->col(12);
         $f[] = Form::frameImageOne('image', '场次主图片(305*305px)',Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')), $data->getData('image'))->icon('image')->width('100%')->height('500px');
         $f[] = Form::radio('status', '状态',  $data->getData('status'))->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]])->col(12);
-        $f[] = Form::select('auction_gu_id', '绑定场馆', (string)$data->getData('auction_gu_id'))->setOptions(function () {
-            $model = new AuctionGu();
-            $list = $model->select();
-            $menus = [];
-            foreach ($list as $menu) {
-                $menus[] = ['value' => $menu['id'], 'label' => $menu['name']];
-            }
-            return $menus;
-        })->filterable(1)->col(12);
+        if ($this->adminInfo['roles'] == 1){
+            $f[] = Form::select('auction_gu_id', '绑定场馆', (string)$data->getData('auction_gu_id'))->setOptions(function () {
+                $model = new AuctionGu();
+                $list = $model->select();
+                $menus = [];
+                foreach ($list as $menu) {
+                    $menus[] = ['value' => $menu['id'], 'label' => $menu['name']];
+                }
+                return $menus;
+            })->filterable(1)->col(12);
+        }else{
+            $f[] = Form::hidden('auction_gu_id', $data->getData('auction_gu_id'));
+        }
+
+
         $f[] = Form::dateTimes('add_time', '预约开始时间', $data->getData('add_time'));
         $f[] = Form::dateTimes('end_time', '预约结束时间', $data->getData('end_time'));
         $f[] = Form::dateTimes('radd_time', '入场时间', $data->getData('radd_time'));
@@ -319,6 +326,8 @@ class Auction extends AuthController
             'id' => $id
 
         ]);
+        $this->assign('admin', $this->adminInfo);
+
         return $this->fetch('');
 
 

+ 2 - 0
app/admin/view/auction/auction/product.php

@@ -74,10 +74,12 @@
             <div class="layui-card">
                 <div class="layui-card-header">商品列表</div>
                 <div class="layui-card-body">
+                    {if $admin['roles'] == 1}
                     <div class="layui-btn-container" id="container-action">
                         <a class="layui-btn layui-btn-sm" href="{:Url('auction.auction/product_create?id='.$id)}">添加商品</a>
 <!--                        <button class="layui-btn layui-btn-sm" data-type="del_auction">批量删除</button>-->
                     </div>
+                    {/if}
                     <table class="layui-hide" id="List" lay-filter="List"></table>
 
 

+ 7 - 3
app/api/controller/auction/AuctionProductController.php

@@ -100,10 +100,13 @@ class AuctionProductController
             return app('json')->fail('当前未到抢购时间');
         }
 
-        $count = AuctionOrder::where('frequency',$auction['frequency'])->where('uid', $request->uid())->where('product_id', 'in', $product_ids)->count();
+        $count = AuctionOrder::where('frequency',$auction['frequency'])->where('uid', $request->uid())->where('auction_id', '=', $auction['id'])->count();// 查找今天订单数量
+        $orderCount = AuctionOrder::where([['uid', '=', $request->uid()]])->whereBetweenTime('create_time', $time, $today)->count(); // 查找今天抢购的订单数量;
+        $config = SystemConfigService::get('auction_number');
+        $max = SystemConfigService::get('maximum');
 
-        $config = SystemConfig::where('menu_name', 'auction_number')->find();
-        if ($count >=  (int) preg_replace('~(,(?=[^"]*"(?:[^"]*"[^"]*")*[^"]*$)|")~', '', $config['value'])) return app('json')->fail('单场购买数量已到达最大'); // 查看当前是否已到最大
+        if ($orderCount >= (int)$max) return app('json')->fail('今日抢购数量已达到最大'); // 查看当前是否已到最大
+        if ($count >=  (int)$config) return app('json')->fail('单场购买数量已到达最大'); // 查看当前是否已到最大
 
         if ($product['uid'] == $request->uid()) return app('json')->fail('无法购买自己商品');
         if ($product){
@@ -119,6 +122,7 @@ class AuctionProductController
                 'order_id' => getNewOrderId(),
                 'name' => $product['name'],
                 'product_id' => $product['id'],
+                'auction_id' => $auction['id'],
                 'image'=> $product['image'],
                 'price' => $product['hanging_price'],
                 'frequency' => $auction['frequency']

+ 3 - 2
app/models/auction/AuctionProduct.php

@@ -81,8 +81,9 @@ class AuctionProduct extends BaseModel
         foreach ($b as $k => $v){
             array_push($a, $v); // 卖出商品到最后
         }
-        $orderList = count($orderList) == 0? [] : $orderList->toArray();
-        if ($orderList){
+        if (isset($orderList) and empty($orderList)){
+
+            $orderList = count($orderList) == 0? [] : $orderList->toArray();
             foreach ($orderList as $v){
                 $v['status'] = 2;// 已被购买
                 $v['str'] = '已卖完';