1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
-
-
- namespace app\api\validate;
-
-
- use app\common\basics\Validate;
- use app\common\model\goods\Goods;
- use app\common\model\shop\Shop;
-
- class TeamValidate extends Validate
- {
- protected $rule = [
- 'team_id' => 'require|number',
- 'goods_id' => 'require|number|checkShop',
- 'item_id' => 'require|number',
- 'count' => 'require|number',
- ];
-
- protected $message = [
- 'team_id.require' => '缺少team_id',
- 'team_id.number' => 'team_id需为数字',
- 'goods_id.require' => '缺少goods_id',
- 'goods_id.number' => 'goods_id需为数字',
- 'item_id.require' => '缺少item_id',
- 'item_id.number' => 'item_id需为数字',
- 'count.require' => '缺少count',
- 'count.number' => 'count需为数字',
- ];
-
- protected $scene = [
- 'check' => ['goods_id', 'item_id', 'count']
- ];
-
- /**
- * @notes 检查商品所属店铺的营业状态
- * @param $goods_id
- * @return bool|string
- * @author Tab
- * @date 2021/7/19 14:08
- */
- public function checkShop($goods_id)
- {
- $shop_id = Goods::where('id', $goods_id)->value('shop_id');
- $shop = Shop::field('expire_time,is_run,is_freeze')->where(['del' => 0, 'id' => $shop_id])->findOrEmpty();
- if($shop->isEmpty()) {
- return '该商品所属店铺不存在';
- }
- // 获取原始数据(不经获取器)
- $shop = $shop->getData();
- if(!empty($shop['expire_time']) && ($shop['expire_time'] <= time())) {
- return '该商品所属店铺已到期';
- }
- if($shop['is_freeze']) {
- return '该商品所属店铺已被冻结';
- }
- if(!$shop['is_run']) {
- return '该商品所属店铺暂停营业中';
- }
- return true;
- }
- }
|