students.js 11.4 KB
/**
 * 学生营销数据处理
 * @date: 2016-08-06 14:24:04
 * @author: name<emial@yoho.cn>
 */

'use strict';

// const utils = '../../../utils';

// const logger = global.yoho.logger;
// const camelCase = global.yoho.camelCase;
const api = global.yoho.API;
const queryString = require('querystring');

const studentsApi = require('./students-api');
const stuHandler = require('./students-handler');

// const productProcess = require(`${utils}/product-process`);
// const _ = require('lodash');
const headerModel = require('../../../doraemon/models/header');
const serviceApi = global.yoho.ServiceAPI;

// 学生营销资源码
const studentsCode = '989396a17443bf61e3e269702e51ef04'; // h5 a83b7d55324fb65f96c1f85a3387ebd8
// const studentsCode = 'a83b7d55324fb65f96c1f85a3387ebd8'; // h5 a83b7d55324fb65f96c1f85a3387ebd8

/**
 * 获取学生营销页面数据
 * @params channel Object 频道
 * @return name returnType 返回值描述
 */
exports.getStudentsData = (channel, req) => {
    let apiMethod = [
        headerModel.requestHeaderData(channel),

        // 资源位数据
        serviceApi.get('operations/api/v5/resource/get', {content_code: studentsCode}),

        // 认证总数
        studentsApi.getVerifiedTotal(),

        // 商品数据
        studentsApi.getStuProducts()
    ];


    if (req.user.uid && req.query.collegeName && req.query.educationDegree &&
        req.query.enrollmentYear && req.query.sign) {
        apiMethod.push(
            studentsApi.verifyStudent(req.user.uid, req.query.collegeName,
                req.query.educationDegree, req.query.enrollmentYear)
        );
    }
    return api.all(apiMethod).then(result => {
        let responseData = {
            module: 'product',
            page: 'students',

            // 头部数据
            headerData: result[0],

            realData: {
                sortItem: [{title: '学生权益介绍', href: 'stu-rights'}, {title: '我要验证身份', href: 'stu-identity'},
                {title: '学生热门单品', href: 'stu-good'}, {title: '更多活动推荐', href: 'stu-activity'}],
                identityItem: {
                    sendCoin: 100,
                    stuNum: []
                }
            },

            footerTop: true
        };

        // 资源位数据
        if (result[1].code === 200) {
            Object.assign(responseData.realData, stuHandler.studentResource(result[1].data));
        }

        if (result[2].code === 200) {
            responseData.realData.identityItem.stuNum = stuHandler.studentsNum(result[2].data);
        }

        if (result[3].code === 200) {
            Object.assign(responseData.realData, {proItem: stuHandler.stuProducts(result[3].data.product_list)});
        }

        // console.log(result[4]);
        // if (result[4] && result[4].code === 200) {
        //     console.log(result[4]);
        // }

        return responseData;
    });
};

/**
 * 测试数据
 */
