cld_controller.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. 'use strict';
  2. /**
  3. * CLD接口相关控制器
  4. *
  5. * @author EllisRan.
  6. * @date 2018/9/25
  7. * @version
  8. */
  9. import CLDModel from "../models/cld_model";
  10. import UserModel from "../models/user_model"
  11. import CompilationModel from "../models/compilation_model";
  12. class CLDController {
  13. /**
  14. * 获取cld办事处人员信息
  15. *
  16. * @param request
  17. * @param reponse
  18. * @return {Promise.<void>}
  19. */
  20. async getCategoryStaff(request, response) {
  21. let category = request.query.category;
  22. try {
  23. let cldModel = new CLDModel();
  24. let result = await cldModel.getCategoryStaff(category);
  25. response.json({error: 0, msg: 'success', data: JSON.parse(result)});
  26. } catch (err) {
  27. response.json({error: 1, msg: err});
  28. }
  29. }
  30. /**
  31. * cld 获取建筑用户和编办接口
  32. *
  33. * @param request
  34. * @param response
  35. * @return {Promise.<void>}
  36. */
  37. async getUsersAndCompilationList(request, response) {
  38. let mobile = request.query.mobile;
  39. let ssoID = request.query.ssoID;
  40. try {
  41. //获取用户信息
  42. if (mobile === undefined && ssoID === undefined) {
  43. throw '传参有误';
  44. }
  45. let userModel = new UserModel();
  46. let userData = '';
  47. if (mobile !== undefined) {
  48. userData = await userModel.findDataByMobile(mobile);
  49. } else {
  50. userData = await userModel.findDataBySsoId(ssoID);
  51. }
  52. if (userData === null || userData === '') {
  53. throw '不存在该建筑用户';
  54. }
  55. userData = JSON.parse(JSON.stringify(userData));
  56. userData.company_scale = userData.company_scale === null || userData.company_scale === undefined ? '' : userModel.companyScale[userData.company_scale] + '人';
  57. userData.company_type = userData.company_type === null || userData.company_type === undefined ? '' : userModel.companyType[userData.company_type];
  58. userData.province = userModel.province[userData.province];
  59. let date = new Date(userData.create_time);
  60. userData.create_time = date.getFullYear() + '年' +
  61. (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '月' +
  62. (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
  63. //获取编办列表
  64. let compilationModel = new CompilationModel();
  65. let compilationList = JSON.parse(JSON.stringify(await compilationModel.getList()));
  66. if (userData.upgrade_list !== undefined) {
  67. let userUpgradeList = userData.upgrade_list;
  68. for (let i in userUpgradeList) {
  69. let oneCompilationIndex = await compilationList.findIndex(function (item) {
  70. return item._id === userUpgradeList[i].compilationID;
  71. });
  72. if (oneCompilationIndex !== -1) {
  73. compilationList[oneCompilationIndex].isUpgrade = userUpgradeList[i].isUpgrade;
  74. }
  75. }
  76. }
  77. response.json({error: 0, msg: 'success', data: { userInfo: userData, compilationList: compilationList }});
  78. } catch (err) {
  79. response.json({error: 1, msg: err});
  80. }
  81. }
  82. /**
  83. * 设置用户编办专业版
  84. *
  85. * @param request
  86. * @param response
  87. * @return {Promise.<void>}
  88. */
  89. async setUsersUpgrade(request, response) {
  90. let ssoID = request.body.ssoId;
  91. let compilationID = request.body.cid;
  92. try {
  93. let userModel = new UserModel();
  94. let userData = await userModel.findDataBySsoId(ssoID);
  95. let compilationModel = new CompilationModel();
  96. let compilationData = compilationModel.getCompilationById(compilationID);
  97. if (compilationData === null || compilationData === undefined) {
  98. throw '不存在该编办或者编办未发布';
  99. }
  100. let upgrade_list = userData.upgrade_list !== undefined ? JSON.parse(JSON.stringify(userData.upgrade_list)) : [];
  101. let upgradeIndex = upgrade_list.findIndex(function (item) {
  102. return item.compilationID === compilationID
  103. });
  104. let upgradeInfo = {
  105. compilationID:compilationID,//编办ID
  106. upgrade_time:new Date().getTime(),
  107. isUpgrade:true,
  108. remark: ''
  109. };
  110. if (upgradeIndex === -1) {
  111. upgrade_list.push(upgradeInfo);
  112. } else {
  113. upgrade_list.splice(upgradeIndex, 1, upgradeInfo);
  114. }
  115. let condition = {ssoId: ssoID};
  116. let result = await userModel.updateUser(condition, {upgrade_list: upgrade_list});
  117. if (result) {
  118. response.json({error: 0, msg: 'success'});
  119. } else {
  120. throw '更新失败';
  121. }
  122. } catch (err) {
  123. response.json({error: 1, msg: err});
  124. }
  125. }
  126. }
  127. export default CLDController;