|
|
@@ -54,7 +54,7 @@ public class EqbServiceImpl implements EqbService {
|
|
|
private static final long FILE_STATUS_POLL_INTERVAL_MILLIS = 3000;
|
|
|
private static final long FILE_STATUS_POLL_TIMEOUT_MILLIS = 90000;
|
|
|
private static final String TEMPORARY_URL_ATTACHMENT_FIELD = "attachmentField_mrkcwgh7";
|
|
|
- private static final String DIRECT_URL_ATTACHMENT_FIELD = "attachmentField_msv7rz7m";
|
|
|
+ private static final String DIRECT_URL_ATTACHMENT_FIELD = "attachmentField_mr1tqpgz";
|
|
|
private static final List<String> FORM_SIGNER_PARTIES =
|
|
|
Collections.unmodifiableList(Arrays.asList("甲方", "乙方"));
|
|
|
private static final String OUR_PARTY = "乙方";
|
|
|
@@ -220,7 +220,7 @@ public class EqbServiceImpl implements EqbService {
|
|
|
FormAttachment attachment = attachments.get(i);
|
|
|
stage = "下载附件:" + attachment.fileName;
|
|
|
String downloadUrl = attachment.downloadUrl;
|
|
|
- if (TEMPORARY_URL_ATTACHMENT_FIELD.equals(attachment.fieldId)) {
|
|
|
+ if (DIRECT_URL_ATTACHMENT_FIELD.equals(attachment.fieldId)) {
|
|
|
// 宜搭原生附件需先换取临时免登地址,第二个组件直接使用其下载地址。
|
|
|
downloadUrl = ydClient.convertTemporaryUrl(downloadUrl, appType, systemToken);
|
|
|
if (!hasText(downloadUrl)) {
|
|
|
@@ -262,15 +262,15 @@ public class EqbServiceImpl implements EqbService {
|
|
|
fileResult.put("signFlowId", signFlowId);
|
|
|
fileResult.put("status", "SIGN_FLOW_CREATED");
|
|
|
}
|
|
|
- ydClient.operateData(YDParam.builder()
|
|
|
- .appType(appType)
|
|
|
- .systemToken(systemToken)
|
|
|
-// .formInstanceId(request.getInstanceId())
|
|
|
- .formUuid("FORM-3C73F8BB960244DE841E2DFD6B0A2818V7H5")
|
|
|
-// .useLatestVersion(true)
|
|
|
- .formDataJson(JSON.toJSONString(UtilMap.map("textField_mte3s2rf, textField_mte6b6fs, radioField_mte6b6fw",
|
|
|
- signFlowId, formInstance, "否")))
|
|
|
- .build(), YDConf.FORM_OPERATION.create);
|
|
|
+// ydClient.operateData(YDParam.builder()
|
|
|
+// .appType(appType)
|
|
|
+// .systemToken(systemToken)
|
|
|
+//// .formInstanceId(request.getInstanceId())
|
|
|
+// .formUuid("FORM-3C73F8BB960244DE841E2DFD6B0A2818V7H5")
|
|
|
+//// .useLatestVersion(true)
|
|
|
+// .formDataJson(JSON.toJSONString(UtilMap.map("textField_mte3s2rf, textField_mte6b6fs, radioField_mte6b6fw",
|
|
|
+// signFlowId, formInstance, "否")))
|
|
|
+// .build(), YDConf.FORM_OPERATION.create);
|
|
|
return McR.success(resultData);
|
|
|
} catch (Exception e) {
|
|
|
LOG.error("宜搭附件处理失败,阶段:{}", stage, e);
|
|
|
@@ -366,8 +366,8 @@ public class EqbServiceImpl implements EqbService {
|
|
|
protected JSONArray buildFormSigners(String formUuid, Map formData) {
|
|
|
|
|
|
JSONArray signers = new JSONArray();
|
|
|
- String jName = UtilMap.getString(formData,"textField_mtwp487f");
|
|
|
- String jPhone = UtilMap.getString(formData,"textField_mtwp487g");
|
|
|
+ String jName = UtilMap.getString(formData,"textField_e6og3c9");
|
|
|
+ String jPhone = UtilMap.getString(formData,"textField_ismg45u");
|
|
|
String yName = UtilMap.getString(formData,"textField_mtwp487i");
|
|
|
String yPhone = UtilMap.getString(formData,"textField_mtwp487h");
|
|
|
for (Map<String, String> party : extractFormPartyNumbers(formUuid, formData)) {
|
|
|
@@ -375,29 +375,29 @@ public class EqbServiceImpl implements EqbService {
|
|
|
boolean isOurParty = OUR_PARTY.equals(partyName);
|
|
|
String signerName = "甲方".equals(partyName) ? jName : yName;
|
|
|
String signerPhone = "甲方".equals(partyName) ? jPhone : yPhone;
|
|
|
- List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
|
- .appType(appType)
|
|
|
- .systemToken(systemToken)
|
|
|
- .formUuid("FORM-B7DBC8CA2A284FDC9F38E814CC043B17DIMN")
|
|
|
- .searchFieldJson(JSON.toJSONString(UtilMap.map("serialNumberField_mrlipwdo", party.get("partyNumber"))))
|
|
|
- .build());
|
|
|
- // 同一编号不能任取一条,避免登记信息缺失或重复时绑定错误签署主体。
|
|
|
- if (dataList == null) {
|
|
|
- throw new IllegalStateException(partyName + "相对方登记查询未返回数据");
|
|
|
- }
|
|
|
- if (dataList.isEmpty()) {
|
|
|
- throw new IllegalArgumentException(partyName + "编号未查到相对方登记记录");
|
|
|
- }
|
|
|
- if (dataList.size() != 1 || dataList.get(0) == null) {
|
|
|
- throw new IllegalArgumentException(partyName + "编号必须对应唯一一条相对方登记记录");
|
|
|
- }
|
|
|
- Map data = dataList.get(0);
|
|
|
- String type = requirePartyText(data, "radioField_ms4kbtdz", partyName, "相对方类型");
|
|
|
- String name = requirePartyText(data, "textField_mrlipwdn", partyName, "名称");
|
|
|
- String idCardNum = requirePartyText(data, "textField_mrlipwdt", partyName, "证件号码");
|
|
|
+// List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+// .appType(appType)
|
|
|
+// .systemToken(systemToken)
|
|
|
+// .formUuid("FORM-B7DBC8CA2A284FDC9F38E814CC043B17DIMN")
|
|
|
+// .searchFieldJson(JSON.toJSONString(UtilMap.map("serialNumberField_mrlipwdo", party.get("partyNumber"))))
|
|
|
+// .build());
|
|
|
+// // 同一编号不能任取一条,避免登记信息缺失或重复时绑定错误签署主体。
|
|
|
+// if (dataList == null) {
|
|
|
+// throw new IllegalStateException(partyName + "相对方登记查询未返回数据");
|
|
|
+// }
|
|
|
+// if (dataList.isEmpty()) {
|
|
|
+// throw new IllegalArgumentException(partyName + "编号未查到相对方登记记录");
|
|
|
+// }
|
|
|
+// if (dataList.size() != 1 || dataList.get(0) == null) {
|
|
|
+// throw new IllegalArgumentException(partyName + "编号必须对应唯一一条相对方登记记录");
|
|
|
+// }
|
|
|
+// Map data = dataList.get(0);
|
|
|
+// String type = requirePartyText(data, "radioField_ms4kbtdz", partyName, "相对方类型");
|
|
|
+// String name = requirePartyText(data, "textField_mrlipwdn", partyName, "名称");
|
|
|
+// String idCardNum = requirePartyText(data, "textField_mrlipwdt", partyName, "证件号码");
|
|
|
// String legalPerson = requirePartyText(data, "textField_ms4js5qb", partyName, "法人代表");
|
|
|
JSONObject signer = new JSONObject();
|
|
|
- if ("相对方登记自然人".equals(type)) {
|
|
|
+ if ("甲方".equals(partyName)) {
|
|
|
signer.put("signerType", 0);
|
|
|
JSONObject psnInfo = new JSONObject();
|
|
|
// psnInfo.put("psnName", name);
|
|
|
@@ -413,9 +413,9 @@ public class EqbServiceImpl implements EqbService {
|
|
|
signer.put("signerType", 1);
|
|
|
JSONObject orgInfo = new JSONObject();
|
|
|
orgInfo.put("orgIDCardType", "CRED_ORG_USCC");
|
|
|
- orgInfo.put("orgIDCardNum", idCardNum);
|
|
|
+ orgInfo.put("orgIDCardNum", "91310106MAEC5CTQ0A");
|
|
|
JSONObject orgSignerInfo = new JSONObject();
|
|
|
- orgSignerInfo.put("orgName", name);
|
|
|
+ orgSignerInfo.put("orgName", "上海深度智联科技有限公司");
|
|
|
orgSignerInfo.put("orgInfo", orgInfo);
|
|
|
if (!isOurParty) {
|
|
|
JSONObject psnInfo = new JSONObject();
|
|
|
@@ -444,6 +444,9 @@ public class EqbServiceImpl implements EqbService {
|
|
|
}
|
|
|
JSONObject field = new JSONObject();
|
|
|
field.put("normalSignFieldConfig", fieldConfig);
|
|
|
+ if (isOurParty){
|
|
|
+
|
|
|
+ }
|
|
|
field.put(INTERNAL_SIGN_KEYWORD, getSignKeyword(partyName));
|
|
|
return field;
|
|
|
}
|
|
|
@@ -1176,7 +1179,7 @@ public class EqbServiceImpl implements EqbService {
|
|
|
}
|
|
|
// 连接及发送请求后扣除已耗时间,读取响应时继续使用剩余预算。
|
|
|
connection.setReadTimeout(remainingRequestMillis(deadline));
|
|
|
- String responseMessage = connection.getResponseMessage();
|
|
|
+ String responseMessage = connection.getResponseMessage();
|
|
|
int status = connection.getResponseCode();
|
|
|
if (status < 200 || status >= 300) {
|
|
|
throw new IOException("HTTP状态码:" + status);
|