exports.getTestData = () => {
    let respData = {
        module: 'product',
        page: 'students',
        headerData: {
            Header: true,
            headerType: 'boys'
        },
        footerTop: true
    };

    respData.realData = {
        mainBanner: {
            list: [{src: 'http://img11.static.yhbimg.com/yhb-img01/2016/06/01/20/' +
            '01a88a4e626a954eb5ec0302a0470e0b3f.jpg?imageView2/2/w/1920/h/450/q/70',
            url: 'http://www.yohobuy.com'},
            {src: 'http://img11.static.yhbimg.com/yhb-img01/2016/06/01/20/' +
            '01a88a4e626a954eb5ec0302a0470e0b3f.jpg?imageView2/2/w/1920/h/450/q/70',
            url: 'http://www.yohobuy.com'},
            {src: 'http://img11.static.yhbimg.com/yhb-img01/2016/06/01/20/' +
            '01a88a4e626a954eb5ec0302a0470e0b3f.jpg?imageView2/2/w/1920/h/450/q/70',
            url: 'http://www.yohobuy.com'}]
        },
        sortItem: [{title: '学生权益介绍', href: 'stu-rights'}, {title: '我要验证身份', href: 'stu-identity'},
                {title: '学生热门单品', href: 'stu-good'}, {title: '更多活动推荐', href: 'stu-activity'}],
        rightsItem: [{src: '//img12.static.yhbimg.com/goodsimg/2015/12/02/10/' +
                '0256adbb54c5a9b657485b972cc94ceb99.jpg?imageView/1/w/235/h/314', title: '1、原价商品享9折优惠'},
                    {src: '//img12.static.yhbimg.com/goodsimg/2015/12/02/10/' +
                '0256adbb54c5a9b657485b972cc94ceb99.jpg?imageView/1/w/235/h/314', title: '2、满100元返100个有货币'},
                    {src: '//img12.static.yhbimg.com/goodsimg/2015/12/02/10/' +
                '0256adbb54c5a9b657485b972cc94ceb99.jpg?imageView/1/w/235/h/314', title: '3、每月3个免单名额'},
                    {src: '//img12.static.yhbimg.com/goodsimg/2015/12/02/10/' +
                '0256adbb54c5a9b657485b972cc94ceb99.jpg?imageView/1/w/235/h/314', title: '4、不定期学生专享活动'}],
        proItem: [
            {url: '',
            thumb: 'http://img12.static.yhbimg.com/goodsimg/2015/07/15/07/02a68330998a4a28b67060d349e08d216f.jpg?' +
            'imageView/2/w/280/h/373',
            productName: 'Dickies 炫色小脚裤',
            marketPrice: 12.3,
            salesPrice: 12.3,
            forStu: true},
            {url: '',
            thumb: 'http://img12.static.yhbimg.com/goodsimg/2015/07/15/07/02a68330998a4a28b67060d349e08d216f.jpg?' +
            'imageView/2/w/280/h/373',
            productName: 'Dickies 炫色小脚裤',
            marketPrice: 12.3,
            salesPrice: 12.3,
            forStu: true},
            {url: '',
            thumb: 'http://img12.static.yhbimg.com/goodsimg/2015/07/15/07/02a68330998a4a28b67060d349e08d216f.jpg?' +
            'imageView/2/w/280/h/373',
            productName: 'Dickies 炫色小脚裤',
            marketPrice: 12.3,
            salesPrice: 12.3,
            forStu: true},
            {url: '',
            thumb: 'http://img12.static.yhbimg.com/goodsimg/2015/07/15/07/02a68330998a4a28b67060d349e08d216f.jpg?' +
            'imageView/2/w/280/h/373',
            productName: 'Dickies 炫色小脚裤',
            marketPrice: 12.3,
            salesPrice: 12.3,
            forStu: true},
            {url: '',
            thumb: 'http://img12.static.yhbimg.com/goodsimg/2015/07/15/07/02a68330998a4a28b67060d349e08d216f.jpg?' +
            'imageView/2/w/280/h/373',
            productName: 'Dickies 炫色小脚裤',
            marketPrice: 12.3,
            salesPrice: 12.3,
            forStu: true},
            {url: '',
            thumb: 'http://img12.static.yhbimg.com/goodsimg/2015/07/15/07/02a68330998a4a28b67060d349e08d216f.jpg?' +
            'imageView/2/w/280/h/373',
            productName: 'Dickies 炫色小脚裤',
            marketPrice: 12.3,
            salesPrice: 12.3,
            forStu: true},
            {url: '',
            thumb: 'http://img12.static.yhbimg.com/goodsimg/2015/07/15/07/02a68330998a4a28b67060d349e08d216f.jpg?' +
            'imageView/2/w/280/h/373',
            productName: 'Dickies 炫色小脚裤',
            marketPrice: 12.3,
            salesPrice: 12.3,
            forStu: true}],
        couponItem: [
            {
                url: 'http://www.yohobuy.com/coupon/index?contentCode=bb7268bd46dd46d304c2917309814681',
                img: '//img10.static.yhbimg.com/yhb-img01/2016/07/29/17/01cfa4035101b5c8f46efd9c0fbf8ef0c8.jpg',
                id: '优惠券',
                normal: true
            },
            {
                url: 'http://www.yohobuy.com/coupon/index?contentCode=bb7268bd46dd46d304c2917309814681',
                img: '//img10.static.yhbimg.com/yhb-img01/2016/07/29/17/01cfa4035101b5c8f46efd9c0fbf8ef0c8.jpg',
                id: '优惠券',
                got: true
            },
            {
                url: 'http://www.yohobuy.com/coupon/index?contentCode=bb7268bd46dd46d304c2917309814681',
                img: '//img10.static.yhbimg.com/yhb-img01/2016/07/29/17/01cfa4035101b5c8f46efd9c0fbf8ef0c8.jpg',
                id: '优惠券',
                empty: true
            },
            {
                url: 'http://www.yohobuy.com/coupon/index?contentCode=bb7268bd46dd46d304c2917309814681',
                img: '//img10.static.yhbimg.com/yhb-img01/2016/07/29/17/01cfa4035101b5c8f46efd9c0fbf8ef0c8.jpg',
                id: '优惠券',
                normal: true
            },
            {
                url: 'http://www.yohobuy.com/coupon/index?contentCode=bb7268bd46dd46d304c2917309814681',
                img: '//img10.static.yhbimg.com/yhb-img01/2016/07/29/17/01cfa4035101b5c8f46efd9c0fbf8ef0c8.jpg',
                id: '优惠券',
                got: true
            },
            {
                url: 'http://www.yohobuy.com/coupon/index?contentCode=bb7268bd46dd46d304c2917309814681',
                img: '//img10.static.yhbimg.com/yhb-img01/2016/07/29/17/01cfa4035101b5c8f46efd9c0fbf8ef0c8.jpg',
                id: '优惠券',
                empty: true
            },
            {
                url: 'http://www.yohobuy.com/coupon/index?contentCode=bb7268bd46dd46d304c2917309814681',
                img: '//img10.static.yhbimg.com/yhb-img01/2016/07/29/17/01cfa4035101b5c8f46efd9c0fbf8ef0c8.jpg',
                id: '优惠券',
                normal: true
            }
        ],
        activityItem: [
            {
                imgUrl: '//img11.static.yhbimg.com/yhb-img01/2016/06/01/20/01a88a4e626a954eb5ec0302a0470e0b3f.jpg?' +
                'imageView2/2/w/1920/h/450/q/70/q/70'
            },
            {
                imgUrl: '//img11.static.yhbimg.com/yhb-img01/2016/06/01/20/01a88a4e626a954eb5ec0302a0470e0b3f.jpg?' +
                'imageView2/2/w/1920/h/450/q/70/q/70'
            },
            {
                imgUrl: '//img11.static.yhbimg.com/yhb-img01/2016/06/01/20/01a88a4e626a954eb5ec0302a0470e0b3f.jpg?' +
                'imageView2/2/w/1920/h/450/q/70/q/70'
            }
        ],
        identityItem: {
            sendCoin: 10,
            stuNum: [1, 2, 3, 4, 5, 6, 7]
        },
        verifyRusult: {
            status: true,
            rank: 20
        }
    };
    return respData;

};

