Просмотр исходного кода

Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev

qtz 2 лет назад
Родитель
Сommit
616be649b5

+ 2
- 0
ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.ruoyi;
3 3
 import org.springframework.boot.SpringApplication;
4 4
 import org.springframework.boot.autoconfigure.SpringBootApplication;
5 5
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
6
+import org.springframework.scheduling.annotation.EnableScheduling;
6 7
 
7 8
 /**
8 9
  * 启动程序
@@ -10,6 +11,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
10 11
  * @author ruoyi
11 12
  */
12 13
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
14
+@EnableScheduling
13 15
 public class RuoYiApplication
14 16
 {
15 17
     public static void main(String[] args)

+ 22
- 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java Просмотреть файл

@@ -6,7 +6,9 @@ import com.ruoyi.common.core.controller.BaseController;
6 6
 import com.ruoyi.common.core.domain.AjaxResult;
7 7
 import com.ruoyi.common.core.page.TableDataInfo;
8 8
 import com.ruoyi.common.enums.BusinessType;
9
+import com.ruoyi.common.exception.EsignDemoException;
9 10
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
11
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
10 12
 import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
11 13
 import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
12 14
 import org.springframework.beans.factory.annotation.Autowired;
@@ -95,6 +97,26 @@ public class CaseApplicationController extends BaseController {
95 97
         return success(caseApplicationselect);
96 98
     }
97 99
 
100
+    /**
101
+     * 查询签名链接
102
+     */
103
+    @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSignUrl')")
104
+    @PostMapping("/selectSignUrl")
105
+    public AjaxResult selectSignUrl(@Validated @RequestBody CaseApplication caseApplication) throws EsignDemoException {
106
+        SealSignRecord sealSignRecordselect = caseApplicationService.selectSignUrl(caseApplication);
107
+        return success(sealSignRecordselect);
108
+    }
109
+
110
+    /**
111
+     * 查询用印链接
112
+     */
113
+    @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSealUrl')")
114
+    @PostMapping("/selectSealUrl")
115
+    public AjaxResult selectSealUrl(@Validated @RequestBody CaseApplication caseApplication) throws EsignDemoException {
116
+        SealSignRecord sealUrlRecordselect = caseApplicationService.selectSealUrl(caseApplication);
117
+        return success(sealUrlRecordselect);
118
+    }
119
+
98 120
     /**
99 121
      * 立案申请导入模板下载
100 122
      */

+ 2
- 2
ruoyi-admin/src/main/resources/application-druid.yml Просмотреть файл

@@ -6,9 +6,9 @@ spring:
6 6
         druid:
7 7
             # 主库数据源
8 8
             master:
9
-                url: jdbc:mysql://121.40.189.20:3306/smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
9
+                url: jdbc:mysql://121.40.189.20:3306/arbitrate?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
10 10
                 username: root
11
-                password: YMzc157#
11
+                password: root123456
12 12
             # 从库数据源
13 13
             slave:
14 14
                 # 从数据源开关/默认关闭

ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java → ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealSignRecord.java Просмотреть файл

@@ -1,4 +1,4 @@
1
-package com.ruoyi.common.utils.bean;
1
+package com.ruoyi.wisdomarbitrate.domain;
2 2
 
3 3
 import com.ruoyi.common.core.domain.BaseEntity;
4 4
 
@@ -30,6 +30,38 @@ public class SealSignRecord extends BaseEntity {
30 30
     /** 用印状态 */
31 31
     private Integer orgsignStatus;
32 32
 
33
+    /** 签名链接 */
34
+    private String signUrl;
35
+
36
+    public String getSignUrl() {
37
+        return signUrl;
38
+    }
39
+
40
+    public void setSignUrl(String signUrl) {
41
+        this.signUrl = signUrl;
42
+    }
43
+
44
+    public String getSealUrl() {
45
+        return sealUrl;
46
+    }
47
+
48
+    public void setSealUrl(String sealUrl) {
49
+        this.sealUrl = sealUrl;
50
+    }
51
+
52
+    /** 用印链接 */
53
+    private String sealUrl;
54
+
55
+    private Long caseAppliId;
56
+
57
+    public Long getCaseAppliId() {
58
+        return caseAppliId;
59
+    }
60
+
61
+    public void setCaseAppliId(Long caseAppliId) {
62
+        this.caseAppliId = caseAppliId;
63
+    }
64
+
33 65
     public Integer getPsnsignStatus() {
34 66
         return psnsignStatus;
35 67
     }

+ 11
- 5
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java Просмотреть файл

@@ -1,10 +1,16 @@
1 1
 package com.ruoyi.wisdomarbitrate.mapper;
2 2
 
3
-import com.ruoyi.common.utils.bean.SealSignRecord;
4
-import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
5
-import org.apache.ibatis.annotations.Mapper;
3
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
4
+
5
+import java.util.List;
6 6
 
7
-@Mapper
8 7
 public interface SealSignRecordMapper {
9
-    int insertSealSignRecord(SealSignRecord SealSignRecord);
8
+    List<SealSignRecord> selectSealSignRecord(SealSignRecord sealSignRecord);
9
+
10
+    List<SealSignRecord> selectSealSignRecordbyStat(SealSignRecord sealSignRecord);
11
+
12
+    int updataSealSignRecord(SealSignRecord sealSignRecord);
13
+    
14
+
15
+
10 16
 }

+ 6
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java Просмотреть файл

@@ -1,6 +1,8 @@
1 1
 package com.ruoyi.wisdomarbitrate.service;
2 2
 
3
+import com.ruoyi.common.exception.EsignDemoException;
3 4
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
5
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
4 6
 import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
5 7
 
6 8
 import java.util.List;
@@ -40,4 +42,8 @@ public interface ICaseApplicationService {
40 42
     CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication);
41 43
 
42 44
     String sendRoomNoMessage(SendRoomNoMessageVO messageVO);
45
+
46
+    SealSignRecord selectSignUrl(CaseApplication caseApplication) throws EsignDemoException;
47
+
48
+    SealSignRecord selectSealUrl(CaseApplication caseApplication) throws EsignDemoException;
43 49
 }

+ 124
- 210
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java Просмотреть файл

@@ -4,26 +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
-
8
-import com.alibaba.fastjson.JSONArray;
9
-import com.alibaba.fastjson.JSONObject;
10 7
 import com.google.gson.Gson;
11
-import com.google.gson.JsonArray;
12 8
 import com.google.gson.JsonObject;
13 9
 import com.ruoyi.common.annotation.DataScope;
14 10
 import com.ruoyi.common.constant.CaseApplicationConstants;
15 11
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
16 12
 import com.ruoyi.common.core.domain.entity.SysDept;
17
-
18
-import com.ruoyi.common.core.domain.entity.SysUser;
19
-
20 13
 import com.ruoyi.common.exception.EsignDemoException;
21 14
 import com.ruoyi.common.exception.ServiceException;
22
-import com.ruoyi.common.utils.SignAward;
23
-import com.ruoyi.common.utils.bean.SealSignRecord;
24
-
25
-import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
26
-import com.ruoyi.system.mapper.SysUserMapper;
27 15
 import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
28 16
 import com.ruoyi.common.utils.DateUtils;
29 17
 import com.ruoyi.common.utils.SmsUtils;
@@ -34,11 +22,10 @@ import com.ruoyi.wisdomarbitrate.domain.*;
34 22
 import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
35 23
 import com.ruoyi.wisdomarbitrate.mapper.*;
36 24
 import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
25
+import com.ruoyi.wisdomarbitrate.utils.SignAward;
37 26
 import org.springframework.beans.factory.annotation.Autowired;
38 27
 import org.springframework.stereotype.Service;
39 28
 import org.springframework.transaction.annotation.Transactional;
40
-
41
-import java.io.File;
42 29
 import java.math.BigDecimal;
43 30
 import java.text.SimpleDateFormat;
44 31
 import java.util.*;
@@ -65,13 +52,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
65 52
     private CaseAttachMapper caseAttachMapper;
66 53
     @Autowired
67 54
     private SysDeptMapper sysDeptMapper;
68
-    @Autowired
69
-    private ICaseApplicationService caseApplicationService;
70
-    @Autowired
71
-    private SysUserMapper sysUserMapper;
55
+
72 56
     @Autowired
73 57
     private SealSignRecordMapper sealSignRecordMapper;
74
-
75 58
     // 手机号正则
76 59
     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}$");
