boot_controller.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * 引导页相关控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/12
  6. * @version
  7. */
  8. import BaseController from "../../common/base/base_controller";
  9. import UserModel from "../models/user_model";
  10. import CompilationModel from "../models/compilation_model";
  11. import UserMessageModel from "../models/user_message_model";
  12. class BootController extends BaseController {
  13. /**
  14. * 引导页
  15. *
  16. * @param {object} request
  17. * @param {object} response
  18. * @return {void}
  19. */
  20. async boot(request, response) {
  21. let userModel = new UserModel();
  22. let sessionUser = request.session.sessionUser;
  23. let compilationId = request.params.compilation;
  24. let sessionCompilation = request.session.sessionCompilation;
  25. // 判断是否有存入编办信息
  26. if (sessionCompilation === undefined && compilationId !== '') {
  27. let compilationModel = new CompilationModel();
  28. let compilationData = await compilationModel.getCompilationById(compilationId);
  29. request.session.sessionCompilation = compilationData;
  30. }
  31. // 消息处理
  32. let userMessageModel = new UserMessageModel();
  33. await userMessageModel.initMessage(sessionUser.id);
  34. // 判断是否已填写信息
  35. let userData = await userModel.findDataByCondition({_id: sessionUser.id});
  36. if (userData.company !== '' && userData.real_name !== '') {
  37. return response.redirect('/pm');
  38. }
  39. let renderData = {
  40. provinceList: userModel.province,
  41. companyTypeList: userModel.companyType,
  42. companyScaleList: userModel.companyScale,
  43. compilation: request.params.compilation
  44. };
  45. response.render('users/html/login-infoinput', renderData);
  46. }
  47. }
  48. export default BootController;