Authored by 张丽霞

店铺领券

... ... @@ -2,8 +2,6 @@
const mRoot = '../models';
const brandShopModel = require(`${mRoot}/brand-shop`);
const _ = require('lodash');
/**
* 品牌店铺获取优惠券信息
* @param {[type]} req [description]
... ... @@ -16,8 +14,8 @@ exports.coupon = (req, res, next) => {
// module: 'product',
// page: 'brand-shop'
// },
var brandId = req.query.brand_id,
uid = _.isEmpty(req.user.uid) ? null : req.user.uid;
var brandId = req.query.brand_id || 536,
uid = req.user.uid || 0;
// // 测试假数据
// res.render('brand-shop/index', {
... ... @@ -30,18 +28,19 @@ exports.coupon = (req, res, next) => {
brandShopModel.getBrandIntro({
brand_id: brandId,
uid: uid
}).then((preferenceData) => {
}).then((brandIntroData) => {
if (preferenceData.code === 200) {
if (brandIntroData.code === 200) {
// 获取信息成功
}
console.log(preferenceData);
if (brandIntroData.coupons.length) {
res.render('brand-shop/index', {
layout: false,
result: preferenceData,
result: brandIntroData,
module: 'product',
page: 'brand-shop'
});
}
}).catch(next);
};
... ... @@ -53,17 +52,17 @@ exports.coupon = (req, res, next) => {
*/
exports.getCoupon = (req, res, next) => {
// 测试假数据
// var couponData = {
// logIn: true
// },
var uid = _.isEmpty(req.user.uid) ? null : req.user.uid,
couponId = req.query.couponId ? req.query.couponId : 23121;
var uid = req.user.uid || 0,
couponId = req.query.couponId;
// 没有登录情况跳登录页面
if (!uid) {
res.json({
result: {logIn: false}
});
return;
}
// 测试假数据
// res.json({
// result: couponData
// });
brandShopModel.getCoupon({
uid: uid,
... ...
... ... @@ -3,21 +3,63 @@
var api = global.yoho.API;
const camelCase = global.yoho.camelCase;
const _ = require('lodash');
/**
* 分享页面基础参数
* 查询品牌店铺优惠券结果处理
* @param {object} sizeInfo [接口原始数据]
* @return {object} [description]
*/
// const getPreferenceData = (data) => {
// var dest = {};
const processBrandCouponData = (data) => {
var dest = {},
list = data.data || {},
distCoupons = [];
// let list = data.data || {};
list = camelCase(list);
dest.code = data.code;
_.forEach(list.coupons, function(value) {
// list = camelCase(list);
if (!value.status) {
return;
}
let coupon = value;
// return dest;
// };
coupon.money = parseInt(value.money);
if (coupon.status === 1) {
coupon.cooponStateMessage = '可以领取';
} else if (coupon.status === 2) {
coupon.cooponStateMessage = '已抢光';
} else if (coupon.status === 3) {
coupon.cooponStateMessage = '已领取';
}
distCoupons.push(coupon);
distCoupons.push(coupon);
});
if (distCoupons.length > 1) {
dest.mutilCoupon = true;
}
dest.coupons = distCoupons;
dest.message = list.message;
return dest;
};
/**
* 领取品牌店铺优惠券
* @param {object} sizeInfo [接口原始数据]
* @return {object} [description]
*/
const getBrandCouponStatus = (data) => {
var dest = {};
dest.code = data.code;
dest.message = data.message;
dest.logIn = true;
return dest;
};
/**
* 获取品牌信息及其优惠券
... ... @@ -29,7 +71,7 @@ exports.getBrandIntro = (data) => {
infoData = Object.assign(defaultParam, data); // 处理完成后,发给后端
return api.get('', infoData).then(result => {
return camelCase(result);
return processBrandCouponData(result);
}); // 所有数据返回一个 Promise,方便 Promise.all 调用
};
... ... @@ -44,6 +86,6 @@ exports.getCoupon = (data) => {
infoData = Object.assign(defaultParam, data); // 处理完成后,发给后端
return api.get('', infoData).then(result => {
return camelCase(result);
return getBrandCouponStatus(result);
}); // 所有数据返回一个 Promise,方便 Promise.all 调用
};
... ...
{{# result}}
<div class="brand-shop-page">
<div class="big-coupon-constainer">
<div class="coupon-containter mutil-coupon">
<img src="../../../../../public/img/coupon/coupon-footer.png">
</div>
<div class="coupon-containter mutil-coupon">
<img src="../../../../../public/img/coupon/coupon-footer.png">
{{#if mutilCoupon}}
{{# coupons}}
<div class="coupon-containter-multi" value="{{couponId}}">
<div class="money-icon"></div>
<div class="money-value">{{money}}</div>
<div class="coupon-name">{{couponName}}</div>
<div class="coupon-state">{{cooponStateMessage}}</div>
</div>
<div class="coupon-containter mutil-coupon">
<img src="../../../../../public/img/coupon/coupon-footer.png">
{{/ coupons}}
{{^}}
{{# coupons}}
<div class="coupon-containter" value="{{couponId}}">
<div class="money-icon"></div>
<div class="money-value">{{money}}</div>
<div class="coupon-name">{{couponName}}</div>
<div class="coupon-state">{{cooponStateMessage}}</div>
</div>
{{/ coupons}}
{{/ if}}
</div>
</div>
{{/ result}}
\ No newline at end of file
... ...