PlatformProductChildServiceInterface.php 4.81 KB
Newer Older
梁俊杰's avatar
梁俊杰 committed
1 2 3 4 5 6 7 8
<?php
/**
 * Created by PhpStorm.
 * User: 王源
 * Date: 2020/1/9
 * Time: 15:07
 */

9
namespace Meibuyu\Rpc\Service\Interfaces\Product;
梁俊杰's avatar
梁俊杰 committed
10 11 12 13 14 15 16

interface PlatformProductChildServiceInterface
{

    /**
     * 获取单个数据
     * @param int $id 平台产品id
王源's avatar
王源 committed
17
     * @param array $relations 平台子产品的关联关系,支持:["platform_product","product_child","weight"]
王源's avatar
王源 committed
18 19 20
     * @param array $columns 平台子产品表的字段,默认全部字段
     * ['id','platform_product_id','product_child_id','platform_product_child_sku','asin','fnsku','is_sale']
     * @return array|null
梁俊杰's avatar
梁俊杰 committed
21
     */
王源's avatar
王源 committed
22
    public function get($id, array $relations = [], $columns = ['*']);
梁俊杰's avatar
梁俊杰 committed
23 24 25

    /**
     * 通过id列表获取平台子产品数组
王源's avatar
王源 committed
26
     * @param array $idList 平台子产品id的列表, 默认去重
王源's avatar
王源 committed
27
     * @param array $relations 平台子产品的关联关系,支持:["platform_product","product_child","weight","packs"]
王源's avatar
王源 committed
28 29
     * @param array $columns 平台子产品表的字段,默认全部字段
     * ['id','platform_product_id','product_child_id','platform_product_child_sku','asin','fnsku','is_sale']
王源's avatar
王源 committed
30
     * @return array 默认keyBy('id')
梁俊杰's avatar
梁俊杰 committed
31
     */
王源's avatar
王源 committed
32
    public function getByIdList(array $idList, array $relations = [], $columns = ['*']): array;
33 34 35 36 37

    /**
     * 获取单个数据
     * @param string $sku 平台子产品sku
     * @param int $siteId 平台子产品所属站点
王源's avatar
王源 committed
38
     * @param array $relations 平台子产品的关联关系,支持:["platform_product","product_child","weight","packs"]
王源's avatar
王源 committed
39 40
     * @param array $columns 平台子产品表的字段,默认全部字段
     * ['id','platform_product_id','product_child_id','platform_product_child_sku','asin','fnsku','is_sale']
41 42
     * @return array
     */
王源's avatar
王源 committed
43
    public function getBySku($sku, $siteId, array $relations = [], $columns = ['*']): array;
44 45 46

    /**
     * 通过sku列表获取平台子产品数组
王源's avatar
王源 committed
47
     * @param array $skuList 平台子产品sku的列表, 默认去重
48
     * @param int $siteId 平台子产品所属站点
王源's avatar
王源 committed
49
     * @param array $relations 平台子产品的关联关系,支持:["platform_product","product_child","weight","packs"]
王源's avatar
王源 committed
50 51
     * @param array $columns 平台子产品表的字段,默认全部字段
     * ['id','platform_product_id','product_child_id','platform_product_child_sku','asin','fnsku','is_sale']
王源's avatar
王源 committed
52
     * @return array 默认keyBy('platform_product_child_sku')
53
     */
王源's avatar
王源 committed
54 55
    public function getBySkuList(array $skuList, $siteId, array $relations = [], $columns = ['*']): array;

56 57 58 59 60 61 62 63
    /**
     * 模糊搜索平台子sku,获取id数组
     * @param string $childSku 平台子sku
     * @param array|null $limitIds 限制id数组,不传为不限制
     * @return array
     */
    public function getIdsByChildSku(string $childSku, array $limitIds = null);

王源's avatar
王源 committed
64
    /**
王源's avatar
王源 committed
65
     * 获取仓库主sku对应的平台主sku
王源's avatar
王源 committed
66 67 68 69 70 71 72
     * @param array $productChildIds 已去重
     * @param null $siteId 指定站点id, 不传或传null,获取全部数据
     * @param array $columns
     * @return array
     */
    public function getListByProductChildIds(array $productChildIds, $siteId = null, array $columns = ['*']);

73 74 75 76
    /**
     * 通过仓库产品id获取平台子产品数组
     * @param $productId
     * @param null $siteId
王源's avatar
王源 committed
77
     * @param array $relations 平台子产品的关联关系,支持:["platform_product","product_child","weight","packs"]
78 79 80 81 82
     * @param array $columns
     * @return array
     */
    public function getListByProductIds($productId, $siteId = null, array $relations = [], $columns = ['*']);

83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
    /**
     * 通过颜色和尺码id获取平台子产品数组
     * @param $productId
     * @param $colorId
     * @param $sizeId
     * @param $siteId
     * @param array $relations 平台子产品的关联关系,支持:["platform_product","product_child","weight","packs"]
     * @return array
     * @author Zero
     */
    public function getListByColorSizeIds($productId, $colorId, $sizeId, $siteId, $relations = []);

    /**
     * 通过颜色和尺码id获取平台组合子产品数组
     * @param $productId
     * @param $siteId
     * @param array $colorIds
     * @param $sizeId
     * @return array
     * @author Zero
     */
    public function getPackListByColorSizeIds($productId, $siteId, $colorIds, $sizeId);

106 107 108 109
    /**
     * 根据平台子 SKU 获取对应的平台主 SKU 以及仓库主/子 SKU
     * @param array $platformChildSkus
     * @param string[] $columns
110
     * @param integer $siteId 网站 ID
111 112
     * @return array
     */
113
    public function getWarehouseProductByPlatformSku(array $platformChildSkus, $siteId, $columns = ['*']);
114 115 116 117

    /**
     * 根据平台子 SKU 获取对应的平台主 SKU 以及仓库主/子 SKU
     * @param array $asins
118
     * @param integer $siteId 站点 ID
119 120 121
     * @param string[] $columns
     * @return array
     */
122
    public function getWarehouseProductByFnSku(array $fnSku, $siteId, $columns = ['*']);
梁俊杰's avatar
梁俊杰 committed
123
}