diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java index 15a0cd2..47a1ff1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java @@ -75,10 +75,10 @@ public class CasePaymentController { // @PreAuthorize("@ss.hasPermi('paymentManagement:list:payconfirm')") @PutMapping("/confirm") public AjaxResult confirmPayment(@Validated @RequestBody BatchCaseApplication batchCaseApplication) { - if(CollectionUtil.isEmpty(batchCaseApplication.getIds())){ + if(CollectionUtil.isEmpty(batchCaseApplication.getIds()) || batchCaseApplication.getAgreeOrNotCheck()==null){ return AjaxResult.error("参数校验失败"); } - return paymentService.confirmPayment(batchCaseApplication.getIds()); + return paymentService.confirmPayment(batchCaseApplication); } /** * 缴费列表查询 diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java index f5c36c5..64f7ef0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java @@ -69,7 +69,10 @@ public class ArbitrateRecord extends BaseEntity { * 部门长确认裁决书驳回 */ private String deptorReject; - + /** + * 缴费确认驳回原因 + */ + private String payRejectReason; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java index 1c4895b..fc50e84 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java @@ -426,4 +426,6 @@ public class CaseApplication extends BaseEntity { * 登录用户名 */ private String userName; + // 缴费确认驳回原因 + private String payRejectReason; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java index 9b4e911..66c81ed 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java @@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.service; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.dto.PayRequest; +import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication; import com.ruoyi.wisdomarbitrate.domain.CaseApplication; import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO; import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO; @@ -14,7 +15,7 @@ public interface ICasePaymentService { */ AjaxResult casePay(CasePayDTO casePayDTO); - AjaxResult confirmPayment( List ids); + AjaxResult confirmPayment(BatchCaseApplication batchCaseApplication); /** * 确认缴费 diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java index 197e405..d504e27 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java @@ -1721,6 +1721,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseApplicationselect.setRespondentName(respondentName.toString()); caseApplicationselect.setCaseAffiliates(caseAffiliatListeselect); caseApplicationselect.setArbitrateRecord(arbitrateRecordselect); + if(arbitrateRecordselect!=null){ + caseApplicationselect.setPayRejectReason(arbitrateRecordselect.getPayRejectReason()); + } } return caseApplicationselect; @@ -2268,13 +2271,15 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseAffiliate.setCaseAppliId(caseApplication.getId()); List caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); if (caseAffiliatListeselect != null) { - caseAffiliatListeselect=new ArrayList<>(caseAffiliatListeselect.stream().collect(Collectors.toMap(CaseAffiliate::getContactTelphone ,Function.identity(), (k1, k2) -> k1)).values()); + // caseAffiliatListeselect=new ArrayList<>(caseAffiliatListeselect.stream().collect(Collectors.toMap(CaseAffiliate::getContactTelphone ,Function.identity(), (k1, k2) -> k1)).values()); for (int i = 0; i < caseAffiliatListeselect.size(); i++) { CaseAffiliate caseAffiliateselect = caseAffiliatListeselect.get(i); int identityType = caseAffiliateselect.getIdentityType(); - if (identityType == 1) { + if (identityType == 1 && StrUtil.isNotEmpty(caseAffiliateselect.getApplicationOrganId())) { caseApplicationselect.setApplicantName(caseAffiliateselect.getApplicationOrganName()); + }else { + caseApplicationselect.setApplicantName(caseAffiliateselect.getName()); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java index 968ef42..b5e2939 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; import com.ruoyi.ElegentPay; import com.ruoyi.common.constant.CaseApplicationConstants; import com.ruoyi.common.constant.HttpStatus; @@ -44,6 +45,8 @@ public class CasePaymentServiceImpl implements ICasePaymentService { private CaseAttachMapper caseAttachMapper; @Autowired private SmsRecordMapper smsRecordMapper; + @Autowired + private ArbitrateRecordMapper arbitrateRecordMapper; @Autowired public CasePaymentServiceImpl(ElegentPay elegentPay @@ -111,11 +114,33 @@ public class CasePaymentServiceImpl implements ICasePaymentService { @Override @Transactional - public AjaxResult confirmPayment( List ids) { - for (Long id : ids) { + public AjaxResult confirmPayment( BatchCaseApplication batchCaseApplication) { + for (Long id : batchCaseApplication.getIds()) { CaseApplication caseApplication = new CaseApplication(); caseApplication.setId(id); - caseApplication.setCaseStatus(CaseApplicationConstants.CASE_CROSSEXAMI); + if(batchCaseApplication.getAgreeOrNotCheck().equals(1)){ + // 同意,更新案件状态为案件质证 + caseApplication.setCaseStatus(CaseApplicationConstants.CASE_CROSSEXAMI); + }else { + if(StrUtil.isEmpty(batchCaseApplication.getCaseCheckReject())){ + return AjaxResult.error("请填写拒绝理由"); + } + // 拒绝,更新案件状态为待缴费 + caseApplication.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT); + ArbitrateRecord arbitrateRecordsel = new ArbitrateRecord(); + arbitrateRecordsel.setCaseAppliId(id); + ArbitrateRecord arbitrateRecordnew = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecordsel); + if(arbitrateRecordnew!=null){ + arbitrateRecordnew.setPayRejectReason(batchCaseApplication.getCaseCheckReject()); + arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecordnew); + }else { + + arbitrateRecordsel.setPayRejectReason(batchCaseApplication.getCaseCheckReject()); + arbitrateRecordMapper.insertArbitrateRecord(arbitrateRecordsel); + } + + } + caseApplicationMapper.submitCaseApplication(caseApplication); //发送短信通知 SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); @@ -134,12 +159,8 @@ public class CasePaymentServiceImpl implements ICasePaymentService { String caseName = "仲裁"; //这里案件名称表里未定义,暂时写死 String caseNum = caseApplication1.getCaseNum(); if (identityType == 1) { //申请人 - request.setPhone(affiliate.getContactTelphone()); - request.setTemplateId("1928003"); //传入申请人模板id - // 这个值,要看你的模板中是否预留了占位符,如果没有则不需要设置 - // 模板id:1928003 普通短信 案件受理通知 String name = affiliate.getName(); - request.setTemplateParamSet(new String[]{name, caseName, caseNum}); + request.setPhone(affiliate.getContactTelphone()); Boolean aBoolean = SmsUtils.sendSms(request); //保存短信发送记录 SmsSendRecord smsSendRecord = new SmsSendRecord(); @@ -147,8 +168,18 @@ public class CasePaymentServiceImpl implements ICasePaymentService { smsSendRecord.setCaseNum(caseNum); smsSendRecord.setPhone(request.getPhone()); smsSendRecord.setSendTime(new Date()); - String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理。"; - smsSendRecord.setSendContent(content); + if(batchCaseApplication.getAgreeOrNotCheck().equals(1)){ + // 同意 + request.setTemplateId("1928003"); //案件受理通知 + request.setTemplateParamSet(new String[]{name, caseName, caseNum}); + smsSendRecord.setSendContent("尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理。"); + }else { + //拒绝 2074402,尊敬的{1}用户,您的{2}案件,确认缴费未通过,理由为{3},请知晓,如非本人操作,请忽略本短信 + request.setTemplateId("2074402"); //确认缴费不通过通知 + request.setTemplateParamSet(new String[]{name, caseNum,batchCaseApplication.getCaseCheckReject()}); + smsSendRecord.setSendContent("尊敬的" + name + "用户,您的" + caseNum + "案件,确认缴费未通过,理由为" + batchCaseApplication.getCaseCheckReject() + ",请知晓,如非本人操作,请忽略本短信。"); + } + smsSendRecord.setCreateBy(getUsername()); if (aBoolean) { smsSendRecord.setSendStatus(1); @@ -157,28 +188,30 @@ public class CasePaymentServiceImpl implements ICasePaymentService { } smsRecordMapper.saveSmsSendRecord(smsSendRecord); } else { //被申请人 + if(batchCaseApplication.getAgreeOrNotCheck().equals(1)) { - request.setPhone(affiliate.getContactTelphone()); - request.setTemplateId("1952840"); - // 1952840 尊敬的{1}用户,您的{2}案件{3}已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信 - String name = affiliate.getName(); - request.setTemplateParamSet(new String[]{name, caseName, caseNum}); - Boolean aBoolean = SmsUtils.sendSms(request); - //保存短信发送记录 - SmsSendRecord smsSendRecord = new SmsSendRecord(); - smsSendRecord.setCaseId(caseApplication.getId()); - smsSendRecord.setCaseNum(caseNum); - smsSendRecord.setPhone(request.getPhone()); - smsSendRecord.setSendTime(new Date()); - String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信"; - smsSendRecord.setSendContent(content); - smsSendRecord.setCreateBy(getUsername()); - if (aBoolean) { - smsSendRecord.setSendStatus(1); - } else { - smsSendRecord.setSendStatus(0); + request.setPhone(affiliate.getContactTelphone()); + request.setTemplateId("1952840"); + // 1952840 尊敬的{1}用户,您的{2}案件{3}已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信 + String name = affiliate.getName(); + request.setTemplateParamSet(new String[]{name, caseName, caseNum}); + Boolean aBoolean = SmsUtils.sendSms(request); + //保存短信发送记录 + SmsSendRecord smsSendRecord = new SmsSendRecord(); + smsSendRecord.setCaseId(caseApplication.getId()); + smsSendRecord.setCaseNum(caseNum); + smsSendRecord.setPhone(request.getPhone()); + smsSendRecord.setSendTime(new Date()); + String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信"; + smsSendRecord.setSendContent(content); + smsSendRecord.setCreateBy(getUsername()); + if (aBoolean) { + smsSendRecord.setSendStatus(1); + } else { + smsSendRecord.setSendStatus(0); + } + smsRecordMapper.saveSmsSendRecord(smsSendRecord); } - smsRecordMapper.saveSmsSendRecord(smsSendRecord); } } //更改记录表里的支付状态和支付时间 @@ -188,7 +221,11 @@ public class CasePaymentServiceImpl implements ICasePaymentService { casePaymentRecord.setUpdateTime(new Date()); casePaymentRecordMapper.update(casePaymentRecord); // 新增日志 - CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_CROSSEXAMI, ""); + if(batchCaseApplication.getAgreeOrNotCheck().equals(1)) { + CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_CROSSEXAMI, ""); + }else { + CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT, "拒绝原因:"+batchCaseApplication.getCaseCheckReject()); + } } } @@ -282,43 +319,45 @@ public class CasePaymentServiceImpl implements ICasePaymentService { caseApplicationsel.setBatchNumber(Integer.parseInt(batchNumber)); caseApplicationsel.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT); List caseApplications = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel); - List caseIds = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList()); - if(caseApplications!=null&&caseApplications.size()>0){ - if (payDTO.getPayType() != null) { - payDTO.setCaseIds(caseIds); - // 修改支付方式 - CaseConfirmPayDTO caseConfirmPayDTO = new CaseConfirmPayDTO(); - BeanUtils.copyProperties(payDTO, caseConfirmPayDTO); - caseApplicationMapper.updatePayType(caseConfirmPayDTO); - } - for (Long caseId : caseIds) { - if (CollectionUtil.isNotEmpty(payDTO.getPayOrderList())) { - for (CaseAttach caseAttach : payDTO.getPayOrderList()) { - caseAttach.setCaseAppliId(caseId); - caseAttachMapper.updateCaseAttach(caseAttach); - } - } - // 修改节点状态 - //根据案件id查询案件信息 - CaseApplication caseApplication = new CaseApplication(); - caseApplication.setId(caseId); - CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication); - caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM); - //修改案件状态 - int i = caseApplicationMapper.submitCaseApplication(caseApplication1); - if (i > 0) { - // 修改支付状态 - CasePaymentRecord paymentRecord = new CasePaymentRecord(); - paymentRecord.setPayType(payDTO.getPayType()); - paymentRecord.setCaseId(caseId); - paymentRecord.setPaymentStatus(1); - casePaymentRecordMapper.saveRecord(paymentRecord); - // 新增日志 - CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT_CONFIRM, ""); - } + if(CollectionUtil.isNotEmpty(caseApplications)){ + List caseIds = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList()); - } +// if (payDTO.getPayType() != null) { +// payDTO.setCaseIds(caseIds); +// // 修改支付方式 +// CaseConfirmPayDTO caseConfirmPayDTO = new CaseConfirmPayDTO(); +// BeanUtils.copyProperties(payDTO, caseConfirmPayDTO); +// caseApplicationMapper.updatePayType(caseConfirmPayDTO); +// } +// for (Long caseId : caseIds) { +// if (CollectionUtil.isNotEmpty(payDTO.getPayOrderList())) { +// for (CaseAttach caseAttach : payDTO.getPayOrderList()) { +// caseAttach.setCaseAppliId(caseId); +// caseAttachMapper.updateCaseAttach(caseAttach); +// } +// } +// +// // 修改节点状态 +// //根据案件id查询案件信息 +// CaseApplication caseApplication = new CaseApplication(); +// caseApplication.setId(caseId); +// CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication); +// caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM); +// //修改案件状态 +// int i = caseApplicationMapper.submitCaseApplication(caseApplication1); +// if (i > 0) { +// // 修改支付状态 +// CasePaymentRecord paymentRecord = new CasePaymentRecord(); +// paymentRecord.setPayType(payDTO.getPayType()); +// paymentRecord.setCaseId(caseId); +// paymentRecord.setPaymentStatus(1); +// casePaymentRecordMapper.saveRecord(paymentRecord); +// // 新增日志 +// CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT_CONFIRM, ""); +// } +// +// } }else{ throw new ServiceException("这个批号没有批量缴费的案件"); diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitrateRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitrateRecordMapper.xml index 7947701..9526e81 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitrateRecordMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitrateRecordMapper.xml @@ -18,6 +18,7 @@ + @@ -34,6 +35,7 @@ check_opinion, case_check_reject, arbitrate_reject, + pay_reject_reason, create_by, case_focus, case_facts, @@ -51,6 +53,7 @@ #{checkOpinion}, #{caseCheckReject}, #{arbitrateReject}, + #{payRejectReason}, #{createBy}, #{caseFocus}, #{caseFacts}, @@ -81,6 +84,7 @@ case_check_reject = #{caseCheckReject}, arbitrate_reject = #{arbitrateReject}, deptor_reject = #{deptorReject}, + pay_reject_reason = #{payRejectReason}, update_time = sysdate() where id = #{id} @@ -90,7 +94,7 @@ - select c.id, - c.case_appli_id, c.identity_type,c.application_organ_id,c.application_organ_name,c.name,c.identity_num,c.contact_telphone, - c.contact_address,c.work_address,c.work_telphone ,c.name_agent,c.identity_num_agent,c.contact_telphone_agent, - c.comp_legal_person,c.comp_legalper_post,c.respon_sex ,c.respon_birth, - c.residen_affili,appli_agent_title, - c.contact_address_agent,c.email, c.send_email,c.track_num,c.applicant_agent_user_id,c.agent_email + select c.* from case_affiliate c - WHERE + + + AND c.case_appli_id = #{caseAppliId} + + + - - AND c.case_appli_id = #{caseAppliId} -