favorite.js
3.31 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
/**
* 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 => {
return res.json(result);
}).catch(next);
} else if (!uid) {
return res.json({
code: 403,
message: '用户ID不存在',
data: {
url: helpers.urlFormat('/signin.html')
}
});
} else {
return res.json({
code: 400,
message: '操作失败'
});
}
};
const isFavoriteBrand = (req, res, next) => {
let uid = req.user.uid || '';
let brandId = req.query.brandId;
if (uid && brandId) {
brandService.isFavoriteAsync(uid, brandId).then(result => {
return res.json(result);
}).catch(next);
} else {
return 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 * 1 ? true : false;
// needColloect 说明刚登录状态 是cookie传的值
if (req.body.needColloect * 1 === 1) {
isadd = true;
}
if (!uid) {
res.json({
code: 401,
message: '用户没有登录',
data: {url: helpers.urlFormat('/signin.html')}
});
} 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,
isFavoriteBrand
};