From 1da7e722780ce5dd1247679dd63f2ce016f89a21 Mon Sep 17 00:00:00 2001 From: whb <17803890193@163.com> Date: Tue, 2 Apr 2024 16:07:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=8F=91=E8=B5=B7=E4=BF=9D?= =?UTF-8?q?=E7=90=86=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StuCreditInvestmentController.java | 140 ++++++++++++++++++ .../controller/StuSendApplyController.java | 26 +++- .../stuEncryptOnChainController.java | 23 +++ .../stuTransactionConfirmationController.java | 2 + .../entity/StuTransactionDocumentsInfo.java | 10 ++ .../StuTransactionDocumentsInfoExample.java | 60 ++++++++ .../service/StuCreditInvestService.java | 33 +++++ .../service/StuSendApplyService.java | 2 +- .../impl/StuCreditInvestServiceImpl.java | 140 ++++++++++++++++++ .../impl/StuEncryptOnChainServiceImpl.java | 44 +++++- .../service/impl/StuSendApplyServiceImpl.java | 69 ++++----- .../StuTransactionDocumentsInfoMapper.xml | 29 +++- 12 files changed, 525 insertions(+), 53 deletions(-) create mode 100644 BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuCreditInvestmentController.java create mode 100644 BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuCreditInvestService.java create mode 100644 BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuCreditInvestServiceImpl.java diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuCreditInvestmentController.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuCreditInvestmentController.java new file mode 100644 index 0000000..d638d7d --- /dev/null +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuCreditInvestmentController.java @@ -0,0 +1,140 @@ +package com.sztzjy.block_finance.controller; + +import com.sztzjy.block_finance.annotation.AnonymousAccess; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfoExample; +import com.sztzjy.block_finance.entity.StuUploadResourceInfo; +import com.sztzjy.block_finance.entity.StuUploadResourceInfoExample; +import com.sztzjy.block_finance.mappers.StuTransactionDocumentsInfoMapper; +import com.sztzjy.block_finance.service.StuCreditInvestService; +import com.sztzjy.block_finance.util.ResultEntity; +import com.sztzjy.block_finance.util.file.IFileUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotBlank; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.List; + +/** + * @author 17803 + * @date 2024-04-02 9:10 + */ + +@RestController +@RequestMapping("api/stu/creditInvestment") +@Api(tags = "资信调查") +public class StuCreditInvestmentController { + + + @Autowired + private StuCreditInvestService stuCreditInvestService; + + @Value("${file.path}") + private String filePath; + + @Resource + private com.sztzjy.block_finance.util.file.IFileUtil IFileUtil; + + @Autowired + private StuTransactionDocumentsInfoMapper stuTransactionDocumentsInfoMapper; + + + @ApiOperation("上传资料") + @PostMapping("/uploadData") + @AnonymousAccess + public ResultEntity uploadInfoByCredit(@RequestParam(required = true,name = "file")MultipartFile file, + @RequestParam(required = true,name = "name")@NotBlank @ApiParam("文件类型名如:调查资料收集") String name, + String userId) { + + + return stuCreditInvestService.uploadInfoByCredit(file,name,userId); + + } + + + @ApiOperation("预览资料") + @GetMapping("/preView") + @AnonymousAccess + public ResponseEntity previewInfoData( + @RequestParam(required = true,name = "name")@NotBlank @ApiParam("文件类型名如:调查资料收集") String name, + @NotBlank String userId) throws IOException { + + return stuCreditInvestService.previewInfoData(name,userId); + + + } + + + @GetMapping("/downloadByData") + @ApiOperation("下载") + @AnonymousAccess + public void downloadByData(@RequestParam String userId ,String name, HttpServletResponse response) { + + StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample(); + example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(name); + + + List documentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example); + + if (documentsInfoList.isEmpty()) + { + return; + } + + + // TokenProvider.getJWTUser(TOKEN); + + IFileUtil.download(response,documentsInfoList.get(0).getUrl()); + + } + + + + @ApiOperation("评级模板预览") + @GetMapping("/preViewByRate") + @AnonymousAccess + public ResponseEntity preViewByRate( + @RequestParam(required = true,name = "name")@NotBlank @ApiParam("文件类型名如:调查资料收集") String name, + @NotBlank String userId) throws IOException { + + + StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample(); + example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(name); + + + List documentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example); + + if (documentsInfoList.isEmpty()){ + return null; + } + + String fileUrl = documentsInfoList.get(0).getUrl(); + + + // 模拟加载公章图片的数据(假设在硬盘上的某个路径下) + String imagePath = filePath +fileUrl; +// 替换为你的实际路径 + byte[] sealBytes = Files.readAllBytes(Paths.get(imagePath)); + + // 构建HTTP响应,设置Content-Type为image/png + return ResponseEntity.ok().contentType(MediaType.APPLICATION_PDF).body(sealBytes); + + + } + + + + +} diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuSendApplyController.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuSendApplyController.java index 70c6b38..3826595 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuSendApplyController.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuSendApplyController.java @@ -1,8 +1,11 @@ package com.sztzjy.block_finance.controller; import com.sztzjy.block_finance.annotation.AnonymousAccess; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfoExample; import com.sztzjy.block_finance.entity.StuUploadResourceInfo; import com.sztzjy.block_finance.entity.StuUploadResourceInfoExample; +import com.sztzjy.block_finance.mappers.StuTransactionDocumentsInfoMapper; import com.sztzjy.block_finance.mappers.StuUploadResourceInfoMapper; import com.sztzjy.block_finance.service.StuSendApplyService; import com.sztzjy.block_finance.util.ResultEntity; @@ -48,15 +51,20 @@ public class StuSendApplyController { @Autowired private StuUploadResourceInfoMapper uploadResourceInfoMapper; + @Autowired + private StuTransactionDocumentsInfoMapper stuTransactionDocumentsInfoMapper; + @ApiOperation("关联数字债权凭证上传") @GetMapping("/uploadDebt") @AnonymousAccess - public void uploadDebt(@RequestParam(required = true) @RequestPart MultipartFile file, + public ResultEntity uploadDebt(@RequestParam(required = true) @RequestPart MultipartFile file, @RequestParam(required = true) String userId,String fileName){ - service.uploadDebt(file,userId,fileName); + return service.uploadDebt(file,userId,fileName); + + } @@ -66,15 +74,17 @@ public class StuSendApplyController { ResponseEntity readByDebt(String userId, String docName) throws IOException, IOException { - StuUploadResourceInfoExample example = new StuUploadResourceInfoExample(); - example.createCriteria().andUserIdEqualTo(userId).andModuleEqualTo(docName); - List uploadResourceInfos = uploadResourceInfoMapper.selectByExample(example); + StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample(); + example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(docName); + + + List documentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example); - if (uploadResourceInfos.isEmpty()){ + if (documentsInfoList.isEmpty()){ return null; } - String fileUrl = uploadResourceInfos.get(0).getFileUrl(); + String fileUrl = documentsInfoList.get(0).getUrl(); // 模拟加载公章图片的数据(假设在硬盘上的某个路径下) @@ -96,7 +106,7 @@ public class StuSendApplyController { // TokenProvider.getJWTUser(TOKEN); - IFileUtil.download(response,"/supply/部分3 采购订单1.pdf"); + IFileUtil.download(response,"/supply/部分19 信丰世嘉融资事项股东会决议.pdf"); } diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuEncryptOnChainController.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuEncryptOnChainController.java index b54a33b..59d7691 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuEncryptOnChainController.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuEncryptOnChainController.java @@ -159,6 +159,29 @@ public class stuEncryptOnChainController { StuTransactionDocumentsInfo documentsInfo = new StuTransactionDocumentsInfo(); documentsInfo.setCreateTime(new Date()); + if ("采购订单".equals(fileName)) + { + documentsInfo.setSequence(1); + } + if ("开具发票".equals(fileName)) + { + documentsInfo.setSequence(2); + } + if ("邮件确认订单".equals(fileName)) + { + documentsInfo.setSequence(3); + } + if ("交货对账单".equals(fileName)) + { + documentsInfo.setSequence(4); + } + if ("确认开增值税发票".equals(fileName)) + { + documentsInfo.setSequence(5); + } + + + documentsInfo.setFileName(fileName); documentsInfo.setUrl(uploadPath); documentsInfo.setUploadStatus(1); diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuTransactionConfirmationController.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuTransactionConfirmationController.java index 636a605..07b3b66 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuTransactionConfirmationController.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/stuTransactionConfirmationController.java @@ -53,6 +53,8 @@ public class stuTransactionConfirmationController { + + @ApiOperation("交易文件数据") @PostMapping("tranDoc") @AnonymousAccess diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfo.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfo.java index 9d8af39..fc7c3d2 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfo.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfo.java @@ -45,6 +45,8 @@ public class StuTransactionDocumentsInfo { private String informationCiphertext; + private Integer sequence; + public Integer getId() { return id; } @@ -212,4 +214,12 @@ public class StuTransactionDocumentsInfo { public void setInformationCiphertext(String informationCiphertext) { this.informationCiphertext = informationCiphertext == null ? null : informationCiphertext.trim(); } + + public Integer getSequence() { + return sequence; + } + + public void setSequence(Integer sequence) { + this.sequence = sequence; + } } \ No newline at end of file diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfoExample.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfoExample.java index 27d0e7d..c99f767 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfoExample.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/StuTransactionDocumentsInfoExample.java @@ -1414,6 +1414,66 @@ public class StuTransactionDocumentsInfoExample { addCriterion("information_ciphertext not between", value1, value2, "informationCiphertext"); return (Criteria) this; } + + public Criteria andSequenceIsNull() { + addCriterion("sequence is null"); + return (Criteria) this; + } + + public Criteria andSequenceIsNotNull() { + addCriterion("sequence is not null"); + return (Criteria) this; + } + + public Criteria andSequenceEqualTo(Integer value) { + addCriterion("sequence =", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotEqualTo(Integer value) { + addCriterion("sequence <>", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceGreaterThan(Integer value) { + addCriterion("sequence >", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceGreaterThanOrEqualTo(Integer value) { + addCriterion("sequence >=", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceLessThan(Integer value) { + addCriterion("sequence <", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceLessThanOrEqualTo(Integer value) { + addCriterion("sequence <=", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceIn(List values) { + addCriterion("sequence in", values, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotIn(List values) { + addCriterion("sequence not in", values, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceBetween(Integer value1, Integer value2) { + addCriterion("sequence between", value1, value2, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotBetween(Integer value1, Integer value2) { + addCriterion("sequence not between", value1, value2, "sequence"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuCreditInvestService.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuCreditInvestService.java new file mode 100644 index 0000000..0093d2e --- /dev/null +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuCreditInvestService.java @@ -0,0 +1,33 @@ +package com.sztzjy.block_finance.service; + +import com.sztzjy.block_finance.util.ResultEntity; +import org.springframework.http.ResponseEntity; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; + +/** + * @author 17803 + * @date 2024-04-02 9:11 + */ + +public interface StuCreditInvestService { + /** + * 调查资料收集:上传资料 + * @param file + * @param name + * @return + */ + + ResultEntity uploadInfoByCredit(MultipartFile file, String name, + String userId); + + /** + * 调查资料收集:预览资料 + * @param name + * @param userId + * @return + */ + + ResponseEntity previewInfoData(String name, String userId) throws IOException; +} diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuSendApplyService.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuSendApplyService.java index 8c837c7..919eb67 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuSendApplyService.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuSendApplyService.java @@ -15,5 +15,5 @@ public interface StuSendApplyService { * @return */ - void uploadDebt(MultipartFile file, String userId,String fileName); + ResultEntity uploadDebt(MultipartFile file, String userId,String fileName); } diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuCreditInvestServiceImpl.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuCreditInvestServiceImpl.java new file mode 100644 index 0000000..fcf379b --- /dev/null +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuCreditInvestServiceImpl.java @@ -0,0 +1,140 @@ +package com.sztzjy.block_finance.service.impl;/** + * @author 17803 + * @date 2024-04-02 9:12 + */ + +import cn.hutool.core.util.IdUtil; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfoExample; +import com.sztzjy.block_finance.entity.StuUploadResourceInfo; +import com.sztzjy.block_finance.entity.StuUploadResourceInfoExample; +import com.sztzjy.block_finance.mappers.StuTransactionDocumentsInfoMapper; +import com.sztzjy.block_finance.mappers.StuUploadResourceInfoMapper; +import com.sztzjy.block_finance.service.StuCreditInvestService; +import com.sztzjy.block_finance.util.ResultEntity; +import com.sztzjy.block_finance.util.file.IFileUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Date; +import java.util.List; + +@Service +public class StuCreditInvestServiceImpl implements StuCreditInvestService { + + @Resource + private IFileUtil iFileUtil; + + @Autowired + private StuUploadResourceInfoMapper uploadResourceInfoMapper; + + @Value("${file.path}") + private String filePath; + + @Autowired + private StuTransactionDocumentsInfoMapper stuTransactionDocumentsInfoMapper; + + + /** + * 调查资料收集:上传资料 + * @param file + * @param name + * @return + */ + + @Override + public ResultEntity uploadInfoByCredit(MultipartFile file, String name, + String userId) { + + if (file.isEmpty()) + { + return new ResultEntity("上传文件为空"); + } + + + String uploadPath = iFileUtil.upload(file); + + StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample(); + example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(name); + + + List documentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example); + + + if (!documentsInfoList.isEmpty()){ + + StuTransactionDocumentsInfo documentsInfo = documentsInfoList.get(0); + documentsInfo.setUrl(uploadPath); + documentsInfo.setUpdateTime(new Date()); + documentsInfo.setFileName(name); + + stuTransactionDocumentsInfoMapper.updateByPrimaryKeySelective(documentsInfo); + return new ResultEntity<>(HttpStatus.OK,"上传成功!"); + + }else { + + StuTransactionDocumentsInfo documentsInfo = new StuTransactionDocumentsInfo(); + documentsInfo.setCreateTime(new Date()); + documentsInfo.setFileName(name); + documentsInfo.setUrl(uploadPath); + documentsInfo.setUploadStatus(1); + documentsInfo.setUserId(userId); + documentsInfo.setId((int) IdUtil.getSnowflakeNextId()); + documentsInfo.setSequence(7); + + stuTransactionDocumentsInfoMapper.insertSelective(documentsInfo); + return new ResultEntity<>(HttpStatus.OK,"上传成功!"); + } + + + } + + /** + * 调查资料收集:预览资料 + * @param name + * @param userId + * @return + */ + + @Override + public ResponseEntity previewInfoData(String name, String userId) throws IOException { + StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample(); + example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(name); + + + List documentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example); + + if (documentsInfoList.isEmpty()){ + return null; + } + + String fileUrl = documentsInfoList.get(0).getUrl(); + + + // 模拟加载公章图片的数据(假设在硬盘上的某个路径下) + String imagePath = filePath +fileUrl; +// 替换为你的实际路径 + byte[] sealBytes = Files.readAllBytes(Paths.get(imagePath)); + + // 构建HTTP响应,设置Content-Type为image/png + return ResponseEntity.ok().contentType(MediaType.APPLICATION_PDF).body(sealBytes); + } + + + + + + + + + +} diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuEncryptOnChainServiceImpl.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuEncryptOnChainServiceImpl.java index d63adfe..ae7dda8 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuEncryptOnChainServiceImpl.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuEncryptOnChainServiceImpl.java @@ -3,6 +3,7 @@ package com.sztzjy.block_finance.service.impl;/** * @date 2024-03-21 15:58 */ +import cn.hutool.core.lang.hash.Hash; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; @@ -29,7 +30,7 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import java.security.NoSuchAlgorithmException; -import java.util.List; +import java.util.*; @Service public class StuEncryptOnChainServiceImpl implements StuEncryptOnChainService { @@ -256,12 +257,47 @@ public class StuEncryptOnChainServiceImpl implements StuEncryptOnChainService { example.createCriteria().andUserIdEqualTo(userId); List stuTransactionDocumentsInfoList = documentsInfoMapper.selectByExample(example); + + Set arrayList = new HashSet<>(); + List list = new ArrayList<>(); + if (!stuTransactionDocumentsInfoList.isEmpty()) { - return new ResultEntity<>(HttpStatus.OK, "查询成功", stuTransactionDocumentsInfoList); - }else { - return new ResultEntity<>(HttpStatus.OK, "查询成功"); + HashSet hashSet = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5)); + + + stuTransactionDocumentsInfoList.forEach(item->{ + + Integer sequence = item.getSequence(); + + if (hashSet.contains(sequence)) { + list.add(item); + } + + + arrayList.add(sequence); + }); + + + + + + + if (arrayList.containsAll(hashSet)){ + Collections.sort(list, new Comparator() { + @Override + public int compare(StuTransactionDocumentsInfo o1, StuTransactionDocumentsInfo o2) { + + return Integer.compare(o1.getSequence(),o2.getSequence()); + } + }); + + return new ResultEntity<>(HttpStatus.OK, "查询成功", list); + } + } + return new ResultEntity<>(HttpStatus.OK, "查询成功"); + } diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuSendApplyServiceImpl.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuSendApplyServiceImpl.java index 2876fa5..9acb088 100644 --- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuSendApplyServiceImpl.java +++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuSendApplyServiceImpl.java @@ -2,18 +2,18 @@ package com.sztzjy.block_finance.service.impl;/** * @author 17803 * @date 2024-04-01 14:19 */ - import cn.hutool.core.util.IdUtil; -import com.sztzjy.block_finance.entity.StuUploadResourceInfo; -import com.sztzjy.block_finance.entity.StuUploadResourceInfoExample; +import com.sztzjy.block_finance.config.exception.handler.ServiceException; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo; +import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfoExample; +import com.sztzjy.block_finance.mappers.StuTransactionDocumentsInfoMapper; import com.sztzjy.block_finance.mappers.StuUploadResourceInfoMapper; import com.sztzjy.block_finance.service.StuSendApplyService; import com.sztzjy.block_finance.util.ResultEntity; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; - import javax.annotation.Resource; import java.util.Date; import java.util.List; @@ -30,6 +30,10 @@ public class StuSendApplyServiceImpl implements StuSendApplyService { @Resource private com.sztzjy.block_finance.util.file.IFileUtil IFileUtil; + + @Autowired + private StuTransactionDocumentsInfoMapper stuTransactionDocumentsInfoMapper; + /** * 关联数字债权凭证上传 * @param file @@ -38,49 +42,48 @@ public class StuSendApplyServiceImpl implements StuSendApplyService { */ @Override - public void uploadDebt(MultipartFile file, String userId,String fileName) { + public ResultEntity uploadDebt(MultipartFile file, String userId,String fileName) { + + StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample(); + example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(fileName); + + List documentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example); String originalFilename = file.getOriginalFilename(); if (originalFilename == null && !originalFilename.toLowerCase().endsWith(".pdf")) { - return; + throw new ServiceException(HttpStatus.ACCEPTED,"请上传正确的格式文件!"); } - String url = IFileUtil.upload(file); + String uploadPath = IFileUtil.upload(file); - StuUploadResourceInfoExample example = new StuUploadResourceInfoExample(); - example.createCriteria().andUserIdEqualTo(userId); - List uploadResourceInfoList = stuUploadResourceInfoMapper.selectByExample(example); - if (!uploadResourceInfoList.isEmpty()) - { + if (!documentsInfoList.isEmpty()){ - uploadResourceInfoList.get(0).setFileUrl(url); - uploadResourceInfoList.get(0).setFileName(originalFilename); - uploadResourceInfoList.get(0).setUpdateTime(new Date()); - uploadResourceInfoList.get(0).setFileSize(String.valueOf(file.getSize())); - stuUploadResourceInfoMapper.updateByPrimaryKeySelective(uploadResourceInfoList.get(0)); + StuTransactionDocumentsInfo documentsInfo = documentsInfoList.get(0); + documentsInfo.setUrl(uploadPath); + documentsInfo.setUpdateTime(new Date()); + documentsInfo.setFileName(fileName); - }else { - - StuUploadResourceInfo resourceInfo = new StuUploadResourceInfo(); - resourceInfo.setId(IdUtil.simpleUUID()); - resourceInfo.setCreateTime(new Date()); - resourceInfo.setFileName(originalFilename); - resourceInfo.setFileSize(String.valueOf(file.getSize())); - resourceInfo.setModule(fileName); - resourceInfo.setFileType("pdf"); - resourceInfo.setFileUrl(url); + stuTransactionDocumentsInfoMapper.updateByPrimaryKeySelective(documentsInfo); + return new ResultEntity<>(HttpStatus.OK,"上传成功!"); - stuUploadResourceInfoMapper.insertSelective(resourceInfo); + }else { + StuTransactionDocumentsInfo documentsInfo = new StuTransactionDocumentsInfo(); + documentsInfo.setCreateTime(new Date()); + documentsInfo.setFileName(fileName); + documentsInfo.setUrl(uploadPath); + documentsInfo.setUploadStatus(1); + documentsInfo.setUserId(userId); + documentsInfo.setId((int) IdUtil.getSnowflakeNextId()); + documentsInfo.setSequence(6); + + stuTransactionDocumentsInfoMapper.insertSelective(documentsInfo); + return new ResultEntity<>(HttpStatus.OK,"上传成功!"); } - - - - } } diff --git a/BlockFinanceCentral/src/main/resources/mappers/StuTransactionDocumentsInfoMapper.xml b/BlockFinanceCentral/src/main/resources/mappers/StuTransactionDocumentsInfoMapper.xml index f290d82..37a03f5 100644 --- a/BlockFinanceCentral/src/main/resources/mappers/StuTransactionDocumentsInfoMapper.xml +++ b/BlockFinanceCentral/src/main/resources/mappers/StuTransactionDocumentsInfoMapper.xml @@ -23,6 +23,7 @@ + @@ -87,7 +88,7 @@ signature_verification_status_encry, signature_verification_status, user_id, discount_display, supplier_display, core_enterprise_display, core_enterprise_receive_status, factoring_company_display, factoring_companies_receive_status, read_status, download_status, create_time, update_time, - cryp_digest, information_ciphertext + cryp_digest, information_ciphertext, sequence @@ -344,6 +351,9 @@ information_ciphertext = #{record.informationCiphertext,jdbcType=VARCHAR}, + + sequence = #{record.sequence,jdbcType=INTEGER}, + @@ -371,7 +381,8 @@ create_time = #{record.createTime,jdbcType=TIMESTAMP}, update_time = #{record.updateTime,jdbcType=TIMESTAMP}, cryp_digest = #{record.crypDigest,jdbcType=VARCHAR}, - information_ciphertext = #{record.informationCiphertext,jdbcType=VARCHAR} + information_ciphertext = #{record.informationCiphertext,jdbcType=VARCHAR}, + sequence = #{record.sequence,jdbcType=INTEGER} @@ -439,6 +450,9 @@ information_ciphertext = #{informationCiphertext,jdbcType=VARCHAR}, + + sequence = #{sequence,jdbcType=INTEGER}, + where id = #{id,jdbcType=INTEGER} @@ -463,7 +477,8 @@ create_time = #{createTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP}, cryp_digest = #{crypDigest,jdbcType=VARCHAR}, - information_ciphertext = #{informationCiphertext,jdbcType=VARCHAR} + information_ciphertext = #{informationCiphertext,jdbcType=VARCHAR}, + sequence = #{sequence,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} \ No newline at end of file