77 60
 
@@ -112,7 +95,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
112 95
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
113 96
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
114 97
                     // 将组织机构id设为申请人名称
115
-                    if (deptMap.containsKey(caseAffiliate.getName())) {
98
+                    if (deptMap.containsKey(caseApplication.getName())) {
116 99
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
117 100
                     } else {
118 101
                         // 如果不存在则新增
@@ -195,7 +178,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
195 178
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
196 179
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
197 180
                     // 将组织机构id设为申请人名称
198
-                    if (deptMap.containsKey(caseAffiliate.getName())) {
181
+                    if (deptMap.containsKey(caseApplication.getName())) {
199 182
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
200 183
                     } else {
201 184
                         // 如果不存在则新增
@@ -679,7 +662,6 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
679 662
             rows = caseApplicationMapper.submitCaseApplication(caseApplication);
680 663
         }else {
681 664
             List<Arbitrator> arbitrators = caseApplication.getArbitrators();
682
-            // 仲裁员信息
683 665
             if(arbitrators!=null&&arbitrators.size()>0){
684 666
                 List<Long> ids = arbitrators.stream().map(Arbitrator::getId).collect(Collectors.toList());
685 667
                 List<String> arbitratorNames = arbitrators.stream().map(Arbitrator::getArbitratorName).collect(Collectors.toList());
@@ -716,123 +698,10 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
716 698
         arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord);
717 699
         Integer agreeOrNotCheck = caseApplication.getAgreeOrNotCheck();
718 700
         if(agreeOrNotCheck.intValue()==1){//同意审核
719
-            try {
720
-                //获取当前案件的裁决书
721
-                CaseApplication caseApplication2 = caseApplicationService.selectCaseApplication(caseApplication);
722
-                List<CaseAttach> caseAttachList = caseApplication2.getCaseAttachList();
723
-                if (caseAttachList != null && caseAttachList.size() > 0) {
724
-                    for (CaseAttach caseAttach : caseAttachList) {
725
-                        if (caseAttach.getAnnexType() == 3) {
726
-                            String annexPath = caseAttach.getAnnexPath();
727
-                            //String path = "/home/ruoyi/" + annexPath;
728
-                            String path ="D:\\home\\仲裁裁决书模板.docx";
729
-                            //获取文件上传地址
730
-                            EsignHttpResponse response = SaaSAPIFileUtils.getUploadUrl(path);
731
-                            String body = response.getBody();
732
-                            if (body != null){
733
-                                JSONObject jsonObject = JSONObject.parseObject(body);
734
-                                String fileId = jsonObject.getJSONObject("data").getString("fileId");
735
-                                String fileUploadUrl = jsonObject.getJSONObject("data").getString("fileUploadUrl");
736
-                                //上传文件流
737
-                                EsignHttpResponse response1 = SaaSAPIFileUtils.uploadFile(fileUploadUrl, path);
738
-                                JSONObject jsonObject1 = JSONObject.parseObject(response1.getBody());
739
-                                if (jsonObject1.getIntValue("errCode")==0){
740
-                                    //查看文件上传状态
741
-                                    Thread.sleep(5000);
742
-                                    EsignHttpResponse response2 = SaaSAPIFileUtils.getFileStatus(fileId);
743
-                                    JSONObject jsonObject2 = JSONObject.parseObject(response2.getBody());
744
-                                    JSONObject data = jsonObject2.getJSONObject("data");
745
-                                    int fileStatus =data.getIntValue("fileStatus");
746
-                                    if (fileStatus == 2 || fileStatus == 5){
747
-                                        String fileName = data.getString("fileName");
748
-                                        //上传成功,获取文件签名印章位置
749
-                                        SealSignRecord sealSignRecord = new SealSignRecord();
750
-                                        sealSignRecord.setFileid(fileId);
751
-                                        EsignHttpResponse positions = SignAward.getPositions(sealSignRecord);
752
-                                        Gson gson = new Gson();
753
-                                        JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class);
754
-                                        JsonObject positionsData = positionsJsonObject.getAsJsonObject("data");
755
-                                        String keywordPositions = positionsData.get("keywordPositions").getAsString();
756
-                                        //发起签署
757
-                                        sealSignRecord.setFilename(fileName);
758
-                                        String arbitratorId = caseApplication2.getArbitratorId();
759
-                                        if (arbitratorId!=null){
760
-                                            SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(arbitratorId));
761
-                                            if (sysUser == null){
762
-                                                return rows;
763
-                                            }
764
-                                            sealSignRecord.setPensonAccount(sysUser.getPhonenumber());
765
-                                            sealSignRecord.setPensonName(sysUser.getNickName());
766
-                                        }
767
-                                        sealSignRecord.setOrgnizeName("西安云美电子科技有限公司");
768
-                                        sealSignRecord.setOrgnizeNamePsnAccount("秦桃则");
769
-                                        sealSignRecord.setOrgnizeName("西安云美电子科技有限公司");
770
-                                        sealSignRecord.setOrgnizeNamePsnAccount("17691338406");
771
-                                        sealSignRecord.setOrgnizeNamepsnName("韩超勃");
772
-                                        //解析文件签名印章位置
773
-                                        JSONArray jsonArray = JSONArray.parseArray(keywordPositions);
774
-                                        for (int i = 0; i < jsonArray.size(); i++) {
775
-                                            JSONObject jsonObject3 = jsonArray.getJSONObject(i);
776
-                                            String keyword = jsonObject3.getString("keyword");
777
-                                            if (keyword.equals("仲裁员")){
778
-                                                //签名
779
-                                                JSONArray positionsArray = jsonObject3.getJSONArray("positions");
780
-                                                // 遍历 positionsArray 中的每个元素
781
-                                                for (int j = 0; j < positionsArray.size(); j++){
782
-                                                    JSONObject positionObj = positionsArray.getJSONObject(j);
783
-                                                    int pageNum = positionObj.getIntValue("pageNum");
784
-                                                    sealSignRecord.setPositionPagepsn(String.valueOf(pageNum));
785
-                                                    JSONArray coordinatesArray = positionObj.getJSONArray("coordinates");
786
-                                                    JSONObject coordinateObj = coordinatesArray.getJSONObject(0);
787
-                                                    double positionX = coordinateObj.getDoubleValue("positionX");
788
-                                                    double positionY = coordinateObj.getDoubleValue("positionY");
789
-                                                    sealSignRecord.setPositionXpsn(positionX);
790
-                                                    sealSignRecord.setPositionYpsn(positionY);
791
-                                                }
792
-                                            }else {
793
-                                                //用印
794
-                                                JSONArray positionsArray = jsonObject3.getJSONArray("positions");
795
-                                                // 遍历 positionsArray 中的每个元素
796
-                                                for (int j = 0; j < positionsArray.size(); j++) {
797
-                                                    JSONObject positionObj = positionsArray.getJSONObject(j);
798
-                                                    int pageNum = positionObj.getIntValue("pageNum");
799
-                                                    sealSignRecord.setPositionPageorg(String.valueOf(pageNum));
800
-                                                    JSONArray coordinatesArray = positionObj.getJSONArray("coordinates");
801
-                                                    JSONObject coordinateObj = coordinatesArray.getJSONObject(0);
802
-                                                    double positionX = coordinateObj.getDoubleValue("positionX");
803
-                                                    double positionY = coordinateObj.getDoubleValue("positionY");
804
-                                                    sealSignRecord.setPositionXorg(positionX);
805
-                                                    sealSignRecord.setPositionYorg(positionY);
806
-                                                }
807
-                                            }
808
-                                        }
809
-                                        EsignHttpResponse response3 = SignAward.createByFile(sealSignRecord);
810
-                                        JSONObject jsonObject3 = JSONObject.parseObject(response3.getBody());
811
-                                        if (jsonObject1.getIntValue("code")==0){
812
-                                            //获取签署流程ID
813
-                                            JSONObject data1 = jsonObject3.getJSONObject("data");
814
-                                            String signFlowId = data1.getString("signFlowId");
815
-                                            //保存案件id,文件id,文件名称.流程id到签署用印记录表里
816
-                                            sealSignRecord.setCaseAppliId(caseApplication.getId());
817
-                                            sealSignRecord.setSignFlowid(signFlowId);
818
-                                            sealSignRecord.setSignFlowStatus(1);//待签名
819
-                                            sealSignRecordMapper.insertSealSignRecord(sealSignRecord);
820
-                                        }
821
-                                    }
822
-                                }
823
-                            }
824
-                            break;
825
-                        }
826
-                    }
827
-                }
828
-            } catch (EsignDemoException e) {
829
-                e.printStackTrace();
830
-            } catch (InterruptedException e) {
831
-                e.printStackTrace();
832
-            }
833 701
             caseApplication.setCaseStatus(CaseApplicationConstants.SIGN_ARBITRATION);
834 702
             // 新增日志
835 703
             CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.SIGN_ARBITRATION,"");
704
+
836 705
             rows = caseApplicationMapper.submitCaseApplication(caseApplication);
837 706
         }else if(agreeOrNotCheck.intValue()==2){//拒绝审核
838 707
             caseApplication.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);
@@ -926,6 +795,43 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
926 795
         return "短信发送成功";
927 796
     }
