VisualdevModelAppController.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package jnpf.onlinedev.controller;
  2. import io.swagger.v3.oas.annotations.tags.Tag;
  3. import io.swagger.v3.oas.annotations.Operation;
  4. import jnpf.base.ActionResult;
  5. import jnpf.base.vo.DownloadVO;
  6. import jnpf.base.service.VisualdevService;
  7. import jnpf.base.entity.VisualdevEntity;
  8. import jnpf.config.ConfigValueUtil;
  9. import jnpf.constant.FileTypeConstant;
  10. import jnpf.constant.MsgCode;
  11. import jnpf.emnus.ExportModelTypeEnum;
  12. import jnpf.exception.WorkFlowException;
  13. import jnpf.onlinedev.model.*;
  14. import jnpf.util.*;
  15. import jnpf.emnus.ModuleTypeEnum;
  16. import jnpf.util.FileExport;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.http.MediaType;
  19. import org.springframework.web.bind.annotation.*;
  20. import org.springframework.web.multipart.MultipartFile;
  21. /**
  22. * 0代码app无表开发
  23. *
  24. * @author JNPF开发平台组
  25. * @version V3.1.0
  26. * @copyright 引迈信息技术有限公司
  27. * @date 2019年9月27日 上午9:18
  28. */
  29. @Tag(name = "0代码app无表开发", description = "ModelAppData")
  30. @RestController
  31. @RequestMapping("/api/visualdev/OnlineDev/App")
  32. public class VisualdevModelAppController {
  33. @Autowired
  34. private VisualdevService visualdevService;
  35. @Autowired
  36. private FileExport fileExport;
  37. @Autowired
  38. private ConfigValueUtil configValueUtil;
  39. @Operation(summary = "功能导出")
  40. @PostMapping("/{modelId}/Actions/ExportData")
  41. public ActionResult exportData(@PathVariable("modelId") String modelId){
  42. VisualdevEntity visualdevEntity = visualdevService.getInfo(modelId);
  43. BaseDevModelVO vo = JsonUtil.getJsonToBean(visualdevEntity,BaseDevModelVO.class);
  44. vo.setModelType(ExportModelTypeEnum.App.getMessage());
  45. DownloadVO downloadVO=fileExport.exportFile(vo, FileTypeConstant.TEMPORARY, visualdevEntity.getFullName(), ModuleTypeEnum.VISUAL_APP.getTableName());
  46. return ActionResult.success(downloadVO);
  47. }
  48. @Operation(summary = "功能导入")
  49. @PostMapping(value = "/Model/Actions/ImportData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  50. public ActionResult ImportData(@RequestPart("file") MultipartFile multipartFile) throws WorkFlowException {
  51. //判断是否为.json结尾
  52. if (FileUtil.existsSuffix(multipartFile, ModuleTypeEnum.VISUAL_APP.getTableName())) {
  53. return ActionResult.fail(MsgCode.IMP002.get());
  54. }
  55. //获取文件内容
  56. String fileContent = FileUtil.getFileContent(multipartFile);
  57. BaseDevModelVO vo = JsonUtil.getJsonToBean(fileContent, BaseDevModelVO.class);
  58. if (vo.getModelType() == null || !vo.getModelType().equals(ExportModelTypeEnum.App.getMessage())) {
  59. return ActionResult.fail(MsgCode.VS410.get());
  60. }
  61. VisualdevEntity visualdevEntity = JsonUtil.getJsonToBean(vo, VisualdevEntity.class);
  62. String modelId = visualdevEntity.getId();
  63. if (StringUtil.isNotEmpty(modelId)) {
  64. VisualdevEntity entity = visualdevService.getInfo(modelId);
  65. if (entity != null) {
  66. return ActionResult.fail(MsgCode.VS411.get());
  67. }
  68. }
  69. visualdevEntity.setCreatorTime(DateUtil.getNowDate());
  70. visualdevEntity.setLastModifyTime(null);
  71. visualdevService.create(visualdevEntity);
  72. return ActionResult.success(MsgCode.IMP001.get());
  73. }
  74. }