123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332 |
- /**
- * 用户管理控制器
- *
- * @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");
- let online_facade = require('../facade/online_facade')
- 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 = _.keyBy(compilationList,'_id');//4.17后的版本没有indexBy方法,改成了keyBy
- 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
- };
- // console.log("取用户信息=========================");
- // console.log(condition);
- // 获取用户列表
- userList = await userModel.getList(condition, page, Config.pageSize);
- await online_facade.setOnlineTimes(userList,condition);
- // console.log(userList)
- } catch (error) {
- console.log(error);
- }
- // 用户管理二级菜单独立出来
- let secondMenu = response.locals.secondMenu;
- let userMenu = [];
- for (let second in secondMenu) {
- userMenu.push(secondMenu[second]);
- }
- // 渲染数据
- 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,
- userMenu: userMenu,
- title : config[process.env.NODE_ENV].title?config[process.env.NODE_ENV].title:'养护云版',
- 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 = _.keyBy(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 secondMenu = response.locals.secondMenu;
- let userMenu = [];
- for (let second in secondMenu) {
- userMenu.push(secondMenu[second]);
- }
- // 渲染数据
- 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,
- userMenu: userMenu,
- title : config[process.env.NODE_ENV].title?config[process.env.NODE_ENV].title:'养护云版',
- 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 getOnlineInfo(request, response){
- let filter = JSON.parse(request.body.data);
- let responseData = {
- error: 0,
- msg: '',
- data: null
- };
- try{
- let info = await online_facade.getOnlineInfo(filter);
- responseData.data = info;
- } 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);
- }
- async deleteUser(request, response) {
- let data = JSON.parse(request.body.data);
- let userModel = new UserModel();
- let responseData = {
- error: 0,
- message: '',
- data: null
- };
- try{
- let manager = request.session.managerData;
- if(manager.superAdmin !=1 ){
- throw { code: 1, message: '没有删除用户权限'};
- }
- responseData.data = await userModel.deleteUser(data.userID,manager.userID);
- } catch (error) {
- console.log(error);
- responseData.error = error.code;
- responseData.message = error.message;
- }
- 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;
|