boot_controller.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. let config = require("../../../config/config.js");
  13. class BootController extends BaseController {
  14. /**
  15. * 引导页
  16. *
  17. * @param {object} request
  18. * @param {object} response
  19. * @return {void}
  20. */
  21. async boot(request, response) {
  22. let userModel = new UserModel();
  23. let sessionUser = request.session.sessionUser;
  24. let compilationId = request.params.compilation;
  25. let sessionCompilation = request.session.sessionCompilation;
  26. let compilationVersion = request.session.compilationVersion;
  27. // 判断是否有存入编办信息
  28. if (sessionCompilation === undefined && compilationId !== '') {
  29. let compilationModel = new CompilationModel();
  30. let compilationData = await compilationModel.getCompilationById(compilationId);
  31. // 判断当前用户的是使用免费版还是专业版
  32. compilationVersion = await userModel.getVersionFromUpgrade(sessionUser.ssoId, compilationId);
  33. request.session.compilationVersion = compilationVersion.version;
  34. request.session.sessionUser.compilationDeadline = compilationVersion.deadline;
  35. request.session.sessionCompilation = compilationData;
  36. if(sessionUser.latest_used !== compilationId) userModel.updateLatestUsed(sessionUser.id,compilationId);
  37. }
  38. // 判断是否已填写信息
  39. let userData = await userModel.findDataByCondition({_id: sessionUser.id});
  40. if (userData.company !== '' && userData.real_name !== '') {
  41. return response.redirect('/pm');
  42. }
  43. let renderData = {
  44. provinceList: userModel.province,
  45. companyTypeList: userModel.companyType,
  46. companyScaleList: userModel.companyScale,
  47. compilation: request.params.compilation,
  48. compilationName: request.session.sessionCompilation.name,
  49. versionName: request.session.compilationVersion,
  50. title:config[process.env.NODE_ENV].title?config[process.env.NODE_ENV].title:"纵横公路养护云造价"
  51. };
  52. response.render('users/html/login-infoinput', renderData);
  53. }
  54. }
  55. export default BootController;