928 797
 
798
+    @Override
799
+    public SealSignRecord selectSignUrl(CaseApplication caseApplication) throws EsignDemoException {
800
+        SealSignRecord sealSignRecord = new SealSignRecord();
801
+        sealSignRecord.setCaseAppliId(caseApplication.getId());
802
+        Gson gson = new Gson();
803
+        List<SealSignRecord> sealSignRecords = sealSignRecordMapper.selectSealSignRecord(sealSignRecord);
804
+        SealSignRecord sealSignRecordReslt = new SealSignRecord();
805
+        if(sealSignRecords!=null&&sealSignRecords.size()>0){
806
+            SealSignRecord sealSignRecordselect = sealSignRecords.get(0);
807
+            EsignHttpResponse signUrl = SignAward.signUrl(sealSignRecordselect);
808
+            JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class);
809
+            JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data");
810
+            String url = signUrlData.get("url").getAsString();
811
+            sealSignRecordReslt.setSignUrl(url);
812
+        }
813
+
814
+        return sealSignRecordReslt;
815
+    }
816
+
817
+    @Override
818
+    public SealSignRecord selectSealUrl(CaseApplication caseApplication) throws EsignDemoException {
819
+        SealSignRecord sealSignRecord = new SealSignRecord();
820
+        sealSignRecord.setCaseAppliId(caseApplication.getId());
821
+        Gson gson = new Gson();
822
+        List<SealSignRecord> sealSignRecords = sealSignRecordMapper.selectSealSignRecord(sealSignRecord);
823
+        SealSignRecord sealSignRecordReslt = new SealSignRecord();
824
+        if(sealSignRecords!=null&&sealSignRecords.size()>0){
825
+            SealSignRecord sealSignRecordselect = sealSignRecords.get(0);
826
+            EsignHttpResponse signUrl = SignAward.usesealUrl(sealSignRecordselect);
827
+            JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class);
828
+            JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data");
829
+            String url = signUrlData.get("url").getAsString();
830
+            sealSignRecordReslt.setSealUrl(url);
831
+        }
832
+        return sealSignRecordReslt;
833
+    }
834
+
929 835
     @Override
