You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.4 KiB
58 lines
1.4 KiB
<?php
|
|
|
|
namespace App\Service\v3\Implementations;
|
|
|
|
use App\Service\v3\Interfaces\GoodsActivityServiceInterface;
|
|
use Hyperf\DbConnection\Db;
|
|
use App\Constants\v3\Store;
|
|
use App\Constants\v3\Goods;
|
|
use App\Model\v3\GoodsActivity;
|
|
use App\Model\v3\GoodsActivityBanner;
|
|
class GoodsActivityService implements GoodsActivityServiceInterface
|
|
{
|
|
public function do($goodsId)
|
|
{
|
|
|
|
}
|
|
|
|
|
|
public function check($goodsId,$num = 1)
|
|
{
|
|
$data = GoodsActivity::query()->with('store')->where('id', $goodsId)->first();
|
|
//活动商品 校验
|
|
if($data->expire_time < time()){
|
|
return '活动已结束';
|
|
}
|
|
|
|
if($data->store->is_rest != Store::IS_OPEN_YES){
|
|
return '店铺已休息';
|
|
}
|
|
|
|
if($data->on_sale == Goods::ON_SALE_NO || !is_null($data->deleted_at)){
|
|
return '商品已下架';
|
|
}
|
|
|
|
if($data->is_infinite != Goods::IS_INVENTORY && $data->inventory < $num){
|
|
return '库存不足';
|
|
}
|
|
|
|
return '';
|
|
}
|
|
|
|
public function undo()
|
|
{
|
|
// TODO: Implement undo() method.
|
|
}
|
|
|
|
public function getBanner($goodsId)
|
|
{
|
|
$banner = GoodsActivityBanner::query()->where('goods_id',$goodsId)->orderByDesc('type')->get();
|
|
return $banner;
|
|
}
|
|
|
|
public function detail($goodsId)
|
|
{
|
|
$res = GoodsActivity::query()->with('store')->where('id',$goodsId)->first();
|
|
return $res;
|
|
}
|
|
}
|