From 9073d753e6535ed38bbbce2078eb408f59c14daf Mon Sep 17 00:00:00 2001 From: qitz <18810291185@163.com> Date: Sun, 4 Feb 2024 14:59:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=AD=BE=E5=90=8D=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mscase/MsSignSealController.java | 40 +++++++ .../service/mscase/MsSignSealService.java | 6 + .../impl/MsCaseApplicationServiceImpl.java | 36 +++++- .../mscase/impl/MsSignSealServiceImpl.java | 105 ++++++++++++++++++ 4 files changed, 181 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsSignSealController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsSignSealController.java index 06a2107..eaf13c5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsSignSealController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsSignSealController.java @@ -102,6 +102,46 @@ public class MsSignSealController extends BaseController { return msSignSealService.msCaseSign(dto); } + /** + * PC端申请人签名 + * @param dto + * @return + */ + @PostMapping("/msCaseSignUrlApplyPC") + public AjaxResult msCaseSignUrlApplyPC(@RequestBody MsSignSealDTO dto) throws EsignDemoException { + if (dto.getCaseId() == null) { + return error("参数校验失败"); + } + return msSignSealService.msCaseSignUrlApplyPC(dto); + } + + /** + * PC端被申请人签名 + * @param dto + * @return + */ + @PostMapping("/msCaseSignUrlResPC") + public AjaxResult msCaseSignUrlResPC(@RequestBody MsSignSealDTO dto) throws EsignDemoException { + if (dto.getCaseId() == null) { + return error("参数校验失败"); + } + return msSignSealService.msCaseSignUrlResPC(dto); + } + + + /** + * 小程序端申请人签名 + * @param dto + * @return + */ + @PostMapping("/msCaseSignUrlApplyAPP") + public AjaxResult msCaseSignUrlApplyAPP(@RequestBody MsSignSealDTO dto) throws EsignDemoException { + if (dto.getCaseId() == null) { + return error("参数校验失败"); + } + return msSignSealService.msCaseSignUrlApplyAPP(dto); + } + diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/MsSignSealService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/MsSignSealService.java index bfb0304..77d449e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/MsSignSealService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/MsSignSealService.java @@ -26,4 +26,10 @@ public interface MsSignSealService { AjaxResult msCaseFile(List ids); AjaxResult msCaseSign(MsSignSealDTO dto); + + AjaxResult msCaseSignUrlApplyPC(MsSignSealDTO dto) throws EsignDemoException; + + AjaxResult msCaseSignUrlResPC(MsSignSealDTO dto) throws EsignDemoException; + + AjaxResult msCaseSignUrlApplyAPP(MsSignSealDTO dto) throws EsignDemoException; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsCaseApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsCaseApplicationServiceImpl.java index 6e4b946..594bce6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsCaseApplicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsCaseApplicationServiceImpl.java @@ -1475,7 +1475,14 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService { SealSignRecord sealSignRecordapply = new SealSignRecord(); sealSignRecordapply.setSignFlowid(signFlowId); - sealSignRecordapply.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + + String nameAgent = caseAffiliate.getNameAgent(); + if(StringUtils.isNotBlank(nameAgent)){ + sealSignRecordapply.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + }else { + sealSignRecordapply.setPensonAccount(caseAffiliate.getApplicationPhone()); + } + EsignHttpResponse signUrl = SignAward.signUrlMediation(sealSignRecordapply); JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class); JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data"); @@ -1485,8 +1492,13 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService { //发送签名链接短信,尊敬的{1}用户,您的{2}调解案件,签名链接{3},请点击链接签名,如非本人操作,请忽略本短信 SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); request.setTemplateId("2047719"); - request.setPhone(caseAffiliate.getContactTelphoneAgent()); - request.setTemplateParamSet(new String[]{caseAffiliate.getNameAgent(), application.getCaseNum(),urlapplynew}); + if(StringUtils.isNotBlank(nameAgent)){ + request.setPhone(caseAffiliate.getContactTelphoneAgent()); + request.setTemplateParamSet(new String[]{caseAffiliate.getNameAgent(), application.getCaseNum(),urlapplynew}); + }else { + request.setPhone(caseAffiliate.getApplicationPhone()); + request.setTemplateParamSet(new String[]{caseAffiliate.getApplicationName(), application.getCaseNum(),urlapplynew}); + } Boolean aBoolean = SmsUtils.sendSms(request); SealSignRecord sealSignRecordRespon = new SealSignRecord(); @@ -1576,7 +1588,13 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService { SealSignRecord sealSignRecordapply = new SealSignRecord(); sealSignRecordapply.setSignFlowid(signFlowId); - sealSignRecordapply.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + String nameAgent = caseAffiliate.getNameAgent(); + if(StringUtils.isNotBlank(nameAgent)){ + sealSignRecordapply.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + }else { + sealSignRecordapply.setPensonAccount(caseAffiliate.getApplicationPhone()); + } + EsignHttpResponse signUrl = SignAward.signUrlMediation(sealSignRecordapply); JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class); JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data"); @@ -1586,8 +1604,14 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService { //发送签名链接短信,尊敬的{1}用户,您的{2}调解案件,签名链接{3},请点击链接签名,如非本人操作,请忽略本短信 SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); request.setTemplateId("2047719"); - request.setPhone(caseAffiliate.getContactTelphoneAgent()); - request.setTemplateParamSet(new String[]{caseAffiliate.getNameAgent(), application.getCaseNum(),urlapplynew}); + + if(StringUtils.isNotBlank(nameAgent)){ + request.setPhone(caseAffiliate.getContactTelphoneAgent()); + request.setTemplateParamSet(new String[]{caseAffiliate.getNameAgent(), application.getCaseNum(),urlapplynew}); + }else { + request.setPhone(caseAffiliate.getApplicationPhone()); + request.setTemplateParamSet(new String[]{caseAffiliate.getApplicationName(), application.getCaseNum(),urlapplynew}); + } Boolean aBoolean = SmsUtils.sendSms(request); SealSignRecord sealSignRecordRespon = new SealSignRecord(); diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java index bfee60f..3ded9f1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java @@ -20,6 +20,7 @@ import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.EmailOutUtil; import com.ruoyi.common.utils.SmsUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.SaaSAPIFileUtils; import com.ruoyi.system.domain.entity.flow.MsCaseFlow; import com.ruoyi.system.mapper.SysUserMapper; @@ -722,6 +723,110 @@ public class MsSignSealServiceImpl implements MsSignSealService { } + @Override + public AjaxResult msCaseSignUrlApplyPC(MsSignSealDTO dto) throws EsignDemoException { + Long caseId = dto.getCaseId(); + MsCaseAffiliate caseAffiliate = msCaseAffiliateMapper.selectByPrimaryKey(caseId); + Integer organizeFlag = caseAffiliate.getOrganizeFlag(); + SealSignRecord sealSignRecordres = new SealSignRecord(); + MsSealSignRecord mssealSignRecord = new MsSealSignRecord(); + mssealSignRecord.setCaseAppliId(caseId); + List sealSignRecords = sealSignRecordMapper.selectSealSignRecord(mssealSignRecord); + if (sealSignRecords != null && sealSignRecords.size() > 0) { + String signFlowid = sealSignRecords.get(0).getSignFlowId(); + if(organizeFlag!=null){ + SealSignRecord sealSignRecord = new SealSignRecord(); + if(organizeFlag.intValue()==1){ + sealSignRecord.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + sealSignRecord.setPensonName(caseAffiliate.getNameAgent()); + }else { + String nameAgent = caseAffiliate.getNameAgent(); + if(StringUtils.isNotBlank(nameAgent)){ + sealSignRecord.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + sealSignRecord.setPensonName(caseAffiliate.getNameAgent()); + }else { + sealSignRecord.setPensonAccount(caseAffiliate.getApplicationPhone()); + sealSignRecord.setPensonName(caseAffiliate.getApplicationName()); + } + } + sealSignRecord.setSignFlowid(signFlowid); + + Gson gson = new Gson(); + EsignHttpResponse signUrl = SignAward.signUrl(sealSignRecord); + JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class); + JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data"); + String urlapply = signUrlData.get("shortUrl").getAsString(); + sealSignRecordres.setSealUrl(urlapply); + } + } + return AjaxResult.success(sealSignRecordres); + } + + @Override + public AjaxResult msCaseSignUrlResPC(MsSignSealDTO dto) throws EsignDemoException { + Long caseId = dto.getCaseId(); + MsCaseAffiliate caseAffiliate = msCaseAffiliateMapper.selectByPrimaryKey(caseId); + SealSignRecord sealSignRecordres = new SealSignRecord(); + MsSealSignRecord mssealSignRecord = new MsSealSignRecord(); + mssealSignRecord.setCaseAppliId(caseId); + List sealSignRecords = sealSignRecordMapper.selectSealSignRecord(mssealSignRecord); + if (sealSignRecords != null && sealSignRecords.size() > 0) { + String signFlowid = sealSignRecords.get(0).getSignFlowId(); + SealSignRecord sealSignRecord = new SealSignRecord(); + sealSignRecord.setPensonAccount(caseAffiliate.getRespondentPhone()); + sealSignRecord.setSignFlowid(signFlowid); + + Gson gson = new Gson(); + EsignHttpResponse signUrl = SignAward.signUrl(sealSignRecord); + JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class); + JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data"); + String urlapply = signUrlData.get("shortUrl").getAsString(); + sealSignRecordres.setSealUrl(urlapply); + } + + return AjaxResult.success(sealSignRecordres); + } + + @Override + public AjaxResult msCaseSignUrlApplyAPP(MsSignSealDTO dto) throws EsignDemoException { + Long caseId = dto.getCaseId(); + MsCaseAffiliate caseAffiliate = msCaseAffiliateMapper.selectByPrimaryKey(caseId); + Integer organizeFlag = caseAffiliate.getOrganizeFlag(); + SealSignRecord sealSignRecordres = new SealSignRecord(); + MsSealSignRecord mssealSignRecord = new MsSealSignRecord(); + mssealSignRecord.setCaseAppliId(caseId); + List sealSignRecords = sealSignRecordMapper.selectSealSignRecord(mssealSignRecord); + if (sealSignRecords != null && sealSignRecords.size() > 0) { + String signFlowid = sealSignRecords.get(0).getSignFlowId(); + if(organizeFlag!=null){ + SealSignRecord sealSignRecord = new SealSignRecord(); + if(organizeFlag.intValue()==1){ + sealSignRecord.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + sealSignRecord.setPensonName(caseAffiliate.getNameAgent()); + }else { + String nameAgent = caseAffiliate.getNameAgent(); + if(StringUtils.isNotBlank(nameAgent)){ + sealSignRecord.setPensonAccount(caseAffiliate.getContactTelphoneAgent()); + sealSignRecord.setPensonName(caseAffiliate.getNameAgent()); + }else { + sealSignRecord.setPensonAccount(caseAffiliate.getApplicationPhone()); + sealSignRecord.setPensonName(caseAffiliate.getApplicationName()); + } + } + sealSignRecord.setSignFlowid(signFlowid); + + Gson gson = new Gson(); + EsignHttpResponse signUrl = SignAward.signUrlMediation(sealSignRecord); + JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class); + JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data"); + String urlapply = signUrlData.get("shortUrl").getAsString(); + sealSignRecordres.setSealUrl(urlapply); + } + } + return AjaxResult.success(sealSignRecordres); + + } + /** * 通过邮件发送裁决书文件 *