Skip to content

新增商品

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)

注意:如果是多规格商品每种规格设置会员价格不同,那么在商品主表中的价格取得是众多规格最低会员价

输入图片说明

Clone this wiki locally