| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 | /** * 用户管理控制器 * * @author CaiAoLin * @date 2017/6/7 * @version */import BaseController from "../../common/base/base_controller";import UserModel from "../models/user_model";import Config from "../../../config/config";import CompilationModel from "../models/compilation_model";let config = require("../../../config/config.js");let _ = require("lodash");class UserController extends BaseController {    /**     * 最近注册列表(最近登录前台用户列表)     *     * @param {object} request     * @param {object} response     * @return {void}     */    async normalUsers(request, response) {//取普通用户        let userModel = new UserModel();        let total = 0;        let pageData = {};        let userList = [];        let compilationList =[];        let compilationString ='';        let compilationMap = {};        let filter = request.query;        try {            //获取编办列表            let  compilationModel = new CompilationModel();            compilationList = await compilationModel.getCompilationList({_id: 1, name: 1, is_release: 1});            compilationString = JSON.stringify(compilationList);            compilationMap = _.indexBy(compilationList,'_id');            let condition = userModel.getFilterCondition(request);            //设置搜索普通用户:            condition.user_type = 'normal';            //获取注册时间            let regtime = request.query.regtime;            if(regtime !== '' && regtime !== undefined){                filter.regtimeMsg = userModel.getDayMsg(regtime);            }            //获取注册时间            let loginTime = request.query.loginTime;            if(loginTime !== '' && loginTime !== undefined){                filter.loginMsg = userModel.getDayMsg(loginTime);            }            // 获取用户总数            total = await userModel.count(condition);            // 分页数据            let page = request.query.page === undefined ? 1 : request.query.page;            pageData = {                current: page,                total: Math.ceil(total / Config.pageSize),                queryData: response.locals.urlQuery            };            // 获取用户列表            userList = await userModel.getList(condition, page, Config.pageSize);        } catch (error) {            console.log(error);        }        // 渲染数据        let renderData = {            compilationList:compilationList,            compilationString:compilationString,            compilationMap:compilationMap,            adminName:request.session.managerData?request.session.managerData.real_name:'',            userList: userList,            pages: pageData,            total: total,            filter: filter,            model: userModel,            layout: 'users/views/layout/layout',            LicenseKey:config.getLicenseKey(process.env.NODE_ENV)        };        response.render('users/views/user/index', renderData);    }    async testUsers(request,response){        let userModel = new UserModel();        let total = 0;        let pageData = {};        let userList = [];        let compilationList =[];        let compilationString ='';        let compilationMap = {};        let filter = request.query;        try {            //获取编办列表            let  compilationModel = new CompilationModel();            compilationList = await compilationModel.getCompilationList({_id: 1, name: 1, is_release: 1});            compilationString = JSON.stringify(compilationList);            compilationMap = _.indexBy(compilationList,'_id');            let condition = userModel.getFilterCondition(request);            //设置搜索普通用户:            condition.user_type = 'normal';            //获取注册时间            let regtime = request.query.regtime;            if(regtime !== '' && regtime !== undefined){                filter.regtimeMsg = userModel.getDayMsg(regtime);            }            //获取注册时间            let loginTime = request.query.loginTime;            if(loginTime !== '' && loginTime !== undefined){                filter.loginMsg = userModel.getDayMsg(loginTime);            }            // 获取用户总数            total = await userModel.count(condition);            // 分页数据            let page = request.query.page === undefined ? 1 : request.query.page;            pageData = {                current: page,                total: Math.ceil(total / Config.pageSize),                queryData: response.locals.urlQuery            };            // 获取用户列表            userList = await userModel.getList(condition, page, Config.pageSize);        } catch (error) {            console.log(error);        }        // 渲染数据        let renderData = {            compilationList:compilationList,            compilationString:compilationString,            compilationMap:compilationMap,            adminName:request.session.managerData?request.session.managerData.real_name:'',            userList: userList,            pages: pageData,            total: total,            filter: filter,            model: userModel,            layout: 'users/views/layout/layout',            LicenseKey:config.getLicenseKey(process.env.NODE_ENV)        };        response.render('users/views/user/test_user', renderData);    }    /**     * 获取搜索用户json     *     * @param {object} request     * @param {object} response     * @return {string}     */    async search(request, response) {        let userModel = new UserModel();        let responseData = {            error: 0,            msg: '',            data: null        };        try{            let keyword = request.query.keyword;            if(keyword === undefined || keyword === '') {                throw { code: 1, err: '参数有误或为空'};            }            let condition = userModel.getFilterCondition(request);            let userList = await userModel.getList(condition);            responseData.data = userList;        } catch (error) {            console.log(error);            responseData.error = error.code;            responseData.msg = error.err;        }        response.json(responseData);    }    async findByID(request, response) {        let params = JSON.parse(request.body.data),            userIds = params.ID;        let userModel = new UserModel();        let responseData = {            error: 0,            msg: '',            data: null        };        try{            if(userIds === undefined || userIds === '') {                throw { code: 1, err: '参数有误或为空'};            }            let user = await userModel.getByID({ _id: userIds});            responseData.data = user;        } catch (error) {            console.log(error);            responseData.error = error.code;            responseData.msg = error.err;        }        response.json(responseData);    }    async updateUser(request, response) {        let data = JSON.parse(request.body.data);        let userModel = new UserModel();        let responseData = {            error: 0,            msg: '',            data: null        };        try{            if(data.ID === undefined || data.ID === '') {                throw { code: 1, err: '参数有误或为空'};            }            let user = await userModel.updateById(data.ID,data.updateData);            responseData.data = user;        } catch (error) {            console.log(error);            responseData.error = error.code;            responseData.msg = error.err;        }        response.json(responseData);    }    /**     * 根据用户id列表获取用户信息列表 json     *     * @param {object} request     * @param {object} response     * @return {string}     */    async getUserList(request, response) {        let params = JSON.parse(request.body.params),            userIds = params.userIds;        let userModel = new UserModel();        let responseData = {            error: 0,            msg: '',            data: null        };        try{            if(userIds === undefined || userIds === '') {                throw { code: 1, err: '参数有误或为空'};            }            let condition = {                _id: {$in:userIds}            };            let userList = await userModel.getList(condition);            responseData.data = userList;        } catch (error) {            console.log(error);            responseData.error = error.code;            responseData.msg = error.err;        }        response.json(responseData);    }}export default UserController;
 |