Merge branch 'beta' into dev

# Conflicts:
#	server/src/main/java/cn/keking/web/controller/ContractController.java
This commit is contained in:
huangsheng 2023-02-23 17:33:52 +08:00
commit 5218675a1a
3 changed files with 19 additions and 14 deletions

View File

@ -232,6 +232,11 @@
<version>1.04</version> <version>1.04</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/lennart/cpdetector --> <!-- https://mvnrepository.com/artifact/lennart/cpdetector -->
<!-- <dependency>--> <!-- <dependency>-->

View File

@ -215,7 +215,8 @@
<orderEntry type="library" name="Maven: org.apache.pdfbox:pdfbox-tools:2.0.15" level="project" /> <orderEntry type="library" name="Maven: org.apache.pdfbox:pdfbox-tools:2.0.15" level="project" />
<orderEntry type="library" name="Maven: org.apache.pdfbox:pdfbox-debugger:2.0.15" level="project" /> <orderEntry type="library" name="Maven: org.apache.pdfbox:pdfbox-debugger:2.0.15" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.aspose:aspose-cad:19.9" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: com.aspose:aspose-cad:19.9" level="project" />
<orderEntry type="library" name="Maven: lennart:cpdetector:1.0.4" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: cpdetector:cpdetector:1.04" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.fastjson2:fastjson2:2.0.12" level="project" />
<orderEntry type="library" name="Maven: io.mola.galimatias:galimatias:0.2.1" level="project" /> <orderEntry type="library" name="Maven: io.mola.galimatias:galimatias:0.2.1" level="project" />
<orderEntry type="library" name="Maven: com.ibm.icu:icu4j:53.1" level="project" /> <orderEntry type="library" name="Maven: com.ibm.icu:icu4j:53.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.16" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.16" level="project" />

View File

@ -12,9 +12,11 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/** /**
* @author Hikaru * @author Hikaru
@ -23,7 +25,7 @@ import java.util.concurrent.ConcurrentHashMap;
@RestController @RestController
@RequestMapping("/contract") @RequestMapping("/contract")
@Slf4j @Slf4j
@Api(tags = "合同模板操作" ) @Api(tags = "合同模板操作")
public class ContractController { public class ContractController {
@ -31,8 +33,6 @@ public class ContractController {
private ContractService contractService; private ContractService contractService;
/** /**
* 合同生成 * 合同生成
* listTemplate * listTemplate
@ -44,7 +44,7 @@ public class ContractController {
@ApiOperation("根据模板生成合同") @ApiOperation("根据模板生成合同")
@PostMapping("/gen/{templateName}") @PostMapping("/gen/{templateName}")
public ServiceResponse<String> contractGen( public ServiceResponse<String> contractGen(
@ApiParam( value = "模板名称: 销售合同: sellContract ; 销售框架合同: frameContract", required = true ) @PathVariable String templateName, @ApiParam(value = "模板名称: 销售合同: sellContract ; 销售框架合同: frameContract", required = true) @PathVariable String templateName,
@io.swagger.v3.oas.annotations.parameters.RequestBody() @io.swagger.v3.oas.annotations.parameters.RequestBody()
@RequestBody Map<String, Object> dataMap) { @RequestBody Map<String, Object> dataMap) {
try { try {
@ -94,7 +94,7 @@ public class ContractController {
*/ */
@ApiOperation("查询模板列表") @ApiOperation("查询模板列表")
@PostMapping("/list/template") @PostMapping("/list/template")
public ServiceResponse<List<String>> listTemplate( @ApiParam( value = "默认列表: 销售合同: sellContract ; 销售框架合同: frameContract。 传空返回所有模板列表" ) @RequestBody(required = false) List<String> templateNames) { public ServiceResponse<List<String>> listTemplate(@ApiParam(value = "默认列表: 销售合同: sellContract ; 销售框架合同: frameContract。 传空返回所有模板列表") @RequestBody(required = false) List<String> templateNames) {
try { try {
templateNames = Optional.ofNullable(templateNames).orElse(Arrays.asList(Consts.FRAME_CONTRACT, Consts.SELL_CONTRACT)); templateNames = Optional.ofNullable(templateNames).orElse(Arrays.asList(Consts.FRAME_CONTRACT, Consts.SELL_CONTRACT));
List<String> urls = this.contractService.listTemplate(templateNames); List<String> urls = this.contractService.listTemplate(templateNames);
@ -112,12 +112,11 @@ public class ContractController {
/** /**
* @return 下载合同pdf文件 * @return 下载合同pdf文件
* */
* */
@ApiParam("下载合同pdf文件") @ApiParam("下载合同pdf文件")
@PostMapping("/download/{templateName}") @PostMapping("/download/{templateName}")
public ServiceResponse downloadcontract( public ServiceResponse downloadcontract(
@ApiParam( value = "模板名称: 销售合同: sellContract ; 销售框架合同: frameContract", required = true ) @PathVariable String templateName, @ApiParam(value = "模板名称: 销售合同: sellContract ; 销售框架合同: frameContract", required = true) @PathVariable String templateName,
@io.swagger.v3.oas.annotations.parameters.RequestBody() @io.swagger.v3.oas.annotations.parameters.RequestBody()
@RequestBody Map<String, Object> dataMap, @RequestBody Map<String, Object> dataMap,
HttpServletResponse response HttpServletResponse response
@ -126,11 +125,11 @@ public class ContractController {
log.error(JSON.toJSONString(dataMap)); log.error(JSON.toJSONString(dataMap));
OutputStream outstream = null; OutputStream outstream = null;
File file=contractService.download(templateName, dataMap); File file = contractService.download(templateName, dataMap);
outstream = response.getOutputStream(); outstream = response.getOutputStream();
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setContentType("application/octet-stream"); response.setContentType("application/octet-stream");
String filename=dataMap.get("conCode")+".pdf"; String filename = dataMap.get("conCode") + ".pdf";
response.reset(); response.reset();
// 设置response的Header // 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes())); response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
@ -145,7 +144,7 @@ public class ContractController {
bufferedInputStream.close(); bufferedInputStream.close();
outstream.flush(); outstream.flush();
outstream.close(); outstream.close();
return new ServiceResponse<>( "success", return new ServiceResponse<>("success",
ServiceResponse.RESULT_CODE_SUCCESS_CODE); ServiceResponse.RESULT_CODE_SUCCESS_CODE);
} catch (Exception e) { } catch (Exception e) {
log.error("生成错误:", e); log.error("生成错误:", e);