|
|
|
@ -15,13 +15,11 @@ use Hyperf\Di\Annotation\Inject; |
|
|
|
|
|
|
|
class GoodsService implements GoodsServiceInterface |
|
|
|
{ |
|
|
|
|
|
|
|
/** |
|
|
|
* @Inject |
|
|
|
* @var Log |
|
|
|
*/ |
|
|
|
protected $log; |
|
|
|
|
|
|
|
public function do($goodsId) |
|
|
|
{ |
|
|
|
|
|
|
|
@ -93,22 +91,102 @@ class GoodsService implements GoodsServiceInterface |
|
|
|
return Goods::query()->withoutGlobalScope('normal')->where(['store_id' => $storeId,'category_id' => $typeId])->orderByDesc('on_sale')->orderByDesc('created_at')->get()->toArray(); |
|
|
|
} |
|
|
|
|
|
|
|
public function create($params) |
|
|
|
{ |
|
|
|
$data = |
|
|
|
[ |
|
|
|
'market_id' => $params['market_id'], |
|
|
|
'store_id' => $params['store_id'], |
|
|
|
'name' => $params['name'], |
|
|
|
'category_id' => $params['category_id'], |
|
|
|
'goods_category_id' => $params['goods_category_id'], |
|
|
|
'goods_unit' => $params['goods_unit'], |
|
|
|
'price' => $params['price'], |
|
|
|
'original_price' => $params['original_price'], |
|
|
|
'inventory' => $params['inventory'], |
|
|
|
'restrict_num' => $params['restrict_num'], |
|
|
|
'start_num' => $params['start_num'], |
|
|
|
'spec' => $params['spec'], |
|
|
|
'tags' => $params['tags'], |
|
|
|
'remark' => $params['remark'], |
|
|
|
'on_sale' => $params['on_sale'], |
|
|
|
'is_infinite' => $params['is_infinite'] |
|
|
|
]; |
|
|
|
$this->log->event(LogLabel::CREATE_GOODS_LOG, ['logData' => json_encode( |
|
|
|
[ |
|
|
|
'id' => $params['id'], |
|
|
|
'market_id' => $params['market_id'], |
|
|
|
'store_id' => $params['store_id'], |
|
|
|
'name' => $params['name'], |
|
|
|
'category_id' => $params['category_id'], |
|
|
|
'goods_category_id' => $params['goods_category_id'], |
|
|
|
'goods_unit' => $params['goods_unit'], |
|
|
|
'price' => $params['price'], |
|
|
|
'original_price' => $params['original_price'], |
|
|
|
'inventory' => $params['inventory'], |
|
|
|
'restrict_num' => $params['restrict_num'], |
|
|
|
'start_num' => $params['start_num'], |
|
|
|
'spec' => $params['spec'], |
|
|
|
'tags' => $params['tags'], |
|
|
|
'remark' => $params['remark'], |
|
|
|
'on_sale' => $params['on_sale'], |
|
|
|
'is_infinite' => $params['is_infinite'], |
|
|
|
'user_id' => $params['user_id'] |
|
|
|
] |
|
|
|
)]); |
|
|
|
return Goods::create($data); |
|
|
|
} |
|
|
|
|
|
|
|
public function update($params) |
|
|
|
{ |
|
|
|
$goods = Goods::query()->withoutGlobalScope('normal')->where('id',$params['id'])->first(); |
|
|
|
if (empty($goods)) { |
|
|
|
throw new ErrorCodeException( ErrorCode::GOODS_NOT_EXISTS); |
|
|
|
} |
|
|
|
if(isset($params['name']) && !empty($params['name'])) { |
|
|
|
$goods->name = $params['name']; |
|
|
|
} |
|
|
|
if(isset($params['price']) && !empty($params['price'])) { |
|
|
|
$goods->price = $params['price']; |
|
|
|
} |
|
|
|
if(isset($params['on_sale'])) { |
|
|
|
$goods->on_sale = $params['on_sale']; |
|
|
|
} |
|
|
|
return $goods->save(); |
|
|
|
$goods = Goods::query()->withoutGlobalScope('normal') |
|
|
|
->where( |
|
|
|
[ |
|
|
|
'id' => $params['id'], |
|
|
|
'market_id' => $params['market_id'], |
|
|
|
'store_id' => $params['store_id'] |
|
|
|
] |
|
|
|
) |
|
|
|
->update( |
|
|
|
[ |
|
|
|
'name' => $params['name'], |
|
|
|
'category_id' => $params['category_id'], |
|
|
|
'goods_category_id' => $params['goods_category_id'], |
|
|
|
'goods_unit' => $params['goods_unit'], |
|
|
|
'price' => $params['price'], |
|
|
|
'original_price' => $params['original_price'], |
|
|
|
'inventory' => $params['inventory'], |
|
|
|
'restrict_num' => $params['restrict_num'], |
|
|
|
'start_num' => $params['start_num'], |
|
|
|
'spec' => $params['spec'], |
|
|
|
'tags' => $params['tags'], |
|
|
|
'remark' => $params['remark'], |
|
|
|
'on_sale' => $params['on_sale'], |
|
|
|
'is_infinite' => $params['is_infinite'] |
|
|
|
]); |
|
|
|
$this->log->event(LogLabel::UPDATE_GOODS_LOG, ['logData' => json_encode( |
|
|
|
[ |
|
|
|
'id' => $params['id'], |
|
|
|
'market_id' => $params['market_id'], |
|
|
|
'store_id' => $params['store_id'], |
|
|
|
'name' => $params['name'], |
|
|
|
'category_id' => $params['category_id'], |
|
|
|
'goods_category_id' => $params['goods_category_id'], |
|
|
|
'goods_unit' => $params['goods_unit'], |
|
|
|
'price' => $params['price'], |
|
|
|
'original_price' => $params['original_price'], |
|
|
|
'inventory' => $params['inventory'], |
|
|
|
'restrict_num' => $params['restrict_num'], |
|
|
|
'start_num' => $params['start_num'], |
|
|
|
'spec' => $params['spec'], |
|
|
|
'tags' => $params['tags'], |
|
|
|
'remark' => $params['remark'], |
|
|
|
'on_sale' => $params['on_sale'], |
|
|
|
'is_infinite' => $params['is_infinite'], |
|
|
|
'user_id' => $params['user_id'] |
|
|
|
] |
|
|
|
)]); |
|
|
|
return $goods; |
|
|
|
} |
|
|
|
|
|
|
|
public function info($goodsId) |
|
|
|
@ -116,4 +194,21 @@ class GoodsService implements GoodsServiceInterface |
|
|
|
$res = Goods::query()->withoutGlobalScope('normal')->where('id',$goodsId)->first(); |
|
|
|
return $res; |
|
|
|
} |
|
|
|
|
|
|
|
public function getTags() |
|
|
|
{ |
|
|
|
return [ |
|
|
|
'新品', |
|
|
|
'热销', |
|
|
|
'新鲜' |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
|
public function updateOnSale($goodsId) |
|
|
|
{ |
|
|
|
$goods = Goods::query()->withoutGlobalScope('normal')->find($goodsId); |
|
|
|
$onSale = $goods->on_sale + 1; |
|
|
|
$goods->on_sale = $onSale % 2; |
|
|
|
return $goods->save(); |
|
|
|
} |
|
|
|
} |