favorite.js
3 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
/**
* Created by TaoHuang on 2016/6/13.
*/
'use strict';
const helpers = global.yoho.helpers;
const brandService = require('../models/favorite-brand-service');
const productService = require('../models/favorite-product-service');
const fav = require('../models/favorite');
/**
* 收藏品牌ajax请求
*/
const changeFavoriteBrand = (req, res, next) => {
let uid = req.user.uid || '';
let brandId = req.body.brandId;
if (uid && brandId) {
brandService.changeAsync(uid, brandId).then(result => {
res.json(result);
}).catch(next);
} else if (!uid) {
res.json({
code: 403,
message: '用户ID不存在',
data: {
url: helpers.urlFormat('/signin.html')
}
});
} else {
res.json({
code: 400,
message: '操作失败'
});
}
};
const collectProduct = (req, res, next) => {
let uid = req.user.uid || '';
let pid = req.body.productId;
let type = req.body.type || 'add';
if (uid && pid) {
switch (type) {
case 'add':
{
productService.createAsync(uid, pid)
.then(result => {
if (result.code === 413) {
result.message = '该商品已经收藏';
}
res.json(result);
})
.catch(next);
break;
}
case 'cancel':
{
productService.deleteAsync(uid, pid)
.then(result => res.json(result))
.catch(next);
break;
}
default:
{
res.json({
code: 400,
message: '错误类型'
});
}
}
} else if (!uid) {
res.json({
code: 403,
message: '用户没有登录',
data: {
url: helpers.urlFormat('/signin.html')
}
});
} else {
res.json({
code: 400,
message: '收藏失败'
});
}
};
const collectShop = (req, res, next) => {
let uid = req.user.uid || '';
let shopId = req.body.shopId;
let isadd = req.body.isFavorite;
// needColloect 说明刚登录状态 是cookie传的值
if (req.body.needColloect * 1 === 1) {
isadd = true;
}
if (!uid) {
res.json({
code: 401,
message: '用户没有登录',
data: {url: helpers.urlFormat('/signin')}
});
} else if (!shopId) {
res.json({
code: 400,
message: '收藏失败'
});
} else {
fav.toggleFavShop(shopId, uid, isadd).then(result => {
res.json(result);
}).catch(next);
}
};
module.exports = {
changeFavoriteBrand,
collectProduct,
collectShop
};