hejinbo 2 年之前
父節點
當前提交
9c6303addb

+ 32
- 14
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/SaaSAPIFileUtils.java 查看文件

@@ -64,20 +64,38 @@ public class SaaSAPIFileUtils {
64 64
         return EsignHttpHelper.doCommHttp(eSignHost, apiaddr,requestType , jsonParm, header,true);
65 65
     }
66 66
 
67
-//  public static void main(String[] args) throws EsignDemoException {
68
- //      String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\b442880179844a848f1f8b08c29e3d0c.docx";
69
-//        EsignHttpResponse uploadUrl = getUploadUrl(filePath);
70
-//        String body = uploadUrl.getBody();
71
-//        JSONObject jsonObject = new JSONObject(body);
72
-//        JSONObject dataObj = jsonObject.getJSONObject("data");
73
-//        String fileUploadUrl = dataObj.get("fileUploadUrl").toString();
74
-//        System.out.println("这是fileUploadUrl:"+fileUploadUrl);
75
-//        String fileId = dataObj.get("fileId").toString();
76
-//        System.out.println("这是fileId:"+fileId);
77
-//        EsignHttpResponse esignHttpResponse = uploadFile(fileUploadUrl, filePath);
78
-//        System.out.println("这是上传文件流的结果:"+esignHttpResponse.getBody());
67
+    /**
68
+     * 下载已签署文件及附属材料
69
+     */
70
+
71
+    public static EsignHttpResponse fileDownloadUrl(String signFlowId) throws EsignDemoException {
72
+        String apiaddr = "/v3/sign-flow/"+ signFlowId +"/file-download-url";
73
+        //请求参数body体,json格式。get或者delete请求时jsonString传空json:"{}"或者null
74
+        String jsonParm=null;
75
+        //请求方法
76
+        EsignRequestType requestType= EsignRequestType.GET;
77
+        //生成签名鉴权方式的的header
78
+        Map<String, String> header = EsignHttpHelper.signAndBuildSignAndJsonHeader(eSignAppId,eSignAppSecret,jsonParm,requestType.name(),apiaddr,true);
79
+        //发起接口请求
80
+        return EsignHttpHelper.doCommHttp(eSignHost, apiaddr,requestType , jsonParm, header,true);
81
+    }
82
+
83
+  public static void main(String[] args) throws EsignDemoException {
84
+      String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\23893bfd3f2249ffa5c82850c11c482e.docx";
85
+        EsignHttpResponse uploadUrl = getUploadUrl(filePath);
86
+        String body = uploadUrl.getBody();
87
+        JSONObject jsonObject = new JSONObject(body);
88
+        JSONObject dataObj = jsonObject.getJSONObject("data");
89
+        String fileUploadUrl = dataObj.get("fileUploadUrl").toString();
90
+        System.out.println("这是fileUploadUrl:"+fileUploadUrl);
91
+        String fileId = dataObj.get("fileId").toString();
92
+        System.out.println("这是fileId:"+fileId);
93
+      //String fileUploadUrl = "https://esignoss.esign.cn/1111564182/ccf6db5a-92da-4523-89ba-385a30423596/23893bfd3f2249ffa5c82850c11c482e.docx?Expires=1697021257&OSSAccessKeyId=STS.NTmgvSC8n5Zg1y7EciQftF23N&Signature=CxVZmpwFksWmLYkxPjVz9K4mVyA%3D&callback-var=eyJ4OmZpbGVfa2V5IjoiJDAyODhjOTg3LWNlNzgtNDM1OC04NWYwLTdlNmUyM2NjOTJmNiQzNDk1NzQ3MjE5In0%3D%0A&callback=eyJjYWxsYmFja1VybCI6Imh0dHA6Ly9zbWx0YXBpLnRzaWduLmNuL2FueWRvb3IvZmlsZS1zeXN0ZW0vY2FsbGJhY2svYWxpb3NzIiwiY2FsbGJhY2tCb2R5IjogIntcIm1pbWVUeXBlXCI6JHttaW1lVHlwZX0sXCJzaXplXCI6ICR7c2l6ZX0sXCJidWNrZXRcIjogJHtidWNrZXR9LFwib2JqZWN0XCI6ICR7b2JqZWN0fSxcImV0YWdcIjogJHtldGFnfSxcImZpbGVfa2V5XCI6JHt4OmZpbGVfa2V5fX0iLCJjYWxsYmFja0JvZHlUeXBlIjogImFwcGxpY2F0aW9uL2pzb24ifQ%3D%3D%0A&security-token=CAIS%2BAF1q6Ft5B2yfSjIr5fYLMznrudPgpiMM1%2BGoWM8XelYqfeYrDz2IHtKdXRvBu8Xs%2F4wnmxX7f4YlqB6T55OSAmcNZEofT7katr4MeT7oMWQweEurv%2FMQBqyaXPS2MvVfJ%2BOLrf0ceusbFbpjzJ6xaCAGxypQ12iN%2B%2Fm6%2FNgdc9FHHPPD1x8CcxROxFppeIDKHLVLozNCBPxhXfKB0ca0WgVy0EHsPnvm5DNs0uH1AKjkbRM9r6ceMb0M5NeW75kSMqw0eBMca7M7TVd8RAi9t0t1%2FIVpGiY4YDAWQYLv0rda7DOltFiMkpla7MmXqlft%2BhzcgeQY0pc%2FRqAAaxcPCSY0Du8wgErfR1llD8t2zeFG%2B1mktU4Rsl7AgxsSFxrwILBUk2x7imVsFVA0kkS8rNBMDKGIsIZTCl5M7S2L%2BD8364htwcZgIZYHK2fCN6gCuy%2Bfk9C%2FfQaTc00IWBMw8OubuJ%2Fq2mdMh32yoi7dLuJyhwt1z%2F%2BWf5vIFHdIAA%3D";
94
+        EsignHttpResponse esignHttpResponse = uploadFile(fileUploadUrl, filePath);
95
+        System.out.println("这是上传文件流的结果:"+esignHttpResponse.getBody());
79 96
 //       EsignHttpResponse fileStatus = getFileStatus(fileId);
80 97
 //        System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody());
81
-//        getFileStatus("a0c2ad21065f48ff8b872412c39d5d3a");
82
-//    }
98
+//        getFileStatus("a808f1f39a744357a2f018e4ab34c55d");
99
+//     fileDownloadUrl("");
100
+    }
83 101
 }

