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 460ce62..074faab 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
@@ -1,12 +1,20 @@
 package com.sztzjy.block_finance.controller;
 
+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.dto.StuDebtTransferDTO;
+import com.sztzjy.block_finance.service.StuDebtTransferStartService;
 import com.sztzjy.block_finance.util.ResultEntity;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiParam;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @author tz
@@ -16,11 +24,55 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("api/stu/supplyChainFinance/debtTransfer")
 @Api(tags = "供应链金融流程:发起债权转让贴现--智能合约执行")
 public class StuDebtTransferStartController {
+    @Resource
+    StuDebtTransferStartService stuDebtTransferStartService;
+
+    @PostMapping("/debtTransferFileDisplay")
+    @AnonymousAccess
+    @ApiOperation("发起债权转让贴现--债权转让文件展示")
+    public ResultEntity<List<StuDebtTransferDTO>> debtTransferFileDisplay(@ApiParam("用户ID") String userId){
+        List<StuDebtTransferDTO> stuDebtTransferDTOList=stuDebtTransferStartService.debtTransferFileDisplay(userId);
+        return new ResultEntity<>(HttpStatus.OK,"成功",stuDebtTransferDTOList);
+    }
+
+    @PostMapping("/operate")
+    @AnonymousAccess
+    @ApiOperation("发起债权转让贴现--操作:下载、上传、读取")
+    public ResultEntity operate(@ApiParam("文件ID") Integer id,
+                                                          @ApiParam("操作类型") String operateType){
+        int result=stuDebtTransferStartService.operate(id,operateType);
+        return new ResultEntity<>(HttpStatus.OK,operateType+"成功");
+    }
+
+    @PostMapping("/applicationForDebtTransfer")
+    @AnonymousAccess
+    @ApiOperation("发起债权转让贴现--发起债权转让申请")
+    public ResultEntity applicationForDebtTransfer(@ApiParam("用户ID") String userId){
+        stuDebtTransferStartService.applicationForDebtTransfer(userId);
+        return new ResultEntity<>(HttpStatus.OK,"成功");
+    }
+
+    @PostMapping("/debtInvestigationFileDisplay")
+    @AnonymousAccess
+    @ApiOperation("债项调查--债权转让文件展示")
+    public ResultEntity<List<StuDebtInvestigationInfo>> debtInvestigationFileDisplay(@ApiParam("用户ID") String userId){
+        List<StuDebtInvestigationInfo> stuDebtInvestigationInfos=stuDebtTransferStartService.debtInvestigationFileDisplay(userId);
+        return new ResultEntity<>(HttpStatus.OK,"成功",stuDebtInvestigationInfos);
+    }
+
+    @PostMapping("/debtInvestigationPassed")
+    @AnonymousAccess
+    @ApiOperation("债项调查--债项调查通过")
+    public ResultEntity debtInvestigationPassed(@RequestBody List<StuDebtInvestigationInfo> stuDebtInvestigationInfo){
+        stuDebtTransferStartService.debtInvestigationPassed(stuDebtInvestigationInfo);
+        return new ResultEntity(HttpStatus.OK,"通过");
+    }
 
-    @PostMapping("/getStuHashNavigation")
+    @PostMapping("/supplierFileDisplay")
     @AnonymousAccess
-    @ApiOperation("债权转让文件展示")
-    public ResultEntity debtTransferFileDisplay(){
-        return null;
+    @ApiOperation("数字签章确权(供应商/核心企业/保理公司)--文件展示")
+    public ResultEntity<List<StuDebtTransferDTO>> supplierFileDisplay(@ApiParam("用户ID") String userId){
+        List<StuDebtTransferDTO> stuDebtTransferDTOList=stuDebtTransferStartService.supplierFileDisplay(userId);
+        return new ResultEntity<>(HttpStatus.OK,"成功",stuDebtTransferDTOList);
     }
 }
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
new file mode 100644
index 0000000..f4aa487
--- /dev/null
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/entity/dto/StuDebtTransferDTO.java
@@ -0,0 +1,24 @@
+package com.sztzjy.block_finance.entity.dto;
+
+import lombok.Data;
+
+/**
+ * @author tz
+ * @date 2024/3/7 14:02
+ */
+@Data
+public class StuDebtTransferDTO {
+    private Integer id;
+
+    private String fileName;
+
+    private String url;
+
+    private Integer uploadStatus;
+
+    private Integer readStatus;
+
+    private Integer downloadStatus;
+
+    private String userId;
+}
diff --git a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/mappers/StuDebtInvestigationInfoMapper.java b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/mappers/StuDebtInvestigationInfoMapper.java
index 2511829..29ed142 100644
--- a/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/mappers/StuDebtInvestigationInfoMapper.java
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/mappers/StuDebtInvestigationInfoMapper.java
@@ -3,8 +3,10 @@ package com.sztzjy.block_finance.mappers;
 import com.sztzjy.block_finance.entity.StuDebtInvestigationInfo;
 import com.sztzjy.block_finance.entity.StuDebtInvestigationInfoExample;
 import java.util.List;
-import org.apache.ibatis.annotations.Param;
 
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+@Mapper
 public interface StuDebtInvestigationInfoMapper {
     long countByExample(StuDebtInvestigationInfoExample example);
 
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
new file mode 100644
index 0000000..c448250
--- /dev/null
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/StuDebtTransferStartService.java
@@ -0,0 +1,24 @@
+package com.sztzjy.block_finance.service;
+
+import com.sztzjy.block_finance.entity.StuDebtInvestigationInfo;
+import com.sztzjy.block_finance.entity.dto.StuDebtTransferDTO;
+
+import java.util.List;
+
+/**
+ * @author tz
+ * @date 2024/3/7 14:05
+ */
+public interface StuDebtTransferStartService {
+    List<StuDebtTransferDTO> debtTransferFileDisplay(String userId);
+
+    int operate(Integer id, String operateType);
+
+    void applicationForDebtTransfer(String userId);
+
+    List<StuDebtInvestigationInfo> debtInvestigationFileDisplay(String userId);
+
+    void debtInvestigationPassed(List<StuDebtInvestigationInfo> stuDebtInvestigationInfo);
+
+    List<StuDebtTransferDTO> supplierFileDisplay(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
new file mode 100644
index 0000000..92e8e8b
--- /dev/null
+++ b/BlockFinanceCentral/src/main/java/com/sztzjy/block_finance/service/impl/StuDebtTransferStartServiceImpl.java
@@ -0,0 +1,124 @@
+package com.sztzjy.block_finance.service.impl;
+
+import com.sztzjy.block_finance.config.exception.handler.ServiceException;
+import com.sztzjy.block_finance.entity.StuDebtInvestigationInfo;
+import com.sztzjy.block_finance.entity.StuDebtInvestigationInfoExample;
+import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfo;
+import com.sztzjy.block_finance.entity.StuTransactionDocumentsInfoExample;
+import com.sztzjy.block_finance.entity.dto.StuDebtTransferDTO;
+import com.sztzjy.block_finance.mappers.StuDebtInvestigationInfoMapper;
+import com.sztzjy.block_finance.mappers.StuTransactionDocumentsInfoMapper;
+import com.sztzjy.block_finance.service.StuDebtTransferStartService;
+import com.sztzjy.block_finance.util.ConvertUtil;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * @author tz
+ * @date 2024/3/7 14:05
+ */
+@Service
+public class StuDebtTransferStartServiceImpl implements StuDebtTransferStartService {
+    @Resource
+    ConvertUtil convertUtil;
+    @Resource
+    StuTransactionDocumentsInfoMapper stuTransactionDocumentsInfoMapper;
+    @Resource
+    StuDebtInvestigationInfoMapper stuDebtInvestigationInfoMapper;
+    @Override
+    public List<StuDebtTransferDTO> debtTransferFileDisplay(String userId) {
+
+        StuTransactionDocumentsInfoExample stuTransactionDocumentsInfoExample=new StuTransactionDocumentsInfoExample();
+        stuTransactionDocumentsInfoExample.createCriteria().andUserIdEqualTo(userId);
+        List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(stuTransactionDocumentsInfoExample);
+
+        if(stuTransactionDocumentsInfoList.isEmpty()){
+            //查询默认数据
+            StuTransactionDocumentsInfoExample example = new StuTransactionDocumentsInfoExample();
+            example.createCriteria().andUserIdIsNull();
+            List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = stuTransactionDocumentsInfoMapper.selectByExample(example);
+
+            for (int i = 0; i < stuTransactionDocumentsInfos.size(); i++) {
+                StuTransactionDocumentsInfo stuTransactionDocumentsInfo = stuTransactionDocumentsInfos.get(i);
+                Integer uuid = UUID.randomUUID().toString().replaceAll("-", "").hashCode();
+                uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
+                stuTransactionDocumentsInfo.setId(uuid);
+                stuTransactionDocumentsInfo.setUserId(userId);
+                stuTransactionDocumentsInfoMapper.insert(stuTransactionDocumentsInfo);
+                stuTransactionDocumentsInfoList.add(stuTransactionDocumentsInfo);
+            }
+        }
+        List<StuDebtTransferDTO> stuDebtTransferDTOList = convertUtil.entityToDTOList(stuTransactionDocumentsInfoList, StuDebtTransferDTO.class);
+        return stuDebtTransferDTOList;
+    }
+
+    @Override
+    public int operate(Integer id, String operateType) {
+        StuTransactionDocumentsInfo stuTransactionDocumentsInfo = stuTransactionDocumentsInfoMapper.selectByPrimaryKey(id);
+        if(operateType.equals("下载")){
+            stuTransactionDocumentsInfo.setDownloadStatus(1);
+        }
+        if(operateType.equals("上传")){
+            if(stuTransactionDocumentsInfo.getDownloadStatus()!=1){
+                throw new ServiceException(HttpStatus.ACCEPTED,"未下载文件,无法上传");
+            }
+            stuTransactionDocumentsInfo.setUploadStatus(1);
+        }
+        if(operateType.equals("读取")){
+            if(stuTransactionDocumentsInfo.getUploadStatus()!=1){
+                throw new ServiceException(HttpStatus.ACCEPTED,"未上传文件,无法读取");
+            }
+            stuTransactionDocumentsInfo.setReadStatus(1);
+        }
+        int update = stuTransactionDocumentsInfoMapper.updateByPrimaryKey(stuTransactionDocumentsInfo);
+        return update;
+    }
+
+    @Override
+    public void applicationForDebtTransfer(String userId) {
+        StuTransactionDocumentsInfoExample stuTransactionDocumentsInfoExample=new StuTransactionDocumentsInfoExample();
+        stuTransactionDocumentsInfoExample.createCriteria().andUserIdEqualTo(userId);
+        List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfos = stuTransactionDocumentsInfoMapper.selectByExample(stuTransactionDocumentsInfoExample);
+        for (int i = 0; i < stuTransactionDocumentsInfos.size(); i++) {
+            if(stuTransactionDocumentsInfos.get(i).getReadStatus()!=1){
+                throw new ServiceException(HttpStatus.ACCEPTED,"文件未全部读取");
+            }
+        }
+    }
+
+    @Override
+    public List<StuDebtInvestigationInfo> debtInvestigationFileDisplay(String userId) {
+        List<StuDebtInvestigationInfo> stuDebtInvestigationInfos = stuDebtInvestigationInfoMapper.selectByExample(null);
+        return stuDebtInvestigationInfos;
+    }
+
+    @Override
+    public void debtInvestigationPassed(List<StuDebtInvestigationInfo> stuDebtInvestigationInfo) {
+        //查询内置数据
+        List<StuDebtInvestigationInfo> stuDebtInvestigationInfos = stuDebtInvestigationInfoMapper.selectByExample(null);
+        //进行比较
+        for (int i = 0; i < stuDebtInvestigationInfo.size(); i++) {
+            for (int j = 0; j < stuDebtInvestigationInfos.size(); j++) {
+                if(stuDebtInvestigationInfo.get(i).getId()==stuDebtInvestigationInfos.get(j).getId()){ //是否是同一文件
+                    if(!stuDebtInvestigationInfo.get(i).getOnAnalysis().equals(stuDebtInvestigationInfos.get(j).getOnAnalysis())){
+                        throw new ServiceException(HttpStatus.ACCEPTED,"分析结果选择错误");
+                    }
+                    break;
+                }
+            }
+        }
+    }
+
+    @Override
+    public List<StuDebtTransferDTO> supplierFileDisplay(String userId) {
+        StuTransactionDocumentsInfoExample example=new StuTransactionDocumentsInfoExample();
+        example.createCriteria().andUserIdEqualTo(userId).andSupplierDisplayEqualTo(1);
+        List<StuTransactionDocumentsInfo> stuTransactionDocumentsInfoList = stuTransactionDocumentsInfoMapper.selectByExample(example);
+        List<StuDebtTransferDTO> stuDebtTransferDTOList = convertUtil.entityToDTOList(stuTransactionDocumentsInfoList, StuDebtTransferDTO.class);
+        return stuDebtTransferDTOList;
+    }
+}