From 0fe3da33be601761ffb00c3f2924123e381748c5 Mon Sep 17 00:00:00 2001 From: xiaoxiao <xiaoxiao.hao@yoho.cn> Date: Tue, 15 May 2018 10:39:53 +0800 Subject: [PATCH] 'fix' --- apps/activity/controllers/shopCollect.js | 8 ++++---- apps/activity/models/share-buy.js | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------- apps/activity/models/shopCollect.js | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------- 3 files changed, 170 insertions(+), 138 deletions(-) diff --git a/apps/activity/controllers/shopCollect.js b/apps/activity/controllers/shopCollect.js index a33f6a8..4256430 100644 --- a/apps/activity/controllers/shopCollect.js +++ b/apps/activity/controllers/shopCollect.js @@ -28,7 +28,7 @@ const shopIndex = (req, res) => { } } - shopModel.banner(contentCode).then((result) => { + req.ctx(shopModel).banner(contentCode).then((result) => { res.render('shop-collect/index', Object.assign({ module: 'activity', page: 'shop-collect', @@ -45,7 +45,7 @@ const shopIndex = (req, res) => { const shopNav = (req, res, next) => { let channelId = req.query.channelId || ''; - shopModel.shopNav(channelId).then((result) => { + req.ctx(shopModel).shopNav(channelId).then((result) => { res.json(result); }).catch(next); }; @@ -56,7 +56,7 @@ const shopList = (req, res, next) => { let tabName = req.query.tabName; let channelId = req.query.channelId || ''; - shopModel.shopList(uid, tabName, channelId).then((result) => { + req.ctx(shopModel).shopList(uid, tabName, channelId).then((result) => { res.json(result); }).catch(next); }; @@ -70,7 +70,7 @@ const shopFav = (req, res, next) => { return; } - shopModel.shopFav(uid, shopIds).then((result) => { + req.ctx(shopModel).shopFav(uid, shopIds).then((result) => { res.json(result); }).catch(next); }; diff --git a/apps/activity/models/share-buy.js b/apps/activity/models/share-buy.js index 5fa7326..d790fef 100644 --- a/apps/activity/models/share-buy.js +++ b/apps/activity/models/share-buy.js @@ -1,7 +1,6 @@ -const api = global.yoho.API; const _ = require('lodash'); const helpers = global.yoho.helpers; -const service = global.yoho.ServiceAPI; +const serviceAPI = global.yoho.ServiceAPI; module.exports = class extends global.yoho.BaseModel { constructor(ctx) { @@ -13,7 +12,7 @@ module.exports = class extends global.yoho.BaseModel { */ shareIndex(activityId, isApp, uid) { - return api.all([this._CouponInfo(activityId, uid), + return Promise.all([this._CouponInfo(activityId, uid), this._redeatList(), this._banner() ]).then(result => { @@ -71,12 +70,17 @@ module.exports = class extends global.yoho.BaseModel { * 首页资源位 */ _banner() { - return service.get('operations/api/v5/resource/get', { - content_code: 'a4ceb2d742c55008ac7be30bca43e03f', - platform: 'iphone' - }, { - cache: true, - code: 200 + return this.get({ + api: serviceAPI, + url: 'operations/api/v5/resource/get', + data: { + content_code: 'a4ceb2d742c55008ac7be30bca43e03f', + platform: 'iphone' + }, + param: { + cache: true, + code: 200 + } }).then((result) => { if (result && result.data) { @@ -89,12 +93,15 @@ module.exports = class extends global.yoho.BaseModel { * 首页获取优惠券信息 */ _CouponInfo(activityId, uid) { - return api.get('', { - method: 'app.activity.getActivityCouponInfo', - activity_id: activityId, - uid: uid - }, { - code: 200 + return this.get({ + data: { + method: 'app.activity.getActivityCouponInfo', + activity_id: activityId, + uid: uid + }, + param: { + code: 200 + } }).then((result) => { if (result && result.code === 200 && result.data) { return result; @@ -106,11 +113,14 @@ module.exports = class extends global.yoho.BaseModel { * 首页获取返利记录 */ _redeatList() { - return api.get('', { - method: 'app.yohocoinrebeat.lastedlist' - }, { - code: 200, - cache: true + return this.get({ + data: { + method: 'app.yohocoinrebeat.lastedlist' + }, + param: { + code: 200, + cache: true + } }).then((result) => { if (result && result.code === 200 && result.data) { return result; @@ -122,12 +132,15 @@ module.exports = class extends global.yoho.BaseModel { * 优惠劵详情数据 */ shareDetail(param, isApp) { - return api.get('', { - method: 'app.activity.getActivityCouponDesc', - coupon_code: param.couponCode, - coupon_id: param.couponId - }, { - code: 200 + return this.get({ + data: { + method: 'app.activity.getActivityCouponDesc', + coupon_code: param.couponCode, + coupon_id: param.couponId + }, + param: { + code: 200 + } }).then((result) => { let moreUrl, detailData, @@ -184,10 +197,12 @@ module.exports = class extends global.yoho.BaseModel { * 获取分享码 */ getCouponCode(uid, couponId, protocol) { - return api.get('', { - method: 'app.activity.getActivityCouponCode', - uid: uid, - coupon_id: couponId + return this.get({ + data: { + method: 'app.activity.getActivityCouponCode', + uid: uid, + coupon_id: couponId + } }).then(result => { if (result && result.code === 200 && result.data) { result.data.detailUrl = helpers.urlFormat('/activity/share-buy/detail', { @@ -205,11 +220,14 @@ module.exports = class extends global.yoho.BaseModel { * 我的返利页数据 */ myRebeat(uid, isApp) { - return api.get('', { - method: 'app.yohocoinrebeat.detail', - uid: uid - }, { - code: 200 + return this.get({ + data: { + method: 'app.yohocoinrebeat.detail', + uid: uid + }, + param: { + code: 200 + } }).then((result) => { let currencyUrl = helpers.urlFormat('/service/qaDetail', { keyword: '%E6%9C%89%E8%B4%A7%E5%B8%81', diff --git a/apps/activity/models/shopCollect.js b/apps/activity/models/shopCollect.js index 31584f7..6030924 100644 --- a/apps/activity/models/shopCollect.js +++ b/apps/activity/models/shopCollect.js @@ -4,122 +4,136 @@ * @date: 2016/10/17 */ 'use strict'; -const api = global.yoho.API; const _ = require('lodash'); const logger = global.yoho.logger; -const service = global.yoho.ServiceAPI; +const serviceAPI = global.yoho.ServiceAPI; -const shopList = (uid, tabName, channelId) => { - let params = { - method: 'app.shops.promote' - }; - - if (uid) { - params.uid = uid; +module.exports = class extends global.yoho.BaseModel { + constructor(ctx) { + super(ctx); } - if (tabName) { - params.tab_name = tabName; - } + shopList(uid, tabName, channelId) { + let params = { + method: 'app.shops.promote' + }; - if (channelId) { - params.channel_id = channelId; - } + if (uid) { + params.uid = uid; + } - return api.get('', params, { - code: 200 - }).then((result) => { - if (result && result.code === 200) { - _.forEach(result.data, function(data) { - let href = '//m.yohobuy.com/product/shop?shop_id=' + - data.shopsId + '&openby:yohobuy={"action":"go.shop","params":{"shop_id":"' + - data.shopsId + '","shop_template_type":"' + - data.shopTemplateType + '","shop_name":"' + data.shopName + '"}}'; + if (tabName) { + params.tab_name = tabName; + } - data.isFavorite = data.isFavorite === 'Y'; + if (channelId) { + params.channel_id = channelId; + } - if (parseInt(data.collectionNum, 10) > 10000) { - data.collectionNum = (data.collectionNum / 10000).toFixed(1) + ' w'; - } + return this.get({ + data: params, + param: { + code: 200 + } + }).then((result) => { + if (result && result.code === 200) { + _.forEach(result.data, function(data) { + let href = '//m.yohobuy.com/product/shop?shop_id=' + + data.shopsId + '&openby:yohobuy={"action":"go.shop","params":{"shop_id":"' + + data.shopsId + '","shop_template_type":"' + + data.shopTemplateType + '","shop_name":"' + data.shopName + '"}}'; - data.href = href; - }); - return result.data; - } else { - logger.error('shop list data return code is not 200'); - return {}; - } - }); -}; + data.isFavorite = data.isFavorite === 'Y'; -const shopNav = (channelId) => { - let params = { - method: 'app.shops.promoteTabNameList' - }; + if (parseInt(data.collectionNum, 10) > 10000) { + data.collectionNum = (data.collectionNum / 10000).toFixed(1) + ' w'; + } - if (channelId) { - params.channel_id = channelId; - } - return api.get('', params, { - cache: true, - code: 200 - }).then((result) => { - if (result.data) { - if (result.data.length === 0 || (result.data.length === 1 && result.data[0] === 'NULL')) { - return false; - } else { + data.href = href; + }); return result.data; + } else { + logger.error('shop list data return code is not 200'); + return {}; } - } - }); -}; + }); + } -const banner = (contentCode) => { - return service.get('operations/api/v5/resource/get', { - content_code: contentCode, - platform: 'iphone' - }, { - cache: true, - code: 200 - }).then((result) => { - if (result && result.data) { - return result.data[0]; - } - }); -}; + shopNav(channelId) { + let params = { + method: 'app.shops.promoteTabNameList' + }; -const shopFav = (uid, shopIds) => { - return api.get('', { - method: 'app.shops.promoteFavorite', - shop_ids: shopIds, - uid: uid - }, { - code: 200 - }).then((result) => { - if (result.data) { - return result.data; + if (channelId) { + params.channel_id = channelId; } - }); -}; -/** - * 根据店铺ID调获取店铺数据 - * 图片字段:pic_popular -order 传 pools_id_asc 或者 pools_id_desc - * @param {*} params - */ -const batchGetShops = (params) => { - return api.get('', { - method: 'app.shops.batchGetShops', - shop_ids: params.shop_ids, - order: params.order - }); -}; + return this.get({ + data: params, + param: { + cache: true, + code: 200 + } + }).then((result) => { + if (result.data) { + if (result.data.length === 0 || (result.data.length === 1 && result.data[0] === 'NULL')) { + return false; + } else { + return result.data; + } + } + }); + } + + banner(contentCode) { + return this.get({ + api: serviceAPI, + url: 'operations/api/v5/resource/get', + data: { + content_code: contentCode, + platform: 'iphone' + }, + param: { + cache: true, + code: 200 + } + }).then((result) => { + if (result && result.data) { + return result.data[0]; + } + }); + } -module.exports = { - shopList, - shopNav, - banner, - shopFav, - batchGetShops + shopFav(uid, shopIds) { + return this.get({ + data: { + method: 'app.shops.promoteFavorite', + shop_ids: shopIds, + uid: uid + }, + param: { + code: 200 + } + }).then((result) => { + if (result.data) { + return result.data; + } + }); + } + + /** + * 根据店铺ID调获取店铺数据 + * 图片字段:pic_popular + order 传 pools_id_asc 或者 pools_id_desc + * @param {*} params + */ + batchGetShops(params) { + return this.get({ + data: { + method: 'app.shops.batchGetShops', + shop_ids: params.shop_ids, + order: params.order + } + }); + } }; -- libgit2 0.24.0