user_controller.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. /**
  2. * 用户管理控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/7
  6. * @version
  7. */
  8. import BaseController from "../../common/base/base_controller";
  9. import UserModel from "../models/user_model";
  10. import Config from "../../../config/config";
  11. import CompilationModel from "../models/compilation_model";
  12. let config = require("../../../config/config.js");
  13. class UserController extends BaseController {
  14. /**
  15. * 最近注册列表(最近登录前台用户列表)
  16. *
  17. * @param {object} request
  18. * @param {object} response
  19. * @return {void}
  20. */
  21. async normalUsers(request, response) {//取普通用户
  22. let userModel = new UserModel();
  23. let total = 0;
  24. let pageData = {};
  25. let userList = [];
  26. let compilationList =[];
  27. let filter = request.query;
  28. try {
  29. //获取编办列表
  30. let compilationModel = new CompilationModel();
  31. compilationList = await compilationModel.getCompilationList();
  32. let condition = userModel.getFilterCondition(request);
  33. //获取注册时间
  34. let regtime = request.query.regtime;
  35. if(regtime !== '' && regtime !== undefined){
  36. filter.regtimeMsg = userModel.getDayMsg(regtime);
  37. }
  38. // 获取用户总数
  39. total = await userModel.count(condition);
  40. // 分页数据
  41. let page = request.query.page === undefined ? 1 : request.query.page;
  42. pageData = {
  43. current: page,
  44. total: Math.ceil(total / Config.pageSize),
  45. queryData: response.locals.urlQuery
  46. };
  47. // 获取用户列表
  48. userList = await userModel.getList(condition, page, Config.pageSize);
  49. } catch (error) {
  50. console.log(error);
  51. }
  52. // 渲染数据
  53. let renderData = {
  54. compilationList:compilationList,
  55. userList: userList,
  56. pages: pageData,
  57. total: total,
  58. filter: filter,
  59. model: userModel,
  60. layout: 'users/views/layout/layout',
  61. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  62. };
  63. response.render('users/views/user/index', renderData);
  64. }
  65. /**
  66. * 获取搜索用户json
  67. *
  68. * @param {object} request
  69. * @param {object} response
  70. * @return {string}
  71. */
  72. async search(request, response) {
  73. let userModel = new UserModel();
  74. let responseData = {
  75. error: 0,
  76. msg: '',
  77. data: null
  78. };
  79. try{
  80. let keyword = request.query.keyword;
  81. if(keyword === undefined || keyword === '') {
  82. throw { code: 1, err: '参数有误或为空'};
  83. }
  84. let condition = userModel.getFilterCondition(request);
  85. let userList = await userModel.getList(condition);
  86. responseData.data = userList;
  87. } catch (error) {
  88. console.log(error);
  89. responseData.error = error.code;
  90. responseData.msg = error.err;
  91. }
  92. response.json(responseData);
  93. }
  94. /**
  95. * 根据用户id列表获取用户信息列表 json
  96. *
  97. * @param {object} request
  98. * @param {object} response
  99. * @return {string}
  100. */
  101. async getUserList(request, response) {
  102. let params = JSON.parse(request.body.params),
  103. userIds = params.userIds;
  104. let userModel = new UserModel();
  105. let responseData = {
  106. error: 0,
  107. msg: '',
  108. data: null
  109. };
  110. try{
  111. if(userIds === undefined || userIds === '') {
  112. throw { code: 1, err: '参数有误或为空'};
  113. }
  114. let condition = {
  115. _id: {$in:userIds}
  116. };
  117. let userList = await userModel.getList(condition);
  118. responseData.data = userList;
  119. } catch (error) {
  120. console.log(error);
  121. responseData.error = error.code;
  122. responseData.msg = error.err;
  123. }
  124. response.json(responseData);
  125. }
  126. }
  127. export default UserController;