930 836
     @Transactional
931 837
     public int pendTralSure(CaseApplication caseApplication) {
@@ -943,32 +849,27 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
943 849
         String hearDatestr = dateFormat.format(hearDate);
944 850
 
945 851
         String arbitratorId = caseApplicationselect.getArbitratorId();
946
-//        List<Arbitrator> arbitratorList = new ArrayList<>();
852
+        List<Arbitrator> arbitratorList = new ArrayList<>();
947 853
         if(StringUtils.isNotEmpty(arbitratorId)){
948 854
             String[] idStrList  = arbitratorId.split(",");
949 855
             List<Long> idList = new ArrayList<>();
950 856
             for(int i = 0;i < idStrList.length;i ++ ){
951 857
                 idList.add(Long.parseLong(idStrList[i]));
952 858
             }
953
-//
954
-
955
-                    // 查询仲裁员电话号
956
-                 List<SysUser> userList=   sysUserMapper.selectUserListByIds(idList);
957
-                 if(CollectionUtil.isNotEmpty(userList)) {
958
-                     for (SysUser user : userList) {
959
-
960
-
961
-                     //给仲裁员发送短信通知
962
-                     request.setPhone(user.getPhonenumber());
963
-                     // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
964
-                     String name = user.getNickName();
965
-                     request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr});
966
-                     SmsUtils.sendSms(request);
967
-
968
-                     }
969
-                 }
970
-
971
-
859
+            Arbitrator arbitrator = new Arbitrator();
860
+            arbitrator.setIdList(idList);
861
+            arbitratorList = arbitratorMapper.selectArbitratorList(arbitrator);
862
+            if(arbitratorList!=null) {
863
+                for (int i = 0; i < arbitratorList.size(); i++) {
864
+                    Arbitrator arbitratorselect = arbitratorList.get(i);
865
+                    //给仲裁员发送短信通知
866
+                    request.setPhone(arbitratorselect.getTelephone());
867
+                    // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
868
+                    String name = arbitratorselect.getArbitratorName();
869
+                    request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr});
870
+                    SmsUtils.sendSms(request);
871
+                }
872
+            }
972 873
         }