+ 0
- 14
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java 查看文件

@@ -118,20 +118,6 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
118 118
                 datas.put("rulingFollows", arbitrateRecord1.getRulingFollows());
119 119
             }
120 120
             datas.put("legalProvisions", "仲裁法");
121
-            if (arbitratorName == null) {
122
-                datas.put("arbitratorName1", null);
123
-                datas.put("arbitratorName2", null);
124
-            } else if (arbitratorName.contains(",")) {
125
-                String[] nameArray = arbitratorName.split(",");
126
-                String firstName = nameArray[0];
127
-                String secondName = nameArray[1];
128
-                datas.put("arbitratorName1", firstName);
129
-                datas.put("arbitratorName2", secondName);
130
-            } else {
131
-                String secondName = "";
132
-                datas.put("arbitratorName1", arbitratorName);
133
-                datas.put("arbitratorName2", secondName);
134
-            }
135 121
             LocalDate now = LocalDate.now();
136 122
             String year = Integer.toString(now.getYear());
137 123
             String month = String.format("%02d", now.getMonthValue());

+ 48
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java 查看文件

@@ -4,10 +4,14 @@ package com.ruoyi.wisdomarbitrate.service.impl;
4 4
 import cn.hutool.core.collection.CollectionUtil;
5 5
 import cn.hutool.core.util.StrUtil;
6 6
 
7
+import com.alibaba.fastjson.JSONObject;
7 8
 import com.ruoyi.common.annotation.DataScope;
8 9
 import com.ruoyi.common.constant.CaseApplicationConstants;
10
+import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
9 11
 import com.ruoyi.common.core.domain.entity.SysDept;
