favorite-brand-service.js 1.65 KB
/**
 * Created by TaoHuang on 2016/6/13.
 */

'use strict';

const ApiModel = require('./favorite-brand-api');
const _ = require('lodash');

module.exports = class extends global.yoho.BaseModel {
    constructor(ctx) {
        super(ctx);
        this.api = new ApiModel(ctx);

        this.isFavoriteAsync = this.api.isFavoriteAsync.bind(this.api);
    }

    changeAsync(type, uid, brandId) {
        switch (type) {
            case 'add':
                return this.api.addFavAsync(uid, brandId);
            case 'cancel' :
                return this.api.cancelFavAsync(uid, brandId);
            default:
                return Promise.reject('favorite brand error');
        }
    }

    getShopFavNumAsync(sid) {
        return this.api.getShopFavNumAsync(sid).then((result) => {
            if (result.code === 200) {
                return {
                    code: 200,
                    data: {
                        count: _.get(result, 'data[0].count')
                    }
                };
            } else {
                return {
                    code: 500,
                    message: '服务器错误'
                };
            }
        });
    }

    getBrandFavNumAsync(bid) {
        return this.api.getBrandIdNumAsync(bid).then((result) => {
            if (result.code === 200) {
                return {
                    code: 200,
                    data: {
                        count: _.get(result, 'data.count')
                    }
                };
            } else {
                return {
                    code: 500,
                    message: '服务器错误'
                };
            }
        });
    }


};