recom.js
3.29 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
'use strict';
const logger = global.yoho.logger;
const utils = '../../../utils';
const productProcess = require(`${utils}/product-process`);
module.exports = class extends global.yoho.BaseModel {
constructor(ctx) {
super(ctx);
}
mayLike(uid, page, limit, gender, udid, recPos, channel, clientId) {
return this.get({
data: {
method: 'app.search.newLast7day',
uid: uid,
page: page,
limit: limit,
udid: udid,
rec_pos: recPos,
yh_channel: channel,
gender: gender,
client_id: clientId
}
}).then(result => {
if (result && result.code === 200) {
if (result.data.page_total && page <= result.data.page_total) {
if (result.data.product_list) {
return productProcess.processProductList(result.data.product_list, {
showSimilar: true
});
} else {
return false;
}
}
} else {
logger.error('mayLike code no 200');
}
});
}
mayLikeKids(page, limit, channel) {
return this.get({
data: {
method: 'app.search.kids',
page: page,
limit: limit,
yh_channel: channel
}
}).then((result) => {
if (result && result.code === 200) {
if (page > result.data.page_total) {
return;
}
if (result.data.product_list) {
return productProcess.processProductList(result.data.product_list, {
showSimilar: true
});
}
} else {
logger.error('mayLikeKids code no 200');
}
});
}
mayLikelife(page, limit) {
return this.get({
data: {
method: 'app.search.lifeStyle',
page: page,
limit: limit,
yh_channel: '4'
}
}).then(result => {
if (result && result.code === 200) {
let formData = {
goodsContainer: []
};
if (result.data.product_list.top) {
let build = {};
build.show = true;
build.goods = productProcess.processProductList(result.data.product_list.top, {
showTags: false,
showSimilar: true
});
formData.goodsContainer.push(build);
}
if (result.data.product_list.top) {
let build = {};
build.show = true;
build.goods = productProcess.processProductList(result.data.product_list.new, {
showTags: false,
showSimilar: true
});
formData.goodsContainer.push(build);
}
return formData;
} else {
return {};
}
});
}
};