973 874
 
974 875
         CaseAffiliate caseAffiliate = new CaseAffiliate();
@@ -990,7 +891,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
990 891
                     if(StrUtil.isNotEmpty(caseAffiliateselect.getName())&&deptMap.containsKey(caseAffiliateselect.getName())){
991 892
                         caseAffiliateselect.setName(deptMap.get(caseAffiliateselect.getName()));
992 893
                     }
993
-
894
+                    caseAffiliateselect.setName(caseAffiliateselect.getName());;
994 895
                 }
995 896
                 //给申请人、被申请人发送短信通知
996 897
                 request.setPhone(caseAffiliateselect.getContactTelphone());
@@ -1128,62 +1029,75 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
1128 1029
         caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable());
1129 1030
     }
1130 1031
 
1131
-    @Transactional
1132
-    public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
1133
-
1134
-        Gson gson = new Gson();
1135
-
1136
-
1137
-
1138
-        SealSignRecord sealSignRecord = new SealSignRecord();
1139
-        sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d");
1140
-        EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
1141
-        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
1142
-        JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
1143
-        JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
1144
-        for (int i = 0; i < signersArray.size(); i++) {
1145
-            JsonObject signerObject = (JsonObject)signersArray.get(i);
1146
-            Integer psnsignStatus ;
1147
-            Integer orgsignStatus ;
1148
-            if(!(signerObject.get("psnSigner").toString()).equals("null")){
1149
-                JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
1150
-                if(psnSignerData!=null){
1151
-                    psnsignStatus = signerObject.get("signStatus").getAsInt();
1152
-                    sealSignRecord.setPsnsignStatus(psnsignStatus);
1153
-
1154
-                    if(psnsignStatus.intValue()==2){
1155
-                        //更新立案申请状态为待用印
1156
-                        CaseApplication caseApplication = new CaseApplication();
1157
-                        caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
1158
-                        caseApplicationMapper.submitCaseApplication(caseApplication);
1159
-
1160
-                        //修改"签署用印记录表"的状态为待用印
1161
-
1162
-                    }
1163
-                }
1164
-            }
1165
-            if(!(signerObject.get("orgSigner").toString()).equals("null")){
1166
-                JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
1167
-                if(orgSignerData!=null){
1168
-                    orgsignStatus = signerObject.get("signStatus").getAsInt();
1169
-                    sealSignRecord.setOrgsignStatus(orgsignStatus);
1170
-                    //更新立案申请状态为待送达
1171
-                    CaseApplication caseApplication = new CaseApplication();
1172
-                    caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
1173
-                    caseApplicationMapper.submitCaseApplication(caseApplication);
1174
-
1175
-                    //修改"签署用印记录表"的状态为签署完成
1176
-
1177
-                    //下载审核完成的裁决书,
1178
-//                    SaaSAPIFileUtils.fileDownloadUrl();
1179
-
1180
-                }
1032
+//    @Transactional
1033
+//    public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
1034
+//
1035
+//        Gson gson = new Gson();
1036
+//
1037
+//        SealSignRecord sealSignRecordselect = new SealSignRecord();
1038
+//        sealSignRecordselect.setSignFlowStatus(1);
1039
+//
1040
+//        List<SealSignRecord> sealSignRecords = sealSignRecordMapper.selectSealSignRecord(sealSignRecordselect);
1041
+//        if(sealSignRecords!=null&&sealSignRecords.size()>0){
1042
+//            for (int i = 0; i < sealSignRecords.size(); i++) {
1043
+//                SealSignRecord sealSignRecord = sealSignRecords.get(i);
1044
+//                EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
1045
+//                JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
1046
+//                JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
1047
+//                JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
1048
+//                for (int j = 0; j < signersArray.size(); j++) {
1049
+//                    JsonObject signerObject = (JsonObject)signersArray.get(j);
1050
+//                    Integer psnsignStatus ;
1051
+//                    Integer orgsignStatus ;
1052
+//                    if(!(signerObject.get("psnSigner").toString()).equals("null")){
1053
+//                        JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
1054
+//                        if(psnSignerData!=null){
1055
+//                            psnsignStatus = signerObject.get("signStatus").getAsInt();
1056
+//                            sealSignRecord.setPsnsignStatus(psnsignStatus);
1057
+//
1058
+//                            if(psnsignStatus.intValue()==2){
1059
+//                                //更新立案申请状态为待用印
1060
+//                                CaseApplication caseApplication = new CaseApplication();
1061
+//                                caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
1062
+//                                caseApplicationMapper.submitCaseApplication(caseApplication);
1063
+//
1064
+//                                //修改"签署用印记录表"的状态为待用印
1065
+//                                sealSignRecord.setSignFlowStatus(2);
1066
+//                                sealSignRecordMapper.updataSealSignRecord(sealSignRecord);
1067
+//
1068
+//                            }
1069
+//                        }
1070
+//                    }
1071
+//                    if(!(signerObject.get("orgSigner").toString()).equals("null")){
1072
+//                        JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
1073
+//                        if(orgSignerData!=null){
1074
+//                            orgsignStatus = signerObject.get("signStatus").getAsInt();
1075
+//                            sealSignRecord.setOrgsignStatus(orgsignStatus);
1076
+//                            //更新立案申请状态为待送达
1077
+//                            CaseApplication caseApplication = new CaseApplication();
1078
+//                            caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
1079
+//                            caseApplicationMapper.submitCaseApplication(caseApplication);
1080
+//
1081
+//                            //修改"签署用印记录表"的状态为签署完成
1082
+//                            sealSignRecord.setSignFlowStatus(3);
1083
+//                            sealSignRecordMapper.updataSealSignRecord(sealSignRecord);
1084
+//
1085
+//                            //下载审核完成的裁决书,
1086
+////                    SaaSAPIFileUtils.fileDownloadUrl();
1087
+//
1088
+//                        }
1089
+//
1090
+//                    }
1091
+//
1092
+//                }
1093
+//
1094
+//            }
1095
+//
1096
+//        }
1181 1097
 
1182
-            }
1183 1098
 
1184
-        }
1185 1099
 
