diff --git a/src/com/tenwa/app/manage/util/KHSQContractSignActionTwoUtil.java b/src/com/tenwa/app/manage/util/KHSQContractSignActionTwoUtil.java index deb2073d3..3a7851fa7 100644 --- a/src/com/tenwa/app/manage/util/KHSQContractSignActionTwoUtil.java +++ b/src/com/tenwa/app/manage/util/KHSQContractSignActionTwoUtil.java @@ -9,6 +9,8 @@ import java.util.List; import java.util.Map; import java.util.ResourceBundle; +import com.qiyuesuo.sdk.v2.utils.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -555,17 +557,37 @@ public class KHSQContractSignActionTwoUtil { } return "合同下载成功!"; } - - public String messageSend(String subjectId,Long signContractId){ - SdkClient client = this.getSdkClient(subjectId); - ContractNoticeRequest request = new ContractNoticeRequest(signContractId); - String response = client.service(request); - SdkResponse responseObj = JSONUtils.toQysResponse(response); - if(responseObj.getCode() == 0) { - return "success"; - } else { - System.out.println("短信重发失败:"+responseObj.getCode()+":"+responseObj.getMessage()); - return responseObj.getMessage(); - } + + /** + * 合同催签 + * @param subjectId + * @param signContractId + * @return + */ + public String messageSend(String subjectId,Long signContractId) throws Exception{ + Contract contract = this.getContract(subjectId, signContractId).getResult(); + logger.info("messageSend#20210521 查询合同信息 contract=" + JSONUtils.toJson(contract)); + if("COMPLETE".equals(contract.getStatus())){ + logger.info("messageSend#20210521 查询合同信息已签约完成。"); + return "success"; + } + List signatories = contract.getSignatories(); + if(CollectionUtils.isNotEmpty(signatories)) { + SdkClient client = this.getSdkClient(subjectId); + for (Signatory signatory : signatories) { + if (StringUtils.isNotEmpty(signatory.getTenantType()) && "PERSONAL".equals(signatory.getTenantType()) + && StringUtils.isNotEmpty(signatory.getStatus()) && "SIGNING".equals(signatory.getStatus())) { + logger.info("messageSend#20210521 当前客户状态签署中,重新发送短信。signatory=" + JSONUtils.toJson(signatory)); + ContractNoticeRequest request = new ContractNoticeRequest(signContractId); + request.setSigantoryId(signatory.getId()); + String response = client.service(request); + SdkResponse responseObj = JSONUtils.toQysResponse(response); + logger.info("messageSend#20210521 重新发送短信返回。response=" + response); + logger.info("messageSend#20210521 重新发送短信返回。response=" + +responseObj.getCode()+":"+responseObj.getMessage()); + + } + } + } + return "success"; } }