/**
 * 获取学校地区数据
 * @return Object 接口数据
 */
exports.getSchoolArea = () => {
    return studentsApi.getArea().then(result => {
        return result;
    });
};

/**
 * 根据地区码查询学校列表
 * @params areaCode int 地区码
 * @return Object 接口数据
 */
exports.getSchoolList = (areaCode) => {
    return studentsApi.getSchool(areaCode).then(result => {
        return result;
    });
};

/**
 * 学历层次
 * @params areaCode int 地区码
 * @return Object 接口数据
 */
exports.getEduLevel = () => {
    return studentsApi.getEduLevelList().then(result => {
        return result;
    });
};

/**
 * 身份验证
 * @params areaCode int 地区码
 * @return Object 接口数据
 */
exports.verifyIdentity = (uid, params) => {
    let pageUrl = 'http://localhost:6001/product/students?' +
    queryString.stringify({collegeName: params.collegeName,
        educationDegree: params.educationDegree, enrollmentYear: params.enrollmentYear});

    return studentsApi.verifyIdentity(uid, params.certNo, params.name, pageUrl).then(result => {
        return result;
    });
};

/**
 * 学生验证
 * @params areaCode int 地区码
 * @return Object 接口数据
 */
exports.verifyStudents = (uid, params) => {


    return studentsApi.verifyIdentity(uid, params.collegeName, params.educationDegree, params.enrollmentYear).
    then(result => {
        return result;
    });
};