hrjy 2 anni fa
parent
commit
11461a5d40

+ 17 - 4
app/admin/controller/auction/AuctionGu.php

@@ -67,6 +67,7 @@ class AuctionGu extends AuthController
     {
         $f = [];
         $f[] = Form::input('name', '场馆名称')->col(12);
+        $f[] = Form::input('max_hanging', '最大挂售额度')->col(12);
         $f[] = Form::frameImageOne('image', '主图片(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')))->icon('image')->width('100%')->height('500px');
         $f[] = Form::frameImages('slider_image', '轮播图(640*640px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'slider_image')))->maxLength(3)->icon('images')->width('100%')->height('500px');
         $f[] = Form::radio('status', '状态', 1)->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]]);
@@ -97,19 +98,22 @@ class AuctionGu extends AuthController
             'sort',
             'info',
             'uid',
-            'slider_image'
+            'slider_image',
+            'max_hanging'
         ]);
         $validate = Validate::rule('name', 'require')->rule([
             'name' => 'require',
             'image' => 'require',
             'uid' => 'require',
-            'slider_image' => 'require'
+            'slider_image' => 'require',
+            'max_hanging' => 'require'
         ]);
         $validate->message([
             'name.require' => '名称不能为空',
             'image.require' => '图片不能为空',
             'uid.require' => '请绑定用户',
             'slider_image.require' => '轮播图不能为空',
+            'max_hanging.require' => '挂售额度不能为空',
         ]);
         $data['slider_image'] = json_encode($data['slider_image']);
         if (!$validate->check($data)) {
@@ -169,6 +173,12 @@ class AuctionGu extends AuthController
         $data = \app\admin\model\auction\AuctionGu::find($id);
         $f = [];
         $f[] = Form::input('name', '场馆名称',$data->getData('name'))->col(12);
+        if ($this->adminInfo['roles'] == 8){
+            $f[] = Form::hidden('max_hanging', $data->getData('max_hanging'))->col(12);
+        }else{
+            $f[] = Form::input('max_hanging', '最大挂售额度',$data->getData('max_hanging'))->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::frameImages('slider_image', '商品轮播图(640*640px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'slider_image')), json_decode($data->getData('slider_image'), 1))->maxLength(5)->icon('images')->width('100%')->height('500px');
         $f[] = Form::radio('status', '状态', $data->getData('status'))->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]]);
@@ -209,20 +219,23 @@ class AuctionGu extends AuthController
             'info',
             'uid',
             'status',
-            'slider_image'
+            'slider_image',
+            'max_hanging'
         ]);
 
         $validate = Validate::rule('name', 'require')->rule([
             'name' => 'require',
             'image' => 'require',
             'uid' => 'require',
-            'slider_image' => 'require'
+            'slider_image' => 'require',
+            'max_hanging' => 'require'
         ]);
         $validate->message([
             'name.require' => '名称不能为空',
             'image.require' => '图片不能为空',
             'uid.require' => '请绑定用户',
             'slider_image.require' => '轮播图不能为空',
+            'max_hanging.require' => '挂售额度不能为空',
 
         ]);
         if (!$validate->check($data)) {

+ 2 - 2
app/admin/controller/setting/SystemAdmin.php

@@ -55,8 +55,8 @@ class SystemAdmin extends AuthController
             }
             return $options;
         })->multiple(1);
-        $f[] = Form::selectOne('uid', '绑定会员', $admin->uid)
-            ->options(User::field('uid as value,nickname as label')->select()->toArray());
+        $f[] = Form::select('uid', '绑定会员', $admin->uid)
+            ->options(User::field('uid as value,nickname as label')->select()->toArray())->filterable(1);
         $f[] = Form::radio('status', '状态', 1)->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]]);
         $form = Form::make_post_form('添加管理员', $f, Url::buildUrl('save'));
         $this->assign(compact('form'));

+ 1 - 0
app/admin/view/auction/auction_gu/index.php

@@ -107,6 +107,7 @@
             {type: 'checkbox'},
             {field: 'id', title: 'ID', sort: true, event: 'id', width: '5%', templet: '#id'},
             {field: 'name', title: '会馆名称', templet: '#nickname', align: 'center'},
+            {field: 'max_hanging', title: '最大挂售', templet: '#max_hanging', align: 'center'},
             {field: 'nickname', title: '会馆拥有人', templet: '#nickname', align: 'center'},
             {field: 'image', title: '封面', templet: '#image', align: 'center', width: '5%',},
             {field: 'status', title: '状态', templet: '#status', align: 'center'},

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

@@ -8,6 +8,7 @@ use app\common\model\Config;
 use app\models\auction\Auction;
 use app\models\auction\AuctionBooking;
 use app\models\auction\AuctionFrozen;
+use app\models\auction\AuctionGu;
 use app\models\auction\AuctionOrder;
 use app\models\auction\AuctionProduct;
 use app\models\auction\AuctionTime;
@@ -358,13 +359,21 @@ class AuctionProductController
         $user = User::where('uid', $request->uid())->find();
         if (!$product) return app('json')->fail('商品不存在');
         if ($product['frozen'] == 1) return app('json')->fail('商品已冻结,无法挂售');
-
         if ($product['is_show'] == 1) return app('json')->fail('商品已挂售');
 
-        $datas = AuctionProduct::bs($data['id']);// 获取挂售详情
+        $guId = Auction::where('id', $product['auction_id'])->value('auction_gu_id');
+        $auction_id = Auction::where('auction_gu_id', $guId)->column('id');
+        $max = AuctionGu::where('id', $guId)->value('max_hanging');
+        $money = AuctionProduct::where('is_show', 1)
+            ->where('is_admin', 2)
+            ->where('uid', $request->uid())
+            ->where('auction_id', 'in', $auction_id)
+            ->whereBetweenTime('update_time',strtotime('today'), strtotime('tomorrow'))
+            ->sum('hanging_price');
+        if (($money+$product['hanging_price']) > (float)$max) return app('json')->fail('今天挂售金额已超出上限');
 
+        $datas = AuctionProduct::bs($data['id']);// 获取挂售详情
         if ($user['anticipate'] < $datas['anticipate']) return app('json')->fail('预约券不足');
-
         $product['price'] = $product['hanging_price'];
         $product['hanging_price'] = $datas['hanging_price']; // 商品变为挂售价格
         $product['is_show'] = 1; // 上架