CaseFusionController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package com.fdkankan.fusion.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.fdkankan.fusion.common.ResultCode;
  4. import com.fdkankan.fusion.common.ResultData;
  5. import com.fdkankan.fusion.common.util.FileWriterUtil;
  6. import com.fdkankan.fusion.entity.*;
  7. import com.fdkankan.fusion.exception.BusinessException;
  8. import com.fdkankan.fusion.request.FusionPageParam;
  9. import com.fdkankan.fusion.request.FusionParam;
  10. import com.fdkankan.fusion.service.*;
  11. import org.apache.commons.lang3.StringUtils;
  12. import org.springframework.beans.BeanUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.util.Arrays;
  16. import java.util.List;
  17. /**
  18. * <p>
  19. * 前端控制器
  20. * </p>
  21. *
  22. * @author
  23. * @since 2022-08-04
  24. */
  25. @RestController
  26. @RequestMapping("/caseFusion")
  27. public class CaseFusionController extends BaseController{
  28. @Autowired
  29. ICaseFusionService caseFusionService;
  30. @Autowired
  31. IFusionNumService fusionNumService;
  32. @Autowired
  33. IFusionMeterService fusionMeterService;
  34. @Autowired
  35. ICaseTagPointService caseTagPointService;
  36. @Autowired
  37. IModelService modelService;
  38. @Autowired
  39. IScenePlusService scenePlusService;
  40. @Autowired
  41. IScenePlusExtService scenePlusExtService;
  42. @Autowired
  43. ICommonUploadService commonUploadService;
  44. @GetMapping("/list")
  45. public ResultData allList(@RequestParam(required = false) Integer fusionId){
  46. return ResultData.ok(caseFusionService.getSceneListVo(fusionId));
  47. }
  48. @PostMapping("/pageList")
  49. public ResultData pageList(@RequestBody FusionPageParam param) {
  50. return ResultData.ok(caseFusionService.pageList(param));
  51. }
  52. @GetMapping("/info")
  53. public ResultData info(@RequestParam(required = false) Integer fusionId){
  54. CaseFusion caseFusion = caseFusionService.getById(fusionId);
  55. if(caseFusion == null){
  56. throw new BusinessException(ResultCode.RECORD_NOT_EXITS);
  57. }
  58. return ResultData.ok(caseFusion);
  59. }
  60. @PostMapping("/add")
  61. public ResultData add(@RequestBody FusionParam param){
  62. if( param.getFusionId() == null ){
  63. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  64. }
  65. if((param.getIsObj() == null || StringUtils.isBlank(param.getNum())) && param.getUploadId() == null){
  66. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  67. }
  68. if(param.getUploadId() != null){
  69. CommonUpload commonUpload = commonUploadService.getById(param.getUploadId());
  70. if(commonUpload == null || StringUtils.isBlank(commonUpload.getFileUrl())){
  71. throw new BusinessException(ResultCode.MEDIO_NOT_EXIT);
  72. }
  73. Model model = modelService.getByUploadId(commonUpload.getId());
  74. if(model == null){
  75. model = new Model();
  76. model.setModelTitle(commonUpload.getFileName());
  77. model.setModelSize(FileWriterUtil.setFileSize(Long.valueOf(commonUpload.getFileSize())));
  78. model.setModelDateType(commonUpload.getFileFormat());
  79. model.setModelType(commonUpload.getResultFileFormat());
  80. model.setWgs84(commonUpload.getWgs84());
  81. model.setGcj02(commonUpload.getGcj02());
  82. model.setConvertType(commonUpload.getConvertType());
  83. JSONArray jsonArray = new JSONArray();
  84. jsonArray.add(commonUpload.getFileUrl());
  85. model.setModelGlbUrl(jsonArray.toJSONString());
  86. model.setType(3);
  87. model.setCreateStatus(1);
  88. model.setUploadId(commonUpload.getId());
  89. modelService.save(model);
  90. }
  91. return ResultData.ok(fusionNumService.addModel(param,model.getModelId(),model.getModelTitle()));
  92. }
  93. ScenePlus scenePlus = scenePlusService.getByNum(param.getNum());
  94. ScenePlusExt scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
  95. scenePlus.setScenePlusExt(scenePlusExt);
  96. return ResultData.ok(fusionNumService.add(param,scenePlus,param.getIsObj()));
  97. }
  98. @PostMapping("/updateInfo")
  99. public ResultData updateInfo(@RequestBody CaseFusion caseFusion){
  100. if(caseFusion.getFusionId() == null){
  101. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  102. }
  103. caseFusion.setUpdateTime(null);
  104. caseFusionService.updateById(caseFusion);
  105. return ResultData.ok();
  106. }
  107. /**
  108. * 修改模型相关信息
  109. */
  110. @PostMapping("/update")
  111. public ResultData update(@RequestBody FusionParam param){
  112. fusionNumService.updateModel(param);
  113. return ResultData.ok();
  114. }
  115. @PostMapping("/delete")
  116. public ResultData delete(@RequestBody FusionParam param){
  117. if(param.getFusionNumId() == null){
  118. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  119. }
  120. fusionNumService.deleteById(param.getFusionNumId());
  121. return ResultData.ok();
  122. }
  123. }