FavoriteData.php
9.15 KB
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
<?php
namespace LibModels\Web\Product;
use Api\Yohobuy;
use Api\Sign;
/**
* FavoriteData
*
* 收藏相关接口
*/
class FavoriteData
{
const URL_PRODUCT_FAVORITE = 'shops/service/v1/favorite/';
const URL_ARTICLE_FAVORITE = '/guang/api/v1/favorite/';
const URL_ARTICLE_FAVORITE_BRAND = '/guang/service/v2/favorite/toggleBrand';
/**
* 根据uid和商品的id查询是否被用户收藏
* @param int $uid
* @param int $productId
* @param boolean $isOnlyUrl 是否指返回链接
* @return boolean 收藏 true 未收藏 false
*/
public static function getUidProductFav($uid, $productId, $isOnlyUrl = false)
{
$param = Yohobuy::param();
$param['method'] = 'app.favorite.isFavorite';
$param['id'] = $productId;
$param['uid'] = $uid;
$param['type'] = 'product';
$param['client_secret'] = Sign::getSign($param);
//只是返回链接
if ($isOnlyUrl) {
return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
}
return Yohobuy::get(Yohobuy::API_URL, $param);
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidProductFav', array($uid, $productSkn));
}
/**
* 根据uid和一组商品的skn列表查询是否被用户收藏
*
* @param int $uid 用户ID
* @param array $productIdList 商品ID列表
* @return boolean 收藏 true,未收藏 false
*/
public static function getUidProductFavList($uid, $productIdList)
{
// $result = array();
//
// foreach ($productSknList as $skn) {
// Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidProductFav', array($uid, $skn), function($retval) use(&$result, $skn) {
// $result[$skn] = empty($retval['data']) ? false : $retval['data'];
// });
// }
// Yohobuy::yarConcurrentLoop();
//
// return $result;
$urlList = array();
$param = array();
foreach ($productIdList as $productId) {
$param = Yohobuy::param();
$param['method'] = 'app.favorite.isFavorite';
$param['id'] = $productId;
$param['uid'] = $uid;
$param['type'] = 'product';
$param['client_secret'] = Sign::getSign($param);
$urlList[$productId] = Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
}
return Yohobuy::getMulti($urlList);
}
/**
* 根据uid和商品的skn收藏商品
* @param $uid
* @param $productId
* @return bool
*/
public static function addUidProductFav($uid, $productId, $isBrand = false)
{
$param = Yohobuy::param();
$param['method'] = 'app.favorite.add';
$param['id'] = $productId;
$param['uid'] = $uid;
$param['type'] = $isBrand ? 'brand' : 'product';
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 根据uid和商品的skn取消收藏商品
* @param $uid
* @param $productId
* @return bool
*/
public static function delUidProductFav($uid, $productId, $isBrand = false)
{
$param = Yohobuy::param();
$param['method'] = 'app.favorite.cancel';
$param['fav_id'] = $productId;
$param['uid'] = $uid;
$param['type'] = $isBrand ? 'brand' : 'product';
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 取消商品或品牌收藏
* @param type $uid 用户uid
* @param type $productId 商品id或品牌id
* @param type $bool 商品或品牌
* @return type
*/
public static function cancelProductFav($uid, $productId, $isBrand = false)
{
$param = Yohobuy::param();
$param['method'] = 'web.favorite.cancel';
$param['favIds'] = $productId;
$param['uid'] = $uid;
$param['type'] = $isBrand ? 'brand' : 'product';
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 根据uid和品牌ID添加或取消收藏品牌
* @param int $uid
* @param string $brandId
* @return bool
*/
public static function changeFavoriteBrand($uid, $brandId)
{
$param = Yohobuy::param();
$param['uid'] = $uid;
$param['brand_id'] = $brandId;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::SERVICE_URL. self::URL_ARTICLE_FAVORITE_BRAND, $param);
//return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'toggleBrandFav', array($uid, $brandId));
}
/**
* 根据uid和品牌id判断品牌是否收藏
* @param $uid
* @param $brandId
* @return bool
*/
public static function isFavoriteBrand($uid, $brandId)
{
$param = Yohobuy::param();
$param['uid'] = $uid;
$param['brandId'] = $brandId;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE.'getUidBrandFav', $param);
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidBrandFav', array($uid, $brandId));
}
/**
* 收藏商品列表
* @param type $uid 用户id
* @param type $limit 最多显示500条
* @return type
*/
public static function getFavoriteProductList($uid, $limit = 500)
{
$param = Yohobuy::param();
$param['method'] = 'web.favorite.product';
$param['uid'] = $uid;
$param['limit'] = $limit;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 收藏的品牌数据
*
* @param int $uid 用户ID
* @param int $page 第几页,默认1
* @param int $limit 限制读取的数目,默认10
* @return array 收藏的品牌接口返回的数据
*/
public static function favoriteBrandData($uid, $page = 1, $limit = 10)
{
$param = Yohobuy::param();
$param['method'] = 'app.favorite.brand';
$param['uid'] = $uid;
$param['page'] = $page;
$param['limit'] = $limit;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 文章收藏列表
* @param type $uid 用户id
* @param type $udid 用户客户端唯一标识
* @param type $page 当前页
* @param type $limit 每页显示数量
* @return type array
*/
public static function favoriteArticleData($uid, $udid, $page, $limit)
{
$param = Yohobuy::param();
$param['uid'] = $uid;
$param['udid'] = $udid;
$param['page'] = $page;
$param['limit'] = $limit;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_ARTICLE_FAVORITE. 'getUserFavArticleList', $param);
}
/**
* 取消文章收藏
* @param type $article_id 文章id
* @param type $uid 用户id
* @return type
*/
public static function changeFavoriteArticle($article_id, $uid)
{
$param = Yohobuy::param();
$param['uid'] = $uid;
$param['article_id'] = $article_id;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_ARTICLE_FAVORITE. 'cancelFavorite',$param);
}
/**
* 订阅降价通知(手机通知)
* @param type $uid 用户id
* @param type $mobile 手机号
* @param type $productId 商品id
*/
public static function redutionAdd($uid, $mobile, $productId)
{
$param = Yohobuy::param();
$param['method'] = 'web.redution.add';
$param['uid'] = $uid;
$param['mobile'] = $mobile;
$param['productId'] = $productId;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 已订阅降价通知数量
* @param type $uid
*/
public static function redutionCount($uid)
{
$param = Yohobuy::param();
$param['method'] = 'web.redution.count';
$param['uid'] = $uid;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
/**
* 取消订阅通知
* @param type $uid 用户id
* @param type $mobile 手机号
* @param type $productId 商品id
*/
public static function redutionCancel($uid, $productId)
{
$param = Yohobuy::param();
$param['method'] = 'web.redution.cancel';
$param['uid'] = $uid;
$param['productIds'] = $productId;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
}
}