From c405d5341efa592bd47d018784dbc7c37900a37a Mon Sep 17 00:00:00 2001
From: "@t2652009480" <2652009480@qq.com>
Date: Tue, 7 May 2024 15:44:30 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E8=BD=BD--=E5=A1=AB=E5=85=A5=E5=86=85?=
 =?UTF-8?q?=E7=BD=AE=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/StuAddBussinessController.java | 13 ++++
 .../StuDebtTransferStartController.java       | 16 ++++-
 .../controller/StuOperationController.java    | 71 ++++++++++++++++---
 .../entity/dto/StuDebtTransferDTO.java        |  2 +
 .../service/StuDebtTransferStartService.java  |  2 +
 .../impl/StuDebtTransferStartServiceImpl.java | 33 +++++++--
 6 files changed, 117 insertions(+), 20 deletions(-)

diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuAddBussinessController.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuAddBussinessController.java
index 5f599b0..fc751f0 100644
--- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuAddBussinessController.java
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuAddBussinessController.java
@@ -86,6 +86,18 @@ public class StuAddBussinessController {
         map.put("商业保理业务风险管理操作指引","/supply/商业保理业务风险管理操作指引.pdf");
 
 
+        map.put("信丰世嘉融资事项股东会决议预览","/supply/部分19信丰世嘉融资事项股东会决议.pdf");
+        map.put("连带责任保证担保合同预览","/supply/部分18连带责任保证担保合同.pdf");
+        map.put("应收账款反转让承诺书预览","/supply/部分14应收账款反转让承诺书.pdf");
+        map.put("应收账款转让明细表预览","/supply/部分1应收账款转让明细表.pdf");
+
+        map.put("应收账款转让通知书预览","/supply/部分12应收账款转让通知书1.pdf");
+        map.put("应收账款转让通知书预览 回执","/supply/部分13应收账款转让通知书2 回执.pdf");
+        map.put("应收账款转让通知书预览(签章完整) 回执","/supply/应收账款质押通知书及回执(签章完整)---非案例2.pdf");
+
+
+
+        map.put("中登网转让登记","/supply/中登网--保理登记--信丰世嘉单笔.pdf");
         //map.put("确认开增值税发票","/supply/部分3 采购订单1.pdf");
 
 
@@ -140,6 +152,7 @@ public class StuAddBussinessController {
         map.put("保理合同模板下载","/supply/国内有追索权保理业务合同及附件.pdf");
         map.put("客户结算条款模板下载","/supply/客户结算条款.pdf");
 
+
         //map.put("确认开增值税发票","/supply/部分3 采购订单1.pdf");
 
         String docPath = map.get(docName);
diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuDebtTransferStartController.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuDebtTransferStartController.java
index 2c779aa..0a0ce85 100644
--- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuDebtTransferStartController.java
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuDebtTransferStartController.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.nimbusds.jose.shaded.gson.JsonObject;
 import com.sztzjy.block_finance.annotation.AnonymousAccess;
 import com.sztzjy.block_finance.entity.StuDebtInvestigationInfo;
+import com.sztzjy.block_finance.entity.StuDigitalDebtVoucher;
 import com.sztzjy.block_finance.entity.dto.StuDebtTransferDTO;
 import com.sztzjy.block_finance.service.StuDebtTransferStartService;
 import com.sztzjy.block_finance.util.ResultEntity;
@@ -32,7 +33,7 @@ public class StuDebtTransferStartController {
     @PostMapping("/debtTransferFileDisplay")
     @AnonymousAccess
     @ApiOperation("发起债权转让贴现--债权转让文件展示")
-    public ResultEntity<List<StuDebtTransferDTO>> debtTransferFileDisplay(@ApiParam("用户ID") String userId){
+    public ResultEntity<List<StuDebtTransferDTO>> debtTransferFileDisplay(@RequestParam @ApiParam("用户ID") String userId){
         List<StuDebtTransferDTO> stuDebtTransferDTOList=stuDebtTransferStartService.debtTransferFileDisplay(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功",stuDebtTransferDTOList);
     }
@@ -41,7 +42,7 @@ public class StuDebtTransferStartController {
     @PostMapping("/applicationForDebtTransfer")
     @AnonymousAccess
     @ApiOperation("发起债权转让贴现--发起债权转让申请")
-    public ResultEntity applicationForDebtTransfer(@ApiParam("用户ID") String userId){
+    public ResultEntity applicationForDebtTransfer(@RequestParam @ApiParam("用户ID") String userId){
         stuDebtTransferStartService.applicationForDebtTransfer(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功");
     }
@@ -49,7 +50,7 @@ public class StuDebtTransferStartController {
     @PostMapping("/debtInvestigationFileDisplay")
     @AnonymousAccess
     @ApiOperation("债项调查--债权转让文件展示")
-    public ResultEntity<List<StuDebtInvestigationInfo>> debtInvestigationFileDisplay(@ApiParam("用户ID") String userId){
+    public ResultEntity<List<StuDebtInvestigationInfo>> debtInvestigationFileDisplay(@RequestParam @ApiParam("用户ID") String userId){
         List<StuDebtInvestigationInfo> stuDebtInvestigationInfos=stuDebtTransferStartService.debtInvestigationFileDisplay(userId);
         return new ResultEntity<>(HttpStatus.OK,"成功",stuDebtInvestigationInfos);
     }
@@ -167,4 +168,13 @@ public class StuDebtTransferStartController {
         stuDebtTransferStartService.smartContracts(userId);
         return new ResultEntity<>(HttpStatus.OK, "成功");
     }
+
+
+    @PostMapping("/previewVoucher")
+    @AnonymousAccess
+    @ApiOperation("数字债权凭证预览")
+    public ResultEntity previewVoucher(@RequestParam @ApiParam("用户ID") String userId){
+        StuDigitalDebtVoucher stuDigitalDebtVoucher=stuDebtTransferStartService.previewVoucher(userId);
+        return new ResultEntity<>(HttpStatus.OK,"成功",stuDigitalDebtVoucher);
+    }
 }
diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuOperationController.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuOperationController.java
index 1c7c87e..8a1920d 100644
--- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuOperationController.java
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/controller/StuOperationController.java
@@ -14,7 +14,10 @@ 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.Value;
 import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -22,6 +25,9 @@ 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.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -40,7 +46,10 @@ public class StuOperationController {
     StuDebtTransferStartService stuDebtTransferStartService;
     @Resource
     IFileUtil iFileUtil;
-    @PostMapping("/download")
+
+    @Value("${file.path}")
+    private String filePath;
+    @GetMapping("/download")
     @AnonymousAccess
     @ApiOperation("操作:下载")
     public void download(@ApiParam("文件名称") String docName,
@@ -53,8 +62,10 @@ public class StuOperationController {
         map.put("连带责任保证担保合同","/supply/部分18  连带责任保证担保合同.pdf");
         map.put("应收账款反转让承诺书","/supply/部分14 应收账款反转让承诺书.pdf");
         map.put("应收账款转让明细表","/supply/部分1 应收账款转让明细表.pdf");
+
         map.put("应收账款转让通知书","/supply/部分12 应收账款转让通知书1.pdf");
         map.put("应收账款转让通知书 回执","/supply/部分13 应收账款转让通知书2 回执.pdf");
+        map.put("应收账款转让通知书(签章完整) 回执","/supply/应收账款质押通知书及回执(签章完整)---非案例2.pdf");
 
         String docPath = map.get(docName);
 
@@ -64,22 +75,24 @@ public class StuOperationController {
         example.createCriteria().andUserIdEqualTo(userId).andFileNameEqualTo(docName);
         List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = stuTransactionDocumentsInfoMapper.selectByExample(example);
         if(!stuTransactionDocumentsInfos.isEmpty()){
-            if(category.isEmpty()){
+            if(category==null){
                 stuTransactionDocumentsInfos.get(0).setDownloadStatus(1);
+            }else {
+                if(category.equals(Constant.CORE_ENTERPRISES)){
+                    stuTransactionDocumentsInfos.get(0).setCoreEnterpriseDownloadStatus(1);
+                }
+                if(category.equals(Constant.IMPORT_FACTOR)){
+                    stuTransactionDocumentsInfos.get(0).setFactoringDownloadStatus(1);
+                }
             }
-            if(category.equals(Constant.CORE_ENTERPRISES)){
-                stuTransactionDocumentsInfos.get(0).setCoreEnterpriseDownloadStatus(1);
-            }
-            if(category.equals(Constant.IMPORT_FACTOR)){
-                stuTransactionDocumentsInfos.get(0).setFactoringDownloadStatus(1);
-            }
+
             stuTransactionDocumentsInfos.get(0).setDownloadStatus(1);
             stuTransactionDocumentsInfoMapper.updateByPrimaryKey(stuTransactionDocumentsInfos.get(0));
         }
     }
 
 
-    @PostMapping("/upload")
+    @GetMapping("/upload")
     @AnonymousAccess
     @ApiOperation("操作:上传")
     public ResultEntity upload(@RequestParam @RequestPart MultipartFile file,
@@ -100,8 +113,14 @@ public class StuOperationController {
 
         //TODO  上传名字做校验防止出现胡乱上传问题待补充
         HashMap<String, String> map = new HashMap<>();
-        map.put("应收账款转让通知书 回执","部分13 应收账款转让通知书2 回执");
+        map.put("连带责任保证担保合同预览","/supply/部分18连带责任保证担保合同.pdf");
+        map.put("应收账款反转让承诺书预览","/supply/部分14应收账款反转让承诺书.pdf");
+        map.put("应收账款转让明细表预览","/supply/部分1应收账款转让明细表.pdf");
 
+
+        map.put("应收账款转让通知书预览","/supply/部分12应收账款转让通知书1.pdf");
+        map.put("应收账款转让通知书预览 回执","/supply/部分13应收账款转让通知书2 回执.pdf");
+        map.put("应收账款转让通知书预览(签章完整) 回执","/supply/应收账款质押通知书及回执(签章完整)---非案例2.pdf");
         //用于判断文件名是否为对应的文件名
         String name = map.get(fileName);
 
@@ -173,4 +192,36 @@ public class StuOperationController {
             return new ResultEntity<>(HttpStatus.OK,"读取失败");
         }
     }
+
+
+    @GetMapping("/viewByPurchasePPT")
+    @ApiOperation("交叉检验预览(PPT)")
+    @AnonymousAccess
+    ResponseEntity<byte[]> viewByPurchasePPT(String userId, String docName) throws IOException, IOException {
+
+        HashMap<String, String> map = new HashMap<>();
+        map.put("交叉检验","/supply/交叉检验(信贷调查).pptx");
+
+
+        //map.put("确认开增值税发票","/supply/部分3 采购订单1.pdf");
+
+
+
+
+        String docPath = map.get(docName);
+
+
+
+
+        // 模拟加载公章图片的数据(假设在硬盘上的某个路径下)
+        String imagePath = filePath +docPath;
+        // 替换为你的实际路径
+        byte[] sealBytes = Files.readAllBytes(Paths.get(imagePath));
+
+
+        // 构建HTTP响应,设置Content-Type为application/octet-stream
+        return ResponseEntity.ok().contentType(MediaType.APPLICATION_OCTET_STREAM).body(sealBytes);
+
+    }
+
 }
diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/dto/StuDebtTransferDTO.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/dto/StuDebtTransferDTO.java
index f4aa487..7b0e29b 100644
--- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/dto/StuDebtTransferDTO.java
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/dto/StuDebtTransferDTO.java
@@ -21,4 +21,6 @@ public class StuDebtTransferDTO {
     private Integer downloadStatus;
 
     private String userId;
+
+    private Integer sequence;
 }
diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuDebtTransferStartService.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuDebtTransferStartService.java
index 28fdf95..6197da9 100644
--- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuDebtTransferStartService.java
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuDebtTransferStartService.java
@@ -1,6 +1,7 @@
 package com.sztzjy.block_finance.service;
 
 import com.sztzjy.block_finance.entity.StuDebtInvestigationInfo;
+import com.sztzjy.block_finance.entity.StuDigitalDebtVoucher;
 import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo;
 import com.sztzjy.block_finance.entity.dto.StuDebtTransferDTO;
 
@@ -44,4 +45,5 @@ public interface StuDebtTransferStartService {
 
     void exchangeTokensConfirm(String userId, BigDecimal totalAmount, BigDecimal financingAmount, BigDecimal financingInterest, String deadline, BigDecimal tokenAmount, String nodeAddress);
 
+    StuDigitalDebtVoucher previewVoucher(String userId);
 }
diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuDebtTransferStartServiceImpl.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuDebtTransferStartServiceImpl.java
index d850cb8..0087ba4 100644
--- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuDebtTransferStartServiceImpl.java
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuDebtTransferStartServiceImpl.java
@@ -47,7 +47,8 @@ public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartServ
     public List<StuDebtTransferDTO> debtTransferFileDisplay(String userId) {
 
         StuTransactionDocumentsInfoExample stuTransactionDocumentsInfoExample=new StuTransactionDocumentsInfoExample();
-        stuTransactionDocumentsInfoExample.createCriteria().andUserIdEqualTo(userId).andSupplierDisplayEqualTo(1);
+        stuTransactionDocumentsInfoExample.createCriteria().andUserIdEqualTo(userId).andDiscountDisplayEqualTo(1);
+        stuTransactionDocumentsInfoExample.setOrderByClause("sequence asc");
         List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(stuTransactionDocumentsInfoExample);
 
         if(stuTransactionDocumentsInfoList.isEmpty()){
@@ -266,27 +267,33 @@ public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartServ
             stuTransactionDocumentsInfo.setFileName(strings[i]);
             stuTransactionDocumentsInfo.setUserId(userId);
 
-            if(strings[i].equals("数字资产债权凭证") || strings[i].equals("应收账款转让通知书") || strings[i].equals("签署智能合约")){ //全部展示
-                stuTransactionDocumentsInfo.setDiscountDisplay(1);
+            if(strings[i].equals("数字债权凭证") || strings[i].equals("应收账款转让通知书") || strings[i].equals("签署智能合约")){ //全部展示
+                stuTransactionDocumentsInfo.setCoreEnterpriseDisplay(1);
                 stuTransactionDocumentsInfo.setSupplierDisplay(1);
                 stuTransactionDocumentsInfo.setFactoringCompanyDisplay(1);
+                stuTransactionDocumentsInfo.setDiscountDisplay(0);
             }
             if(i<10){ //仅发起债权转让贴现展示
                 stuTransactionDocumentsInfo.setDiscountDisplay(1);
-                if(i<5){
-                    stuTransactionDocumentsInfo.setSequence(i);
-                }
+                stuTransactionDocumentsInfo.setSequence(i+1);
             }
             if(strings[i].equals("应收账款转让通知书 回执")){ //核心企业和保理公司展示
                 stuTransactionDocumentsInfo.setFactoringCompanyDisplay(1);
                 stuTransactionDocumentsInfo.setCoreEnterpriseDisplay(1);
+                stuTransactionDocumentsInfo.setDiscountDisplay(0);
+                stuTransactionDocumentsInfo.setSupplierDisplay(0);
             }
             if(strings[i].equals("中登网转让登记")){ //仅保理公司展示
                 stuTransactionDocumentsInfo.setFactoringCompanyDisplay(1);
+                stuTransactionDocumentsInfo.setDiscountDisplay(0);
+                stuTransactionDocumentsInfo.setCoreEnterpriseDisplay(0);
+                stuTransactionDocumentsInfo.setSupplierDisplay(0);
             }
             stuTransactionDocumentsInfo.setCreateTime(new Date());
 
-            list.add(stuTransactionDocumentsInfo);
+            if(stuTransactionDocumentsInfo.getDiscountDisplay()==1){
+                list.add(stuTransactionDocumentsInfo);
+            }
             stuTransactionDocumentsInfoMapper.insert(stuTransactionDocumentsInfo);
         }
         return list;
@@ -582,4 +589,16 @@ public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartServ
             stuJoinNodeMapper.updateByPrimaryKey(stuJoinNode1);
         }
     }
+
+    @Override
+    public StuDigitalDebtVoucher previewVoucher(String userId) {
+        StuDigitalDebtVoucherExample example=new StuDigitalDebtVoucherExample();
+        example.createCriteria().andUserIdEqualTo(userId);
+        List<StuDigitalDebtVoucher> stuDigitalDebtVouchers = stuDigitalDebtVoucherMapper.selectByExample(example);
+
+        if(stuDigitalDebtVouchers.isEmpty()){
+            return null;
+        }
+        return stuDigitalDebtVouchers.get(0);
+    }
 }