| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439 | 
							- /**
 
-  * 用户管理控制器
 
-  *
 
-  * @author CaiAoLin
 
-  * @date 2017/6/7
 
-  * @version
 
-  */
 
- import BaseController from "../../common/base/base_controller";
 
- import UserModel from "../models/user_model";
 
- const CLDModel = require("../models/cld_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);
 
-     }
 
-     /**
 
-      * cld剔除用户列表
 
-      *
 
-      * @param {object} request
 
-      * @param {object} response
 
-      * @return {void}
 
-      */
 
-     async cldUsers(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';
 
-             condition.is_cld = {$exists:true, $ne: 0};
 
-             //获取注册时间
 
-             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, {is_cld:-1});
 
-             // 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/cld', 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);
 
-     }
 
-     async updateCldUser(request, response) {
 
-         let userModel = new UserModel();
 
-         let responseData = {
 
-             error: 0,
 
-             msg: '',
 
-             data: null
 
-         };
 
-         try{
 
-             let cldModel = new CLDModel();
 
-             let cldUserList = await cldModel.getAllStaff();
 
-             cldUserList = JSON.parse(cldUserList);
 
-             await userModel.updateAllStaff(cldUserList);
 
-             responseData.data = true;
 
-         } 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;
 
 
  |