增加合同发起签署测试

This commit is contained in:
Jack 2025-03-09 01:16:05 +08:00
parent fd04445418
commit 66c4dc5065
3 changed files with 32 additions and 6 deletions

View File

@ -47,6 +47,9 @@ public class EsignContractFillingFile implements Serializable {
@ApiModelProperty(value = "模版填充json键值对数据")
private String doc_template_filling_values;
@ApiModelProperty(value = "填充后生成的文件ID")
private String file_id;
@ApiModelProperty(value = "生成的未签署合同地址30天有效期")
private String unsigned_contract_url;

View File

@ -265,6 +265,7 @@ public class EsignContractFillingFileServiceImpl extends BaseServiceImpl<EsignCo
// 上传到cos服务器
String localFileUrl = ossService.uploadObject4OSS(esignContractFillingFile.getUnsigned_contract_url(), cosFileName);
esignContractFillingFile.setUnsigned_contract_local_url(localFileUrl);
esignContractFillingFile.setFile_id(jsonObject.getStr("fileId"));
esignContractFillingFile.setDoc_template_id(templateId);
esignContractFillingFile.setContract_number(contractNumber + seq);

View File

@ -8,22 +8,44 @@
package com.suisung.mall.shop.esign.service.impl;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.suisung.mall.common.modules.esign.EsignContract;
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
import com.suisung.mall.shop.esign.mapper.EsignContractMapper;
import com.suisung.mall.shop.esign.service.EsignContractService;
import com.suisung.mall.shop.esign.utils.comm.EsignHttpHelper;
import com.suisung.mall.shop.esign.utils.enums.EsignRequestType;
import com.suisung.mall.shop.esign.utils.exception.EsignDemoException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class EsignContractServiceImpl extends BaseServiceImpl<EsignContractMapper, EsignContract> implements EsignContractService {
@Value("${esign.server_url}")
private String serverUrl;
@Value("${esign.app_id}")
private String appId;
@Value("${esign.app_secret}")
private String appSecret;
@Override
public Object signFlowCreateByFile() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("docs", new JSONArray() {
});
return null;
String jsonParm = "{'docs':[{'fileId':'14042f4bf8ce4fc9ba798906c16c0333','fileName':'平台商户入驻合同协议.pdf'}],'signFlowConfig':{'signFlowTitle':'平台商户入驻合同协议','signFlowExpireTime':169111118000,'autoFinish':true,'notifyUrl':'https://mall.gpxscs.cn/asyn/notify','redirectConfig':{'redirectUrl':'https://mall.gpxscs.cn/'}},'signers':[{'signConfig':{'signOrder':1},'noticeConfig':{'noticeTypes':'1'},'signerType':0,'psnSignerInfo':{'psnAccount':'13128997057','psnInfo':{'psnName':'谢能坤'}},'signFields':[{'customBizNum':'0987654321','fileId':'14042f4bf8ce4fc9ba798906c16c0333','normalSignFieldConfig':{'signFieldStyle':1}}]},{'signConfig':{'signOrder':2},'signerType':1,'signFields':[{'customBizNum':'1234567890','fileId':'14042f4bf8ce4fc9ba798906c16c0333','normalSignFieldConfig':{'autoSign':true,'signFieldStyle':1}}]}]}";
String apiaddr = "/v3/sign-flow/create-by-file";
//请求方法
EsignRequestType requestType = EsignRequestType.POST;
try {
Map<String, String> header = EsignHttpHelper.signAndBuildSignAndJsonHeader(appId, appSecret, jsonParm, requestType.name(), apiaddr, true);
//发起接口请求
return EsignHttpHelper.doCommHttp(serverUrl, apiaddr, requestType, jsonParm, header, true);
} catch (EsignDemoException e) {
throw new RuntimeException(e);
}
}
}