|
|
/**
|
|
|
* 商品详情相关models
|
|
|
* @author: yyq<yanqing.yang@yoho.cn>
|
|
|
* @date: 2016/6/27
|
|
|
*/
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
const api = global.yoho.API;
|
|
|
const helpers = global.yoho.helpers;
|
|
|
const headerModel = require('../../../doraemon/models/header'); // 头部model
|
|
|
const _ = require('lodash');
|
|
|
|
|
|
const _getCommonConsult = () => {
|
|
|
let params = {
|
|
|
method: 'app.consult.common'
|
|
|
};
|
|
|
|
|
|
return api.get('', params, {
|
|
|
code: 200
|
|
|
}).then(result => {
|
|
|
let data = {};
|
|
|
|
|
|
if (result.data) {
|
|
|
data.faq = result.data;
|
|
|
}
|
|
|
|
|
|
return data;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
const _formatConsultsList = (data) => {
|
|
|
let list = [];
|
|
|
|
|
|
if (data.length) {
|
|
|
_.forEach(data, (value) => {
|
|
|
list.push({
|
|
|
question: value.ask,
|
|
|
time: value.ask_time,
|
|
|
answer: value.answer,
|
|
|
id: value.id,
|
|
|
isLike: value.is_like === 'Y',
|
|
|
like: _.toNumber(value.like),
|
|
|
isUseful: value.is_useful === 'Y',
|
|
|
useful: _.toNumber(value.useful)
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
|
|
|
return list;
|
|
|
};
|
|
|
|
|
|
const _getConsults = (id, page, limit) => {
|
|
|
let params = {
|
|
|
method: 'app.consult.li',
|
|
|
product_id: id,
|
|
|
page: page ? page : 1,
|
|
|
limit: limit ? limit : 10
|
|
|
};
|
|
|
|
|
|
return api.get('', params, {
|
|
|
code: 200
|
|
|
}).then(result => {
|
|
|
let data = {};
|
|
|
|
|
|
if (result.data && result.data.list) {
|
|
|
Object.assign(data, {
|
|
|
list: _formatConsultsList(result.data.list),
|
|
|
pageTotal: result.data.page_total,
|
|
|
total: result.data.total
|
|
|
});
|
|
|
}
|
|
|
|
|
|
return data;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
let consults = (params) => {
|
|
|
let title = '购买咨询';
|
|
|
|
|
|
return api.all([
|
|
|
headerModel.setNav({
|
|
|
navTitle: title
|
|
|
}),
|
|
|
_getCommonConsult(),
|
|
|
_getConsults(params.product_id, 1, 10)
|
|
|
]).then(result => {
|
|
|
let data = {
|
|
|
pageHeader: result[0],
|
|
|
link: helpers.urlFormat('/product/detail/consultform', {
|
|
|
product_id: params.product_id
|
|
|
})
|
|
|
};
|
|
|
|
|
|
Object.assign(data, result[1]);
|
|
|
|
|
|
if (result[2].list && result[2].list.length) {
|
|
|
if (result[2].total) {
|
|
|
data.pageHeader.navTitle += `(${result[2].total})`;
|
|
|
}
|
|
|
data.consults = result[2].list;
|
|
|
}
|
|
|
|
|
|
return data;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
module.exports = {
|
|
|
consults // 商品详情相关-购买咨询
|
|
|
}; |
...
|
...
|
|