diff --git a/src/main/java/com/sztzjy/fund_investment/controller/ContractInvestmentController.java b/src/main/java/com/sztzjy/fund_investment/controller/ContractInvestmentController.java index 7955ffa..c7245ea 100644 --- a/src/main/java/com/sztzjy/fund_investment/controller/ContractInvestmentController.java +++ b/src/main/java/com/sztzjy/fund_investment/controller/ContractInvestmentController.java @@ -29,6 +29,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.mock.web.MockMultipartFile; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.annotation.Resource; import java.io.FileInputStream; @@ -38,10 +39,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Random; +import java.util.*; /** @@ -91,15 +89,15 @@ public class ContractInvestmentController { /** * 上传尽调报告 */ - @AnonymousAccess @PostMapping("/uploadDueDiligenceReport") @ApiOperation("上传尽调报告和上传估值报告") - public ResultEntity uploadDueDiligenceReport(@RequestParam("file") @RequestPart(name = "file") MultipartFile file, + public ResultEntity uploadDueDiligenceReport(@RequestParam("files") List files, @ApiParam("json格式数据") @RequestParam String reportUploadDto) { Gson gson = new Gson(); ReportUploadDto reportNameType = gson.fromJson(reportUploadDto, ReportUploadDto.class); - return contractInvestmentService.uploadDueDiligenceReport(file, reportNameType); + + return contractInvestmentService.uploadDueDiligenceReport(files, reportNameType); } diff --git a/src/main/java/com/sztzjy/fund_investment/entity/dto/ReportUploadDto.java b/src/main/java/com/sztzjy/fund_investment/entity/dto/ReportUploadDto.java index 7c39654..18f2ad4 100644 --- a/src/main/java/com/sztzjy/fund_investment/entity/dto/ReportUploadDto.java +++ b/src/main/java/com/sztzjy/fund_investment/entity/dto/ReportUploadDto.java @@ -20,6 +20,12 @@ public class ReportUploadDto { // "flowId":"1", // "schoolId":"1001", // "reportNameType":"尽调报告/估值报告" +// } + +// { +// "flowId":"1", +// "schoolId":"1001", +// "reportNameType":"尽调报告" // } @ApiModelProperty("流程id") diff --git a/src/main/java/com/sztzjy/fund_investment/service/ContractInvestmentService.java b/src/main/java/com/sztzjy/fund_investment/service/ContractInvestmentService.java index e1832d7..58d656b 100644 --- a/src/main/java/com/sztzjy/fund_investment/service/ContractInvestmentService.java +++ b/src/main/java/com/sztzjy/fund_investment/service/ContractInvestmentService.java @@ -8,6 +8,8 @@ import com.sztzjy.fund_investment.entity.preliminaryOfflineDto; import com.sztzjy.fund_investment.util.ResultEntity; import org.springframework.web.multipart.MultipartFile; +import java.util.List; + /** * @author 17803 * @date 2023-12-05 9:01 @@ -18,7 +20,7 @@ public interface ContractInvestmentService { /** * 上传尽调报告 */ - ResultEntity uploadDueDiligenceReport(MultipartFile file, ReportUploadDto reportNameType); + ResultEntity uploadDueDiligenceReport(List files, ReportUploadDto reportNameType); /** diff --git a/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/ContractInvestmentServiceImpl.java b/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/ContractInvestmentServiceImpl.java index 01b20eb..024e8da 100644 --- a/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/ContractInvestmentServiceImpl.java +++ b/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/ContractInvestmentServiceImpl.java @@ -71,44 +71,72 @@ public class ContractInvestmentServiceImpl implements ContractInvestmentService * 上传尽调报告 */ @Override - public ResultEntity uploadDueDiligenceReport(MultipartFile file, ReportUploadDto reportNameType) { - //返回文件上传路径 - String filePath = fileUtil.upload(file); - //获取文件名 - String originalFilename = file.getOriginalFilename(); - //截取文件后缀 - String fileExtension = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase(); - if (!fileExtension.equals(".pdf") && !fileExtension.equals(".doc") && !fileExtension.equals(".docx")) { - return new ResultEntity<>(HttpStatus.BAD_REQUEST, "文件必须为word或pdf!"); - } - //查看文件是否已经上传 - List trainingReports = getTrainingReports(reportNameType.getFlowId(), reportNameType.getReportNameType()); - if (trainingReports.size() > 0) { - return new ResultEntity<>(HttpStatus.BAD_REQUEST, "不允许重复提交!"); - } else { //只允许提交一次 - TrainingReport trainingReport = new TrainingReport(); - trainingReport.setId(IdUtil.fastSimpleUUID()); - trainingReport.setFlowId(reportNameType.getFlowId()); - trainingReport.setSchoolId(reportNameType.getSchoolId()); - trainingReport.setUrl(filePath); - String filename = file.getOriginalFilename(); - trainingReport.setReportName(filename); - trainingReport.setUploadtime(new Date()); - trainingReport.setStep(reportNameType.getReportNameType()); - trainingReportMapper.insert(trainingReport); - //(每个2分,共4分) - if ("尽调报告".equals(reportNameType.getReportNameType())){ - //investmentSigningDiligenceReportScore + public ResultEntity uploadDueDiligenceReport(List files , ReportUploadDto reportNameType) { - performanceScoreService.calculateScoreByModule("investmentSigningDiligenceReportScore", 2, reportNameType.getFlowId()); + int count = 0; + for (MultipartFile file : files) { - }else if ("估值报告".equals(reportNameType.getReportNameType())){ - //investmentSigningVlauationReportScore - performanceScoreService.calculateScoreByModule("investmentSigningVlauationReportScore", 2, reportNameType.getFlowId()); + //返回文件上传路径 + String filePath = fileUtil.upload(file); + //获取文件名 + String originalFilename = file.getOriginalFilename(); + //截取文件后缀 + String fileExtension = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase(); + if (!fileExtension.equals(".pdf") && !fileExtension.equals(".doc") && !fileExtension.equals(".docx")) { + return new ResultEntity<>(HttpStatus.BAD_REQUEST, "文件必须为word或pdf!"); + } + //查看文件是否已经上传 + List trainingReports = getTrainingReports(reportNameType.getFlowId(), reportNameType.getReportNameType()); + + //一个两个做判断 + + if ("尽调报告".equals(reportNameType.getReportNameType())){ + if (trainingReports.size() > 0 ) { + return new ResultEntity<>(HttpStatus.BAD_REQUEST, "不允许重复提交!"); + } else { //只允许提交一次 + TrainingReport trainingReport = new TrainingReport(); + trainingReport.setId(IdUtil.fastSimpleUUID()); + trainingReport.setFlowId(reportNameType.getFlowId()); + trainingReport.setSchoolId(reportNameType.getSchoolId()); + trainingReport.setUrl(filePath); + String filename = file.getOriginalFilename(); + trainingReport.setReportName(filename); + trainingReport.setUploadtime(new Date()); + trainingReport.setStep(reportNameType.getReportNameType()); + trainingReportMapper.insert(trainingReport); + //(每个2分,共4分) + if ("尽调报告".equals(reportNameType.getReportNameType())){ + //investmentSigningDiligenceReportScore + + performanceScoreService.calculateScoreByModule("investmentSigningDiligenceReportScore", 2, reportNameType.getFlowId()); + } + } + }else if ("估值报告".equals(reportNameType.getReportNameType())){ + if (trainingReports.size() >= 2 ) { + return new ResultEntity<>(HttpStatus.BAD_REQUEST, "不允许重复提交!"); + }else { + TrainingReport trainingReport = new TrainingReport(); + trainingReport.setId(IdUtil.fastSimpleUUID()); + trainingReport.setFlowId(reportNameType.getFlowId()); + trainingReport.setSchoolId(reportNameType.getSchoolId()); + trainingReport.setUrl(filePath); + String filename = file.getOriginalFilename(); + trainingReport.setReportName(filename); + trainingReport.setUploadtime(new Date()); + trainingReport.setStep(reportNameType.getReportNameType()); + trainingReportMapper.insert(trainingReport); + count++; + if (count == 1) + { + performanceScoreService.calculateScoreByModule("investmentSigningVlauationReportScore", 2, reportNameType.getFlowId()); + } + } } - return new ResultEntity<>(HttpStatus.OK, "报告上传成功!"); + + } + return new ResultEntity<>(HttpStatus.OK, "报告上传成功!"); } /** diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index e1fdde3..ecac44b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -2,6 +2,8 @@ server: port: 8818 servlet: context-path: / + tomcat: + relaxedQueryChars: <,>, [,],^,`,{,|,} spring: servlet: