From 31a9287a8f98183ba12b16f39d993d3a5f27b198 Mon Sep 17 00:00:00 2001 From: qitz <18810291185@163.com> Date: Wed, 27 Dec 2023 14:40:26 +0800 Subject: [PATCH 1/2] 1 --- .../controller/wisdomarbitrate/CaseApplicationController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java index 95f6872..564a736 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java @@ -354,7 +354,7 @@ public class CaseApplicationController extends BaseController { - + /** * 发送房间号短信 From 7a38c4e8a5a79fb95f3706e286f2153cd8d8d226 Mon Sep 17 00:00:00 2001 From: qitz <18810291185@163.com> Date: Fri, 29 Dec 2023 17:23:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=9F=A5=E8=AF=A2=E6=89=B9=E9=87=8F=E5=92=8C?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CaseApplicationController.java | 24 +++ .../domain/BatchCaseApplication.java | 6 + .../mapper/CaseApplicationMapper.java | 4 + .../service/ICaseApplicationService.java | 3 + .../impl/CaseApplicationServiceImpl.java | 200 +++++++++++++++++- .../service/impl/CasePaymentServiceImpl.java | 3 +- .../wisdomarbitrate/CaseApplicationMapper.xml | 67 ++++++ 7 files changed, 297 insertions(+), 10 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java index 564a736..585df88 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java @@ -12,6 +12,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.WxAppletNotifyUtils; import com.ruoyi.util.FileUtil; import com.ruoyi.wisdomarbitrate.StringIdsReq; @@ -60,6 +61,16 @@ public class CaseApplicationController extends BaseController { return getDataTable(list); } + /** + * 查询批量管理案件列表 + */ + @GetMapping("/listBatch") + public TableDataInfo listBatch(CaseApplication caseApplication) { + startPage(); + List list = caseApplicationService.selectCaseApplicationListBatchByRole(caseApplication); + return getDataTable(list); + } + /** * 根据角色查询待办数量 * @return @@ -120,6 +131,19 @@ public class CaseApplicationController extends BaseController { return toAjax(caseApplicationService.submitCaseApplication(batchCaseApplication.getIds())); } + /** + * 批量提交立案申请 + */ + @Log(title = "批量提交立案申请", businessType = BusinessType.UPDATE) + @PostMapping("/submitCaseApplicationBatch") + public AjaxResult submitCaseApplicationBatch(@RequestBody BatchCaseApplication batchCaseApplication) { + if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber())){ + return error("参数校验失败"); + } + return toAjax(caseApplicationService.submitCaseApplicationBatch(batchCaseApplication.getBatchNumber())); + } + + /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java index 0a81451..72abf5a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java @@ -22,4 +22,10 @@ public class BatchCaseApplication { private Integer opinion; /** 驳回原因 */ private String caseCheckReject; + /** + * 批号 + */ + private String batchNumber; + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java index b0f0e94..3145ff4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java @@ -133,4 +133,8 @@ public interface CaseApplicationMapper { int batchSave(@Param("list")List caseApplications); int selectCasenum(@Param("userId") String userId); + + List selectAdminCaseApplicationListBatch(CaseApplication caseApplication); + + List listCaseApplicationByBatchNumber(CaseApplication caseApplication); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java index b9fa706..d0b1c3f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java @@ -136,4 +136,7 @@ public interface ICaseApplicationService { CaseAttach downloadCaseZipFile(CaseApplication caseApplication); + List selectCaseApplicationListBatchByRole(CaseApplication caseApplication); + + int submitCaseApplicationBatch(String batchNumber); } 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 adb6beb..f9d5640 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 @@ -2545,7 +2545,169 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { return caseAttach; } + @Override + public List selectCaseApplicationListBatchByRole(CaseApplication caseApplication) { + return caseApplicationMapper.selectAdminCaseApplicationListBatch(caseApplication); + } + @Override + @Transactional + public int submitCaseApplicationBatch(String batchNumber) { + int rows = 0; + CaseApplication caseApplicationsel = new CaseApplication(); + caseApplicationsel.setBatchNumber(batchNumber); + caseApplicationsel.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION); + List caseApplications = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel); + List ids = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList()); + if(caseApplications!=null&&caseApplications.size()>0){ + Map applicationMap = caseApplications.stream().collect(Collectors.toMap(CaseApplication::getId, Function.identity(), (n1, n2) -> n2)); + List caseAffiliates = caseAffiliateMapper.selectCaseAffiliateByCaseIds(ids); + // 转换为Map>形式 + Map> caseAffiliateMap = caseAffiliates.stream().collect(Collectors.groupingBy(CaseAffiliate::getCaseAppliId)); + for (Long id : ids) { + // 查询案件信息,做必填校验,校验不通过,提示,不能提交 + StringBuilder errorMsg = new StringBuilder(); + // 必填校验 + CaseApplication caseApplication = applicationMap.get(id); + String caseNum = caseApplication.getCaseNum(); + // 基本字段校验 + if(caseApplication!=null) { + for (String baseColumn : baseColumns) { + if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseApplication, baseColumn))){ + errorMsg.append(getColumnstr(baseColumn)).append("不能为空,"); +// throw new ServiceException("必填字段未填写,请完善案件信息!"); + } + } + // 校验人员 + if(CollectionUtil.isNotEmpty(caseAffiliates)){ + List affiliateList = caseAffiliateMap.get(id); + if(CollectionUtil.isNotEmpty(affiliateList)){ + for (CaseAffiliate caseAffiliate : affiliateList) { + if(caseAffiliate.getIdentityType()==1){ + // 校验申请人 + for (String applicAffiliateColumn : applicAffiliateColumns) { + if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseAffiliate, applicAffiliateColumn))){ + errorMsg.append(getColumnstr(applicAffiliateColumn)).append("不能为空,"); +// throw new ServiceException("必填字段未填写,请完善案件信息!"); + } + } + }else { + // 校验被申请人 + for (String applicAffiliateColumn : dectborAffiliateColumns) { + if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseAffiliate, applicAffiliateColumn))){ + errorMsg.append(getColumnstr(applicAffiliateColumn)).append("不能为空,"); +// throw new ServiceException("必填字段未填写,请完善案件信息!"); + } + } + } + } + } + } + } + if(StringUtils.isNotEmpty(errorMsg.toString())){ + throw new ServiceException("案件编号" + caseNum + errorMsg.toString()+"请完善案件信息!"); + } + + CaseApplication application = new CaseApplication(); + application.setId(id); + //提交立案申请 + application.setCaseStatus(CaseApplicationConstants.CASE_CHECK); + rows += caseApplicationMapper.submitCaseApplication(application); + // 新增日志 + insertCaseLog(application.getId(), CaseApplicationConstants.CASE_CHECK, ""); + } + + }else{ + throw new ServiceException("这个批号没有批量提交的案件"); + } + + return rows; + } + + private String getColumnstr(String columnname) { + String columnstr = ""; + switch (columnname) { + case "caseName": + columnstr = "案件名称"; + break; + case "caseSubjectAmount": + columnstr = "案件标的"; + break; + case "loanStartDate": + columnstr = "借款开始日期"; + break; + case "loanEndDate": + columnstr = "借款结束日期"; + break; + case "contractNumber": + columnstr = "合同编号"; + break; + case "claimInterestOwed": + columnstr = "申请人主张欠利息"; + break; + case "claimLiquidDamag": + columnstr = "申请人主张违约金"; + break; + case "claimPrinciOwed": + columnstr = "申请人主张欠本金"; + break; + case "arbitratClaims": + columnstr = "申请人仲裁请求及事实和理由"; + break; + case "name": + columnstr = "姓名"; + break; + case "identityNum": + columnstr = "身份证号"; + break; + case "contactTelphone": + columnstr = "联系电话"; + break; + case "contactAddress": + columnstr = "联系地址"; + break; + case "workTelphone": + columnstr = "单位电话"; + break; + case "workAddress": + columnstr = "单位地址"; + break; + case "residenAffili": + columnstr = "住所"; + break; + case "compLegalPerson": + columnstr = "法定代表人"; + break; + case "compLegalperPost": + columnstr = "法定代表人职位"; + break; + case "email": + columnstr = "邮箱"; + break; + case "nameAgent": + columnstr = "代理人姓名"; + break; + case "identityNumAgent": + columnstr = "代理人身份证号"; + break; + case "contactTelphoneAgent": + columnstr = "代理人联系电话"; + break; + case "contactAddressAgent": + columnstr = "代理人联系地址"; + break; + case "responSex": + columnstr = "被申请人性别"; + break; + case "responBirth": + columnstr = "被申请人出生年月日"; + break; + default: + columnstr = ""; + } + + return columnstr; + } @Override @@ -2599,9 +2761,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { //发送短信通知 1947342 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); - request.setTemplateId("1947342"); + request.setTemplateId("2033619"); // 发送开庭日期通知短信 - sendHearDateMessage(caseApplication, request, "1947342"); + sendHearDateMessage(caseApplication, request, "2033619"); // 新增日志 insertCaseLog(caseApplication.getId(), CaseApplicationConstants.MODIFY_HEARDATE, ""); @@ -2619,9 +2781,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication); String caseNum = caseApplicationselect.getCaseNum(); - //Date hearDate = caseApplicationselect.getHearDate(); + Date hearDate = caseApplicationselect.getHearDate(); + String hearDatestr = ""; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String hearDatestr = null; + if(hearDate!=null) { + hearDatestr = dateFormat.format(hearDate); + } String arbitratorId = caseApplicationselect.getArbitratorId(); // List arbitratorList = new ArrayList<>(); if (StringUtils.isNotEmpty(arbitratorId)) { @@ -2638,7 +2803,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { request.setPhone(user.getPhonenumber()); // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 String name = user.getNickName(); - request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + if (templateId.equals("2033619")) { + request.setTemplateParamSet(new String[]{name, caseNum}); + } + if (templateId.equals("1975139")) { + request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + } + Boolean aBoolean = SmsUtils.sendSms(request); //保存短信发送记录 SmsSendRecord smsSendRecord = new SmsSendRecord(); @@ -2647,8 +2818,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { smsSendRecord.setPhone(request.getPhone()); smsSendRecord.setSendTime(new Date()); String content = ""; - if (templateId.equals("1947342")) { - content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已确定为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; + if (templateId.equals("2033619")) { + content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,已组庭,请知晓,如非本人操作,请忽略本短信。"; } if (templateId.equals("1975139")) { content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已改为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; @@ -2682,7 +2853,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { request.setPhone(caseAffiliateselect.getContactTelphone()); // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 String name = caseAffiliateselect.getName(); - request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + if (templateId.equals("2033619")) { + request.setTemplateParamSet(new String[]{name, caseNum}); + } + if (templateId.equals("1975139")) { + request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + } Boolean aBoolean = SmsUtils.sendSms(request); //保存短信发送记录 SmsSendRecord smsSendRecord = new SmsSendRecord(); @@ -2690,7 +2866,13 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { smsSendRecord.setCaseNum(caseApplicationselect.getCaseNum()); smsSendRecord.setPhone(request.getPhone()); smsSendRecord.setSendTime(new Date()); - String content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已确定为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; + String content = ""; + if (templateId.equals("2033619")) { + content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,已组庭,请知晓,如非本人操作,请忽略本短信。"; + } + if (templateId.equals("1975139")) { + content = "尊敬的" + name + "用户,您的" + caseNum + "仲裁案件,开庭日期已改为" + hearDatestr + ",请知晓,如非本人操作,请忽略本短信。"; + } smsSendRecord.setSendContent(content); smsSendRecord.setCreateBy(getUsername()); if (aBoolean) { 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 6d12eca..c84f938 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 @@ -152,12 +152,13 @@ public class CasePaymentServiceImpl implements ICasePaymentService { } smsRecordMapper.saveSmsSendRecord(smsSendRecord); } else { //被申请人 - Boolean aBoolean = SmsUtils.sendSms(request); + 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()); diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index 76756c6..e759328 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -53,6 +53,8 @@ + + @@ -851,6 +853,32 @@ order by c.case_num desc + + + + + +