12
+import com.ruoyi.common.exception.EsignDemoException;
10 13
 import com.ruoyi.common.exception.ServiceException;
14
+import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
11 15
 import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
12 16
 import com.ruoyi.common.utils.DateUtils;
13 17
 import com.ruoyi.common.utils.SmsUtils;
@@ -21,6 +25,8 @@ import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
21 25
 import org.springframework.beans.factory.annotation.Autowired;
22 26
 import org.springframework.stereotype.Service;
23 27
 import org.springframework.transaction.annotation.Transactional;
28
+
29
+import java.io.File;
24 30
 import java.math.BigDecimal;
25 31
 import java.text.SimpleDateFormat;
26 32
 import java.util.*;
@@ -47,6 +53,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
47 53
     private CaseAttachMapper caseAttachMapper;
48 54
     @Autowired
49 55
     private SysDeptMapper sysDeptMapper;
56
+    @Autowired
57
+    private ICaseApplicationService caseApplicationService;
58
+
50 59
     // 手机号正则
51 60
     private static final Pattern TELEPHONE_REGX =  Pattern.compile("^1(3\\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$");
52 61
 
@@ -690,10 +699,48 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
690 699
         arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord);
691 700
         Integer agreeOrNotCheck = caseApplication.getAgreeOrNotCheck();
692 701
         if(agreeOrNotCheck.intValue()==1){//同意审核
702
+            try {
703
+                //获取当前案件的裁决书
704
+                CaseApplication caseApplication2 = caseApplicationService.selectCaseApplication(caseApplication);
705
+                List<CaseAttach> caseAttachList = caseApplication2.getCaseAttachList();
706
+                if (caseAttachList != null && caseAttachList.size() > 0) {
707
+                    for (CaseAttach caseAttach : caseAttachList) {
708
+                        if (caseAttach.getAnnexType() == 3) {
709
+                            String annexPath = caseAttach.getAnnexPath();
710
+                            String path = "/home/ruoyi/" + annexPath;
711
+                            //获取文件上传地址
712
+                            EsignHttpResponse response = SaaSAPIFileUtils.getUploadUrl(path);
713
+                            String body = response.getBody();
714
+                            if (body != null){
715
+                                JSONObject jsonObject = JSONObject.parseObject(body);
716
+                                String fileId = jsonObject.getJSONObject("data").getString("fileId");
717
+                                String fileUploadUrl = jsonObject.getJSONObject("data").getString("fileUploadUrl");
718
+                                //上传文件流
719
+                                EsignHttpResponse response1 = SaaSAPIFileUtils.uploadFile(fileUploadUrl, path);
720
+                                JSONObject jsonObject1 = JSONObject.parseObject(response1.getBody());
721
+                                if (jsonObject1.getIntValue("errCode")==0){
722
+                                    //查看文件上传状态
723
+                                    Thread.sleep(5000);
724
+                                    EsignHttpResponse response2 = SaaSAPIFileUtils.getFileStatus(fileId);
725
+                                    JSONObject jsonObject2 = JSONObject.parseObject(response2.getBody());
726
+                                    int fileStatus = jsonObject2.getJSONObject("data").getIntValue("fileStatus");
727
+                                    if (fileStatus == 2 || fileStatus == 5){
728
+                                        //上传成功,发起签署流程
729
+                                        //保存案件id,文件id,文件名称.流程id到签署用印记录表里
730
+                                    }
731
+                                }
732
+                            }
733
+                        }
734
+                    }
735
+                }
736
+            } catch (EsignDemoException e) {
737
+                e.printStackTrace();
738
+            } catch (InterruptedException e) {
739
+                e.printStackTrace();
740
+            }
693 741
             caseApplication.setCaseStatus(CaseApplicationConstants.SIGN_ARBITRATION);
694 742
             // 新增日志
695 743
             CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.SIGN_ARBITRATION,"");
696
-
697 744
             rows = caseApplicationMapper.submitCaseApplication(caseApplication);
698 745
         }else if(agreeOrNotCheck.intValue()==2){//拒绝审核
699 746
             caseApplication.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);