From bcc07b181df3220685d88e142b3a39e61a45a1b5 Mon Sep 17 00:00:00 2001 From: qitz <18810291185@163.com> Date: Thu, 12 Oct 2023 17:20:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=AE=9A=E6=97=B6=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=B5=81=E7=A8=8B=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/utils/SignAward.java | 42 +++++++++-- .../common/utils/bean/SealSignRecord.java | 20 +++++ .../mapper/SealSignRecordMapper.java | 6 ++ .../impl/CaseApplicationServiceImpl.java | 69 +++++++++++++++++ .../utils/FixSelectFlowDetailUtils.java | 75 +++++++++++++++++++ .../wisdomarbitrate/SealSignRecordMapper.xml | 17 +++++ 6 files changed, 221 insertions(+), 8 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java create mode 100644 ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java index 5301908..0d1b51b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java @@ -8,6 +8,7 @@ import com.ruoyi.common.enums.EsignRequestType; import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.utils.bean.SealSignRecord; +import java.util.HashMap; import java.util.Map; public class SignAward { @@ -56,11 +57,11 @@ public class SignAward { // System.err.println("流程id:"+signFlowId); /* 获取文件签名印章位置*/ - EsignHttpResponse positions = getPositions(sealSignRecord); - JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class); - JsonObject positionsData = positionsJsonObject.getAsJsonObject("data"); - JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray(); - System.out.println("获取文件签名印章位置:" +keywordPositions.toString()); +// EsignHttpResponse positions = getPositions(sealSignRecord); +// JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class); +// JsonObject positionsData = positionsJsonObject.getAsJsonObject("data"); +// JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray(); +// System.out.println("获取文件签名印章位置:" +keywordPositions.toString()); // String signFlowId = "c9955453716344f9971d308abdc13464"; //获取合同文件签名链接 @@ -82,13 +83,38 @@ public class SignAward { // System.out.println("签署短链接:"+sealUrl); //查询签署流程详情 -// EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord); -// JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); -// System.out.println(signFlowDetailJsonObject); + EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord); + JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); + JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data"); + JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray(); + for (int i = 0; i < signersArray.size(); i++) { + JsonObject signerObject = (JsonObject)signersArray.get(i); + Integer psnsignStatus ; + Integer orgsignStatus ; + if(!(signerObject.get("psnSigner").toString()).equals("null")){ + JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner"); + if(psnSignerData!=null){ + psnsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setPsnsignStatus(psnsignStatus); + } + } + if(!(signerObject.get("orgSigner").toString()).equals("null")){ + JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner"); + if(orgSignerData!=null){ + orgsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setOrgsignStatus(orgsignStatus); + } + + } + + } + System.out.println(signFlowDetailJsonObject); } + + /** * 查询签署流程详情 * @return diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java index e0bffa9..1a25561 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java @@ -25,6 +25,26 @@ public class SealSignRecord extends BaseEntity { private String orgnizeNamepsnName; /** 流程状态 */ private Integer signFlowStatus; + /** 签名状态 */ + private Integer psnsignStatus; + /** 用印状态 */ + private Integer orgsignStatus; + + public Integer getPsnsignStatus() { + return psnsignStatus; + } + + public void setPsnsignStatus(Integer psnsignStatus) { + this.psnsignStatus = psnsignStatus; + } + + public Integer getOrgsignStatus() { + return orgsignStatus; + } + + public void setOrgsignStatus(Integer orgsignStatus) { + this.orgsignStatus = orgsignStatus; + } public Integer getSignFlowStatus() { return signFlowStatus; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java new file mode 100644 index 0000000..98be91c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java @@ -0,0 +1,6 @@ +package com.ruoyi.wisdomarbitrate.mapper; + +public interface SealSignRecordMapper { + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java index 6e14b34..e8aed6c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java @@ -4,10 +4,17 @@ package com.ruoyi.wisdomarbitrate.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.CaseApplicationConstants; +import com.ruoyi.common.core.domain.entity.EsignHttpResponse; import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SignAward; +import com.ruoyi.common.utils.bean.SealSignRecord; import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SmsUtils; @@ -984,4 +991,66 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable()); } + @Transactional + public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException { + + Gson gson = new Gson(); + + + + SealSignRecord sealSignRecord = new SealSignRecord(); + sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d"); + EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord); + JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); + JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data"); + JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray(); + for (int i = 0; i < signersArray.size(); i++) { + JsonObject signerObject = (JsonObject)signersArray.get(i); + Integer psnsignStatus ; + Integer orgsignStatus ; + if(!(signerObject.get("psnSigner").toString()).equals("null")){ + JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner"); + if(psnSignerData!=null){ + psnsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setPsnsignStatus(psnsignStatus); + + if(psnsignStatus.intValue()==2){ + //更新立案申请状态为待用印 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL); + caseApplicationMapper.submitCaseApplication(caseApplication); + + //修改"签署用印记录表"的状态为待用印 + + } + } + } + if(!(signerObject.get("orgSigner").toString()).equals("null")){ + JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner"); + if(orgSignerData!=null){ + orgsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setOrgsignStatus(orgsignStatus); + //更新立案申请状态为待送达 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY); + caseApplicationMapper.submitCaseApplication(caseApplication); + + //修改"签署用印记录表"的状态为签署完成 + + //下载审核完成的裁决书, +// SaaSAPIFileUtils.fileDownloadUrl(); + + } + + } + + } + + } + + + + + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java new file mode 100644 index 0000000..37c64d0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java @@ -0,0 +1,75 @@ +package com.ruoyi.wisdomarbitrate.utils; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.ruoyi.common.constant.CaseApplicationConstants; +import com.ruoyi.common.core.domain.entity.EsignHttpResponse; +import com.ruoyi.common.exception.EsignDemoException; +import com.ruoyi.common.utils.SignAward; +import com.ruoyi.common.utils.bean.SealSignRecord; +import com.ruoyi.wisdomarbitrate.domain.CaseApplication; +import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper; +import org.springframework.beans.factory.annotation.Autowired; + +public class FixSelectFlowDetailUtils { + + @Autowired + private CaseApplicationMapper caseApplicationMapper; + + + public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException { + + Gson gson = new Gson(); + + + + SealSignRecord sealSignRecord = new SealSignRecord(); + sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d"); + EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord); + JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); + JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data"); + JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray(); + for (int i = 0; i < signersArray.size(); i++) { + JsonObject signerObject = (JsonObject)signersArray.get(i); + Integer psnsignStatus ; + Integer orgsignStatus ; + if(!(signerObject.get("psnSigner").toString()).equals("null")){ + JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner"); + if(psnSignerData!=null){ + psnsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setPsnsignStatus(psnsignStatus); + + if(psnsignStatus.intValue()==2){ + //更新立案申请状态为待用印 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL); + caseApplicationMapper.submitCaseApplication(caseApplication); + + + + } + + + + } + } + if(!(signerObject.get("orgSigner").toString()).equals("null")){ + JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner"); + if(orgSignerData!=null){ + orgsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setOrgsignStatus(orgsignStatus); + } + + } + + } + + } + + + + + + +} diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml new file mode 100644 index 0000000..43b0ac9 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file -- 2.54.0