cld_controller.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  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. const zongBuCategoryID = 12;
  22. let category = request.query.category;
  23. if (!category || category == -1) {
  24. category = request.session.sessionCompilation && request.session.sessionCompilation.categoryID ? request.session.sessionCompilation.categoryID : zongBuCategoryID;
  25. console.log(category);
  26. }
  27. try {
  28. let cldModel = new CLDModel();
  29. let result = await cldModel.getCategoryStaff(category);
  30. response.json({error: 0, msg: 'success', data: JSON.parse(result)});
  31. } catch (err) {
  32. response.json({error: 1, msg: err});
  33. }
  34. }
  35. /**
  36. * cld 获取建筑用户和编办接口
  37. *
  38. * @param request
  39. * @param response
  40. * @return {Promise.<void>}
  41. */
  42. async getUsersAndCompilationList(request, response) {
  43. let mobile = request.query.mobile;
  44. let ssoID = request.query.ssoID;
  45. try {
  46. //获取用户信息
  47. if (mobile === undefined && ssoID === undefined) {
  48. throw '传参有误';
  49. }
  50. let userModel = new UserModel();
  51. let userData = '';
  52. if (mobile !== undefined) {
  53. userData = await userModel.findDataByMobile(mobile);
  54. } else {
  55. userData = await userModel.findDataBySsoId(ssoID);
  56. }
  57. if (userData === null || userData === '') {
  58. throw '不存在该建筑用户';
  59. }
  60. userData = JSON.parse(JSON.stringify(userData));
  61. userData.company_scale = userData.company_scale === null || userData.company_scale === undefined ? '' : userModel.companyScale[userData.company_scale] + '人';
  62. userData.company_type = userData.company_type === null || userData.company_type === undefined ? '' : userModel.companyType[userData.company_type];
  63. userData.province = userModel.province[userData.province];
  64. let date = new Date(userData.create_time);
  65. userData.create_time = date.getFullYear() + '年' +
  66. (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '月' +
  67. (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
  68. //获取编办列表
  69. let compilationModel = new CompilationModel();
  70. let compilationList = JSON.parse(JSON.stringify(await compilationModel.getList()));
  71. if (userData.upgrade_list !== undefined) {
  72. let userUpgradeList = userData.upgrade_list;
  73. for (let i in userUpgradeList) {
  74. let oneCompilationIndex = await compilationList.findIndex(function (item) {
  75. return item._id === userUpgradeList[i].compilationID;
  76. });
  77. if (oneCompilationIndex !== -1) {
  78. compilationList[oneCompilationIndex].isUpgrade = userUpgradeList[i].isUpgrade;
  79. }
  80. }
  81. }
  82. response.json({error: 0, msg: 'success', data: { userInfo: userData, compilationList: compilationList }});
  83. } catch (err) {
  84. response.json({error: 1, msg: err});
  85. }
  86. }
  87. /**
  88. * 设置用户编办专业版
  89. *
  90. * @param request
  91. * @param response
  92. * @return {Promise.<void>}
  93. */
  94. async setUsersUpgrade(request, response) {
  95. let ssoID = request.body.ssoId;
  96. let compilationID = request.body.cid;
  97. try {
  98. let userModel = new UserModel();
  99. let userData = await userModel.findDataBySsoId(ssoID);
  100. let compilationModel = new CompilationModel();
  101. let compilationData = compilationModel.getCompilationById(compilationID);
  102. if (compilationData === null || compilationData === undefined) {
  103. throw '不存在该编办或者编办未发布';
  104. }
  105. let upgrade_list = userData.upgrade_list !== undefined ? JSON.parse(JSON.stringify(userData.upgrade_list)) : [];
  106. let upgradeIndex = upgrade_list.findIndex(function (item) {
  107. return item.compilationID === compilationID
  108. });
  109. let upgradeInfo = {
  110. compilationID:compilationID,//编办ID
  111. upgrade_time:new Date().getTime(),
  112. isUpgrade:true,
  113. remark: ''
  114. };
  115. if (upgradeIndex === -1) {
  116. upgrade_list.push(upgradeInfo);
  117. } else {
  118. upgrade_list.splice(upgradeIndex, 1, upgradeInfo);
  119. }
  120. let condition = {ssoId: ssoID};
  121. let result = await userModel.updateUser(condition, {upgrade_list: upgrade_list});
  122. if (result) {
  123. response.json({error: 0, msg: 'success'});
  124. } else {
  125. throw '更新失败';
  126. }
  127. } catch (err) {
  128. response.json({error: 1, msg: err});
  129. }
  130. }
  131. /**
  132. * 获取编办列表
  133. *
  134. * @param request
  135. * @param response
  136. * @return {Promise.<void>}
  137. */
  138. async getCompilationList (request, response) {
  139. let compilationModel = new CompilationModel();
  140. const compilationList = await compilationModel.getList();
  141. response.json({error: 0, msg: 'success', data: compilationList});
  142. }
  143. }
  144. export default CLDController;