缴费详情 #99

Merged
wangqiong123 merged 276 commits from dev into master 2023-10-15 15:02:30 +00:00
6 changed files with 240 additions and 36 deletions
Showing only changes of commit a9c86dc6dc - Show all commits
@@ -8,6 +8,7 @@ import com.ruoyi.common.enums.EsignRequestType;
import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.utils.bean.SealSignRecord; import com.ruoyi.common.utils.bean.SealSignRecord;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class SignAward { public class SignAward {
@@ -56,11 +57,11 @@ public class SignAward {
// System.err.println("流程id:"+signFlowId); // System.err.println("流程id:"+signFlowId);
/* 获取文件签名印章位置*/ /* 获取文件签名印章位置*/
EsignHttpResponse positions = getPositions(sealSignRecord); // EsignHttpResponse positions = getPositions(sealSignRecord);
JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class); // JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class);
JsonObject positionsData = positionsJsonObject.getAsJsonObject("data"); // JsonObject positionsData = positionsJsonObject.getAsJsonObject("data");
JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray(); // JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray();
System.out.println("获取文件签名印章位置:" +keywordPositions.toString()); // System.out.println("获取文件签名印章位置:" +keywordPositions.toString());
// String signFlowId = "c9955453716344f9971d308abdc13464"; // String signFlowId = "c9955453716344f9971d308abdc13464";
//获取合同文件签名链接 //获取合同文件签名链接
@@ -82,13 +83,38 @@ public class SignAward {
// System.out.println("签署短链接:"+sealUrl); // System.out.println("签署短链接:"+sealUrl);
//查询签署流程详情 //查询签署流程详情
// EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord); EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord);
// JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
// System.out.println(signFlowDetailJsonObject); 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 * @return
@@ -25,6 +25,26 @@ public class SealSignRecord extends BaseEntity {
private String orgnizeNamepsnName; private String orgnizeNamepsnName;
/** 流程状态 */ /** 流程状态 */
private Integer signFlowStatus; 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() { public Integer getSignFlowStatus() {
return signFlowStatus; return signFlowStatus;
@@ -0,0 +1,6 @@
package com.ruoyi.wisdomarbitrate.mapper;
public interface SealSignRecordMapper {
}
@@ -4,12 +4,17 @@ package com.ruoyi.wisdomarbitrate.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; 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.annotation.DataScope;
import com.ruoyi.common.constant.CaseApplicationConstants; 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.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.common.utils.SignAward;
import com.ruoyi.common.utils.bean.SealSignRecord;
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils; import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SmsUtils; import com.ruoyi.common.utils.SmsUtils;
@@ -41,7 +46,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
private CaseAffiliateMapper caseAffiliateMapper; private CaseAffiliateMapper caseAffiliateMapper;
@Autowired @Autowired
private SysUserMapper sysUserMapper; private ArbitratorMapper arbitratorMapper;
@Autowired @Autowired
private ArbitrateRecordMapper arbitrateRecordMapper; private ArbitrateRecordMapper arbitrateRecordMapper;
@@ -89,7 +94,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
caseAffiliate.setCaseAppliId(caseApplication.getId()); caseAffiliate.setCaseAppliId(caseApplication.getId());
if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) { if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
// 将组织机构id设为申请人名称 // 将组织机构id设为申请人名称
if (deptMap.containsKey(caseAffiliate.getName())) { if (deptMap.containsKey(caseApplication.getName())) {
caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName()))); caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
} else { } else {
// 如果不存在则新增 // 如果不存在则新增
@@ -172,7 +177,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
caseAffiliate.setCaseAppliId(caseApplication.getId()); caseAffiliate.setCaseAppliId(caseApplication.getId());
if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) { if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
// 将组织机构id设为申请人名称 // 将组织机构id设为申请人名称
if (deptMap.containsKey(caseAffiliate.getName())) { if (deptMap.containsKey(caseApplication.getName())) {
caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName()))); caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
} else { } else {
// 如果不存在则新增 // 如果不存在则新增
@@ -656,7 +661,6 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
rows = caseApplicationMapper.submitCaseApplication(caseApplication); rows = caseApplicationMapper.submitCaseApplication(caseApplication);
}else { }else {
List<Arbitrator> arbitrators = caseApplication.getArbitrators(); List<Arbitrator> arbitrators = caseApplication.getArbitrators();
// 仲裁员信息
if(arbitrators!=null&&arbitrators.size()>0){ if(arbitrators!=null&&arbitrators.size()>0){
List<Long> ids = arbitrators.stream().map(Arbitrator::getId).collect(Collectors.toList()); List<Long> ids = arbitrators.stream().map(Arbitrator::getId).collect(Collectors.toList());
List<String> arbitratorNames = arbitrators.stream().map(Arbitrator::getArbitratorName).collect(Collectors.toList()); List<String> arbitratorNames = arbitrators.stream().map(Arbitrator::getArbitratorName).collect(Collectors.toList());
@@ -807,32 +811,27 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
String hearDatestr = dateFormat.format(hearDate); String hearDatestr = dateFormat.format(hearDate);
String arbitratorId = caseApplicationselect.getArbitratorId(); String arbitratorId = caseApplicationselect.getArbitratorId();
// List<Arbitrator> arbitratorList = new ArrayList<>(); List<Arbitrator> arbitratorList = new ArrayList<>();
if(StringUtils.isNotEmpty(arbitratorId)){ if(StringUtils.isNotEmpty(arbitratorId)){
String[] idStrList = arbitratorId.split(","); String[] idStrList = arbitratorId.split(",");
List<Long> idList = new ArrayList<>(); List<Long> idList = new ArrayList<>();
for(int i = 0;i < idStrList.length;i ++ ){ for(int i = 0;i < idStrList.length;i ++ ){
idList.add(Long.parseLong(idStrList[i])); idList.add(Long.parseLong(idStrList[i]));
} }
// Arbitrator arbitrator = new Arbitrator();
arbitrator.setIdList(idList);
// 查询仲裁员电话号 arbitratorList = arbitratorMapper.selectArbitratorList(arbitrator);
List<SysUser> userList= sysUserMapper.selectUserListByIds(idList); if(arbitratorList!=null) {
if(CollectionUtil.isNotEmpty(userList)) { for (int i = 0; i < arbitratorList.size(); i++) {
for (SysUser user : userList) { Arbitrator arbitratorselect = arbitratorList.get(i);
//给仲裁员发送短信通知 //给仲裁员发送短信通知
request.setPhone(user.getPhonenumber()); request.setPhone(arbitratorselect.getTelephone());
// 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
String name = user.getNickName(); String name = arbitratorselect.getArbitratorName();
request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr});
SmsUtils.sendSms(request); SmsUtils.sendSms(request);
} }
} }
} }
CaseAffiliate caseAffiliate = new CaseAffiliate(); CaseAffiliate caseAffiliate = new CaseAffiliate();
@@ -854,9 +853,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
if(StrUtil.isNotEmpty(caseAffiliateselect.getName())&&deptMap.containsKey(caseAffiliateselect.getName())){ if(StrUtil.isNotEmpty(caseAffiliateselect.getName())&&deptMap.containsKey(caseAffiliateselect.getName())){
caseAffiliateselect.setName(deptMap.get(caseAffiliateselect.getName())); caseAffiliateselect.setName(deptMap.get(caseAffiliateselect.getName()));
} }
}
caseAffiliateselect.setName(caseAffiliateselect.getName());; caseAffiliateselect.setName(caseAffiliateselect.getName());;
}
//给申请人、被申请人发送短信通知 //给申请人、被申请人发送短信通知
request.setPhone(caseAffiliateselect.getContactTelphone()); request.setPhone(caseAffiliateselect.getContactTelphone());
// 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
@@ -993,4 +991,66 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable()); 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();
}
}
}
}
} }
@@ -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);
}
}
}
}
}
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.wisdomarbitrate.mapper.SealSignRecordMapper">
</mapper>