user.js 1.45 KB
/**
 * 用户管理model
 * @author: leo <qi.li@yoho.cn>
 * @date: 28/06/2017
 */

const mysqlCli = global.yoho.utils.mysqlCli;

const _ = require('lodash');
const TABLE_USER = 'user';

class UserModel extends global.yoho.BaseModel {
    constructor(ctx) {
        super(ctx);
    }

    /**
     * 用户列表[分页]
     * @returns {*}
     */
    userList({pageNo, pageSize}) {
        return mysqlCli.query(
            `select id, user_phone userPhone, user_name userName, create_time createTime 
            from ${TABLE_USER}
            order by create_time desc
            limit :start, :page;`, {
                start: (pageNo - 1) * pageSize,
                page: _.parseInt(pageSize)
            }
        );
    }

    /**
     * 用户总数
     * @returns {*}
     */
    allUsersNum() {
        return mysqlCli.query(
            `select count(*) as total from ${TABLE_USER};`
        ).then(res => {
            return res[0].total;
        });
    }

    /**
     * 导出用户列表
     * @returns {*}
     */
    exportUserList() {
        return mysqlCli.query(
            `select id, user_phone userPhone, user_name userName, create_time createTime from ${TABLE_USER};`
        );
    }

    /**
     * 用户删除
     * @returns {*}
     */
    deleteUser(userId) {
        return mysqlCli.delete(
            `delete from ${TABLE_USER} where id = :userId;`, {
                userId
            }
        );
    }

}

module.exports = UserModel;