-
Notifications
You must be signed in to change notification settings - Fork 1.6k
新增商品
liaofei edited this page Jan 20, 2021
·
1 revision
新增分为三块:1,商品信息;2,商品详情;3,其他设置 一,商品信息
二,商品详情
三,其他设置
一,新增接口入口
控制器: app/adminapi/controller/v1/product/StoreProduct.php
方 法: public function save($id)
接口里只用来接收前端传来要保存的商品信息,让后调用商品service层save方法进行具体的业务处理。最后返回状态,此接口新增和编辑共同使用,通过是有商品ID进行区别。
二,具体新增处理逻辑
service: app/services/product/product/StoreProductServices.php
方法:public function save(int $id, array $data)
这个方法里是具体新增处理逻辑,在这个里面会调用其他的service层处理方法如,商品详情:StoreDescriptionServices::class,
商品分类:StoreProductCateServices::class,商品规格属性:StoreProductAttrServices::class,商品优惠券:StoreProductCouponServices::class等,其中主要涉及的数据表已经在流程程序导出中给出。如果还需要在其中二开,为保证数据统一性,建议将逻辑写到闭包实事务当中:
$this->transaction(function () use (//传入闭包中需要的参数,可以是任何类型数据) {
//处理逻辑
});
保存商品详情处理
service: app/services/product/product/StoreDescriptionServices.php
方法: public function saveDescription(int $id, string $description, int $type = 0)
商品规格数据校验,拼装和保存
商品所属分类保存
商品优惠券保存
商品会员价格处理
service: app/services/product/sku/StoreProductAttrServices.php
方法:public function saveProductAttr(array $data, int $id, int $type = 0, $is_vip = 0)
注意:如果是多规格商品每种规格设置会员价格不同,那么在商品主表中的价格取得是众多规格最低会员价