installment.js 8.51 KB
/**
 * 分期付款
 * @author: wsl<shuiling.wang@yoho.cn>
 * @date: 2016/08/01
 */
'use strict';
const utils = '../../../utils';
const productProcess = require(`${utils}/product-process`);
const api = global.yoho.API;
const logger = global.yoho.logger;

// const camelCase = global.yoho.camelCase;


// 获取分期开通状态
const getStauts = (uid) => {
    return api.get('', {
        method: 'user.instalment.getStatus',
        uid: uid
    }).then((result) => {
        result = {
            alg: 'SALT_MD5',
            code: 200,
            data: {
                status: 0
            },
            md5: '6d729d4b35f10fc73531210bd7ecff91',
            message: 'success'
        };
        if (result && result.code === 200) {
            return result.data.status;
        } else {
            logger.error('get installment open status return is not 200');
            return '';
        }
    });
};

// 获取用户可用额度信息
const getQueryCreditInfo = (uid) => {
    return api.get('', {
        method: 'order.queryCreditInfo',
        uid: uid
    }).then((result) => {
        result = {
            alg: 'SALT_MD5',
            code: 200,
            data: {
                initCredit: '8000.00',
                currCredit: '5000.00',
                status: 2
            },
            md5: 'c1d725306fb09dcbf504776d276521cb',
            message: 'ok'
        };
        if (result && result.code === 200) {
            return result.data;
        } else {
            logger.error('get user installment usable price info return is not 200');
            return '';
        }
    });
};

// 获取用户待还款金额
const getQueryAmtInfo = (uid) => {
    return api.get('', {
        method: 'order.queryAmtInfo',
        uid: uid
    }).then((result) => {
        result = {
            alg: 'SALT_MD5',
            code: 200,
            data: {
                totalAmt: '2000.00',
                monthAmt: '800.00',
                _7daysAmt: '400.00',
                overAmt: '400.00'
            },
            md5: 'c1d725306fb09dcbf504776d276521cb',
            message: 'ok'
        };
        if (result && result.code === 200) {
            result.data.dayAmt = result.data._7daysAmt;
            return result.data;
        } else {
            logger.error('get user installment repay info return is not 200');
            return '';
        }
    });
};

// 分期专享推荐商品
const getSearchIntallment = () => {
    return api.post('', {
        method: 'app.search.instalment',
        limit: '50',
        order: 's_t_desc'
    }, {
        cache: true
    }).then((result) => {
        result = {
            alg: 'SALT_MD5',
            code: 200,
            data: {
                product_list: [
                    {
                        brand_domain: '5cm',
                        brand_id: 4,
                        brand_name: '5CM',
                        cn_alphabet: '5CMPeiShi5CXTIT0600S66',
                        default_images: 'http://img13.static.yhbimg.com/goodsimg/2016/02/21/07/026d569b2db7d9ce9339a79bcb3fe420f8.jpg?imageMogr2/thumbnail/{width}x{height}/extent/{width}x{height}/background/d2hpdGU=/position/center/quality/80',
                        edit_time: 1456119592,
                        gender: '1',
                        goods_list: [
                            {
                                color_code: '333333',
                                color_id: '2',
                                color_name: '黑色',
                                color_value: '',
                                cover_1: '',
                                cover_2: '',
                                goods_id: '476147',
                                images_url: 'http://img13.static.yhbimg.com/goodsimg/2016/02/21/07/026d569b2db7d9ce9339a79bcb3fe420f8.jpg?imageMogr2/thumbnail/{width}x{height}/extent/{width}x{height}/background/d2hpdGU=/position/center/quality/80',
                                is_default: 'N',
                                product_skc: '346699',
                                status: '1'
                            }
                        ],
                        is_advance: 'N',
                        is_discount: 'N',
                        is_limited: 'N',
                        is_new: 'Y',
                        is_outlets: 2,
                        is_promotion: 104,
                        is_soon_sold_out: 'N',
                        is_special: 'N',
                        market_price: 359,
                        max_sort_id: 8,
                        middle_sort_id: 66,
                        product_id: 373507,
                        product_name: '5CM 字母印花领带',
                        product_skn: 51206745,
                        sales_num: 0,
                        sales_phrase: '春潮新势力',
                        sales_price: 359,
                        shelve_time: 1457140500,
                        small_sort_id: 77,
                        status: 1,
                        stock_number: 25,
                        storage_num: 25,
                        tags: [
                            'is_new'
                        ],
                        vip1_price: 341.05,
                        vip2_price: 323.1,
                        vip3_price: 315.92,
                        vip_discount_type: 1,
                        vip_price: 0
                    }, {
                        brand_domain: '5cm',
                        brand_id: 4,
                        brand_name: '5CM',
                        cn_alphabet: '5CMPeiShi5CXTIT0603S66',
                        default_images: 'http://img12.static.yhbimg.com/goodsimg/2016/02/21/07/02d463c9f8945ad14f824e8ba35efb9555.jpg?imageMogr2/thumbnail/{width}x{height}/extent/{width}x{height}/background/d2hpdGU=/position/center/quality/80',
                        edit_time: 1456119581,
                        gender: '1',
                        goods_list: [
                            {
                                color_code: '333333',
                                color_id: '2',
                                color_name: '黑色',
                                color_value: '',
                                cover_1: '',
                                cover_2: '',
                                goods_id: '476153',
                                images_url: 'http://img12.static.yhbimg.com/goodsimg/2016/02/21/07/02d463c9f8945ad14f824e8ba35efb9555.jpg?imageMogr2/thumbnail/{width}x{height}/extent/{width}x{height}/background/d2hpdGU=/position/center/quality/80',
                                is_default: 'N',
                                product_skc: '346702',
                                status: '1'
                            }
                        ],
                        is_advance: 'N',
                        is_discount: 'N',
                        is_limited: 'N',
                        is_new: 'Y',
                        is_outlets: 2,
                        is_promotion: 104,
                        is_soon_sold_out: 'N',
                        is_special: 'N',
                        market_price: 359,
                        max_sort_id: 8,
                        middle_sort_id: 66,
                        product_id: 373513,
                        product_name: '5CM  字母印花领结',
                        product_skn: 51206748,
                        sales_num: 0,
                        sales_phrase: '春潮新势力',
                        sales_price: 359,
                        shelve_time: 1457140500,
                        small_sort_id: 77,
                        status: 1,
                        stock_number: 19,
                        storage_num: 19,
                        tags: [
                            'is_new'
                        ],
                        vip1_price: 341.05,
                        vip2_price: 323.1,
                        vip3_price: 315.92,
                        vip_discount_type: 1,
                        vip_price: 0
                    }
                ],
                rec_id: '00f185af-936a-4053-97f8-1c802cb91e8b'
            },
            md5: 'ace93d0f598db0bebec30234381c0cbf',
            message: 'Product List.'
        };
        if (result && result.code === 200) {
            return productProcess.processProductList(result.data.product_list);
        } else {
            logger.error('get instalment promote goods return is not 200');
            return '';
        }
    });
};

module.exports = {
    getStauts,
    getQueryCreditInfo,
    getQueryAmtInfo,
    getSearchIntallment
};