import_controller.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /**
  2. * Created by zhang on 2019/12/3.
  3. */
  4. /**
  5. * Created by jimiz on 2017/4/9.
  6. */
  7. let logger = require("../../../logs/log_helper").logger;
  8. let pm_facade = require('../../pm/facade/pm_facade');
  9. const Project = require('../../main/models/project');
  10. const project_facade = require('../../main/facade/project_facade.js');
  11. let controller = {
  12. importProject:async function (req){
  13. let data = req.body;
  14. return await pm_facade.downLoadProjectFile(data);
  15. },
  16. importChongqingProject:async function(req){
  17. let data = req.body;
  18. return await pm_facade.importChongqingProject(data);
  19. },
  20. importExampleProject:async function(req){
  21. let data = req.body;
  22. return await pm_facade.importExampleProject(data);
  23. },
  24. copyConstructionProject:async function(req){
  25. let data = req.body;
  26. return await pm_facade.copyConstructionProject(data);
  27. },
  28. prepareInitialData: async function(req) {
  29. const data = req.body;
  30. return await pm_facade.prepareInitialData(data.userID, data.compilationID, data.example);
  31. },
  32. exportProject:async function(req){
  33. let result={
  34. error:0
  35. };
  36. let data = JSON.parse(req.body.dataString);
  37. result.data = await pm_facade.exportProject(req.body.userID, data);
  38. return result
  39. },
  40. copyProject:async function(req){
  41. let result={
  42. error:0
  43. };
  44. let data = JSON.parse(req.body.dataString);
  45. result.data = await pm_facade.accessToCopyProject(req.body.userID,req.body.compilationID,data);
  46. return result
  47. },
  48. async importInterface (req) {
  49. const result = {
  50. error: 0
  51. };
  52. result.data = await pm_facade.importInterface(req.body.key, req.body.session);
  53. return result;
  54. },
  55. async getDataForInterface (req) {
  56. const result = {
  57. error: 0
  58. };
  59. result.data = await Project.getDataSync(req.body.project_id);
  60. return result;
  61. },
  62. async loadSEIProjectData (req) {
  63. const result = {
  64. error: 0
  65. };
  66. result.data = await project_facade.loadSEIProjectData(req.body.projectID);
  67. return result;
  68. }
  69. };
  70. module.exports = {
  71. action:async function(req,res){//自动跳转到URL对应的controller方法
  72. let result={
  73. error:0
  74. };
  75. try {
  76. let functionName = req.url.replace(/\//g,"");
  77. result = controller[functionName]?await controller[functionName](req):"";
  78. }catch (err){
  79. logger.err(err);
  80. if(typeof err == "string"){
  81. result.error=2;
  82. result.msg = err;
  83. }else {
  84. result.error=1;
  85. result.msg = "导入失败请检查文件!"
  86. }
  87. }
  88. res.json(result);
  89. }
  90. };