1186
-    }
1100
+//    }
1187 1101
 
1188 1102
 
1189 1103
 

+ 110
- 34
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java Просмотреть файл

@@ -6,65 +6,141 @@ import com.google.gson.JsonObject;
6 6
 import com.ruoyi.common.constant.CaseApplicationConstants;
7 7
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
8 8
 import com.ruoyi.common.exception.EsignDemoException;
9
-import com.ruoyi.common.utils.SignAward;
10
-import com.ruoyi.common.utils.bean.SealSignRecord;
11 9
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
10
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
12 11
 import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
12
+import com.ruoyi.wisdomarbitrate.mapper.SealSignRecordMapper;
13 13
 import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.scheduling.annotation.Scheduled;
15
+import org.springframework.stereotype.Component;
14 16
 
17
+import java.util.List;
18
+
19
+@Component
15 20
 public class FixSelectFlowDetailUtils {
16 21
 
17 22
     @Autowired
18 23
     private CaseApplicationMapper caseApplicationMapper;
24
+    @Autowired
25
+    private SealSignRecordMapper sealSignRecordMapper;
19 26
 
20
-
27
+    @Scheduled(cron = "0/3 * * * * ?")
21 28
     public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
22
-
23 29
         Gson gson = new Gson();
24 30
 
31
+        SealSignRecord sealSignRecordselect = new SealSignRecord();
32
+        sealSignRecordselect.setSignFlowStatus(1);
33
+
34
+        List<SealSignRecord> sealSignRecords = sealSignRecordMapper.selectSealSignRecordbyStat(sealSignRecordselect);
35
+        if(sealSignRecords!=null&&sealSignRecords.size()>0){
36
+            for (int i = 0; i < sealSignRecords.size(); i++) {
37
+                SealSignRecord sealSignRecord = sealSignRecords.get(i);
38
+                EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
39
+                JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
40
+                JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
41
+                JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
42
+
43
+                System.out.println("signFlowDetailJsonObject-----------"+signFlowDetailJsonObject.toString());
44
+
45
+                Integer psnsignStatus = null;
46
+                Integer orgsignStatus = null;
47
+                for (int j = 0; j < signersArray.size(); j++) {
48
+                    JsonObject signerObject = (JsonObject)signersArray.get(j);
49
+
50
+                    if(!(signerObject.get("psnSigner").toString()).equals("null")){
51
+                        JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
52
+                        if(psnSignerData!=null){
53
+                            psnsignStatus = signerObject.get("signStatus").getAsInt();
54
+                        }
55
+                    }
56
+                    if(!(signerObject.get("orgSigner").toString()).equals("null")){
57
+                        JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
58
+                        if(orgSignerData!=null){
59
+                            orgsignStatus = signerObject.get("signStatus").getAsInt();
60
+                        }
61
+                    }
25 62
 
63
+                }
26 64
 
27
-        SealSignRecord sealSignRecord = new SealSignRecord();
28
-        sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d");
29
-        EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
30
-        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
31
-        JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
32
-        JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
33
-        for (int i = 0; i < signersArray.size(); i++) {
34
-            JsonObject signerObject = (JsonObject)signersArray.get(i);
35
-            Integer psnsignStatus ;
36
-            Integer orgsignStatus ;
37
-            if(!(signerObject.get("psnSigner").toString()).equals("null")){
38
-                JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
39
-                if(psnSignerData!=null){
40
-                    psnsignStatus = signerObject.get("signStatus").getAsInt();
41
-                    sealSignRecord.setPsnsignStatus(psnsignStatus);
42
-
43
-                    if(psnsignStatus.intValue()==2){
44
-                        //更新立案申请状态为待用印
45
-                        CaseApplication caseApplication = new CaseApplication();
46
-                        caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
47
-                        caseApplicationMapper.submitCaseApplication(caseApplication);
65
+                System.out.println("psnsignStatus-----------"+psnsignStatus);
66
+                System.out.println("orgsignStatus-----------"+orgsignStatus);
48 67
 
68
+                if((psnsignStatus.intValue()==2)&&(orgsignStatus.intValue()==1)){
69
+                    //更新立案申请状态为待用印
70
+                    CaseApplication caseApplication = new CaseApplication();
71
+                    caseApplication.setId(sealSignRecord.getCaseAppliId());
72
+                    caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
73
+                    caseApplicationMapper.submitCaseApplication(caseApplication);
49 74
 
75
+                    //修改"签署用印记录表"的状态为待用印
76
+                    sealSignRecord.setSignFlowStatus(2);
77
+                    sealSignRecordMapper.updataSealSignRecord(sealSignRecord);
78
+                }
79
+                if((psnsignStatus.intValue()==2)&&(orgsignStatus.intValue()==2)){
80
+                    //更新立案申请状态为待送达
81
+                    CaseApplication caseApplication = new CaseApplication();
82
+                    caseApplication.setId(sealSignRecord.getCaseAppliId());
83
+                    caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
84
+                    caseApplicationMapper.submitCaseApplication(caseApplication);
50 85
 
51
-                    }
86
+                    //修改"签署用印记录表"的状态为签署完成
87
+                    sealSignRecord.setSignFlowStatus(3);
88
+                    sealSignRecordMapper.updataSealSignRecord(sealSignRecord);
52 89
 
90
+                    //下载审核完成的裁决书,
91
+//                  SaaSAPIFileUtils.fileDownloadUrl();
53 92
 
54 93
 
94
+                    
55 95
                 }
56 96
             }
57
-            if(!(signerObject.get("orgSigner").toString()).equals("null")){
58
-                JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
59
-                if(orgSignerData!=null){
60
-                    orgsignStatus = signerObject.get("signStatus").getAsInt();
61
-                    sealSignRecord.setOrgsignStatus(orgsignStatus);
62
-                }
63
-
64
-            }
65 97
 
66 98
         }
67 99
 
100
+//        Gson gson = new Gson();
101
+//
102
+//        SealSignRecord sealSignRecord = new SealSignRecord();
103
+//        sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d");
104
+//        EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
105
+//        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
106
+//        JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
107
+//        JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
108
+//        for (int i = 0; i < signersArray.size(); i++) {
109
+//            JsonObject signerObject = (JsonObject)signersArray.get(i);
110
+//            Integer psnsignStatus ;
111
+//            Integer orgsignStatus ;
112
+//            if(!(signerObject.get("psnSigner").toString()).equals("null")){
113
+//                JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
114
+//                if(psnSignerData!=null){
115
+//                    psnsignStatus = signerObject.get("signStatus").getAsInt();
116
+//                    sealSignRecord.setPsnsignStatus(psnsignStatus);
117
+//
118
+//                    if(psnsignStatus.intValue()==2){
119
+//                        //更新立案申请状态为待用印
120
+//                        CaseApplication caseApplication = new CaseApplication();
121
+//                        caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
122
+//                        caseApplicationMapper.submitCaseApplication(caseApplication);
123
+//
124
+//
125
+//
126
+//                    }
127
+//
128
+//
129
+//
130
+//                }
131
+//            }
132
+//            if(!(signerObject.get("orgSigner").toString()).equals("null")){
133
+//                JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
134
+//                if(orgSignerData!=null){
135
+//                    orgsignStatus = signerObject.get("signStatus").getAsInt();
136
+//                    sealSignRecord.setOrgsignStatus(orgsignStatus);
137
+//                }
138
+//
139
+//            }
140
+//
141
+//        }
142
+
143
+
68 144
     }
69 145
 
70 146
 

ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java → ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/SignAward.java Просмотреть файл

@@ -1,4 +1,4 @@
1
-package com.ruoyi.common.utils;
1
+package com.ruoyi.wisdomarbitrate.utils;
2 2
 
3 3
 import com.google.gson.Gson;
4 4
 import com.google.gson.JsonArray;
@@ -6,9 +6,10 @@ import com.google.gson.JsonObject;
6 6
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
7 7
 import com.ruoyi.common.enums.EsignRequestType;
8 8
 import com.ruoyi.common.exception.EsignDemoException;
9
-import com.ruoyi.common.utils.bean.SealSignRecord;
9
+import com.ruoyi.common.utils.EsignApplicaConfig;
10
+import com.ruoyi.common.utils.EsignHttpHelper;
11
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
10 12
 
11
-import java.util.HashMap;
12 13
 import java.util.Map;
13 14
 
14 15
 public class SignAward {
@@ -106,8 +107,8 @@ public class SignAward {
106 107
                 }
107 108
 
108 109
             }
109
-
110 110
         }
111
+
111 112
         System.out.println(signFlowDetailJsonObject);
112 113
 
113 114
 

+ 47
- 9
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml Просмотреть файл

@@ -3,14 +3,52 @@
3 3
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4 4
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5 5
 <mapper namespace="com.ruoyi.wisdomarbitrate.mapper.SealSignRecordMapper">
6
-    <insert id="insertSealSignRecord"  useGeneratedKeys="true" keyProperty="id">
7
-        INSERT INTO seal_sign_record (file_id, file_name, sign_flow_id , penson_account
8
-        ,penson_name,orgnize_name,org_name_psn_acc,org_name_psn_name,position_page_psn
9
-        ,position_xpsn,position_ypsn,position_pageorg,position_xorg,position_yorg,case_appli_id
10
-        ,sign_flow_status)
11
-        VALUES (#{fileid}, #{filename}, #{signFlowid},#{pensonAccount},#{pensonName},#{orgnizeName}
12
-        ,#{orgnizeNamePsnAccount},#{orgnizeNamepsnName},#{positionPagepsn},#{positionXpsn},#{positionYpsn}
13
-        ,#{positionPageorg},#{positionXorg},#{positionYorg},#{caseAppliId},#{signFlowStatus})
14
-    </insert>
6
+
7
+    <resultMap type="SealSignRecord" id="SealSignRecordResult">
8
+        <id     property="id"       column="id"      />
9
+        <result property="caseAppliId"       column="case_appli_id"      />
10
+        <result property="fileid"     column="file_id"    />
11
+        <result property="signFlowid"     column="sign_flow_id"    />
12
+        <result property="signFlowStatus"        column="sign_flow_status"        />
13
+
14
+        <result property="pensonAccount"        column="penson_account"        />
15
+        <result property="orgnizeName"        column="orgnize_name"        />
16
+        <result property="orgnizeNamePsnAccount"        column="orgn_name_psn_acc"        />
17
+
18
+    </resultMap>
19
+
20
+    <select id="selectSealSignRecord" parameterType="SealSignRecord" resultMap="SealSignRecordResult">
21
+        SELECT s.id ,s.case_appli_id ,s.file_id ,s.sign_flow_id,s.penson_account ,s.orgnize_name ,s.orgn_name_psn_acc
22
+        from seal_sign_record s
23
+        <where>
24
+            <if test="signFlowStatus != null ">
25
+                AND s.sign_flow_status  = #{signFlowStatus}
26
+            </if>
27
+            <if test="caseAppliId != null ">
28
+                AND s.case_appli_id  = #{caseAppliId}
29
+            </if>
30
+        </where>
31
+    </select>
32
+
33
+    <select id="selectSealSignRecordbyStat" parameterType="SealSignRecord" resultMap="SealSignRecordResult">
34
+        SELECT s.id ,s.case_appli_id ,s.file_id ,s.sign_flow_id
35
+        from seal_sign_record s
36
+        where s.sign_flow_status  in (1,2)
37
+    </select>
38
+
39
+    <update id="updataSealSignRecord" parameterType="SealSignRecord">
40
+        update seal_sign_record
41
+        <set>
42
+            <if test="signFlowStatus != null">sign_flow_status = #{signFlowStatus}</if>
43
+        </set>
44
+        where id = #{id}
45
+    </update>
46
+
47
+
48
+
49
+
50
+
51
+
52
+
15 53
 
16 54
 </mapper>