1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
/**
* Created by PhpStorm.
* User: 王源
* Date: 2020/1/9
* Time: 15:07
*/
namespace Meibuyu\Micro\Service\Interfaces\Product;
interface ProductChildServiceInterface
{
/**
* 获取单个数据
* @param int $id 子SKU id
* @param array $columns 子SKU表的字段,默认显示全部
* @param array $relations 子SKU的关联关系,可传入['brand', 'category', 'product_name', 'images', 'cost', 'weight', 'packs']
* @return array|null
*/
public function get($id, array $columns = ['*'], array $relations = []);
/**
* 通过id列表获取产品数组
* @param array $idList 子SKUid的列表, 默认去重
* @param array $columns 子SKU表的字段,默认显示全部
* @param array $relations 子SKU的关联关系,可传入['brand', 'category', 'product_name', 'images', 'cost', 'weight', 'packs']
* @return array 默认keyBy('id')
*/
public function getByIdList(array $idList, array $columns = ['*'], array $relations = []): array;
/**
* 通过sku列表获取子产品列表
* @param array $skuList 默认去重
* @param array $columns 子SKU表的字段,默认返回id
* @param array $relations 子SKU的关联关系,可传入['color', 'size','brand', 'category', 'product_name', 'images', 'cost', 'weight', 'packs']
* @return array 默认keyBy('child_sku')
*/
public function getListBySkuList(array $skuList, array $columns = ['id'], array $relations = []);
/**
* 获取全部尺码列表
* @param array $columns 默认['id', 'name']
* @return array
*/
public function sizes(array $columns = ['id', 'name']): array;
/**
* 获取全部颜色列表
* @param array $columns 默认['id', 'code', 'cn_name', 'en_name']
* @return array
*/
public function colors(array $columns = ['id', 'code', 'cn_name', 'en_name']): array;
/**
* 通过id数组获取尺码列表
* @param array $ids 默认去重
* @param array $columns
* @return array 默认keyBY('id')
*/
public function getSizesByIds(array $ids, $columns = ['id', 'name']): array;
/**
* 通过id数组获取颜色列表
* @param array $ids 默认去重
* @param array $columns
* @return array 默认keyBY('id')
*/
public function getColorsByIds(array $ids, array $columns = ['id', 'code', 'cn_name', 'en_name']): array;
/**
* 通过id获取尺码
* @param int $id
* @param array $columns
* @return array|null
*/
public function getSizeById(int $id, $columns = ['id', 'name']);
/**
* 通过id获取颜色
* @param int $id
* @param array $columns
* @return array|null
*/
public function getColorById(int $id, array $columns = ['id', 'code', 'cn_name', 'en_name']);
/**
* 获取某产品下的所有子产品
* @param int $productId
* @param array $columns
* @return array
*/
public function getListByProductId(int $productId, $columns = ['id', 'child_sku']);
/**
* 模糊搜索仓库子sku,获取id数组
* @param string $childSku 仓库子sku
* @param array|null $limitIds 限制id数组,不传为不限制
* @return array
*/
public function getIdsByChildSku(string $childSku, array $limitIds = null);
}