diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java index 3096efe..ea6ce32 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java @@ -4,12 +4,15 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.wisdomarbitrate.domain.CaseApplication; import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO; +import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO; import com.ruoyi.wisdomarbitrate.service.IAdjudicationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/adjudication") public class AdjudicationController extends BaseController { @@ -45,7 +48,8 @@ public class AdjudicationController extends BaseController { @GetMapping("/logistics") @PreAuthorize("@ss.hasPermi('delivery:detail')") public AjaxResult getLogisticsInfo(CaseApplication caseApplication){ - return adjudicationService.getLogisticsInfo(caseApplication); + List logisticsInfo = adjudicationService.getLogisticsInfo(caseApplication); + return AjaxResult.success(logisticsInfo); } /** @@ -90,4 +94,14 @@ public class AdjudicationController extends BaseController { public AjaxResult stamp(@Validated @RequestBody CaseApplication caseApplication){ return adjudicationService.stamp(caseApplication); } + + /** + * 档案详情查询 + * @param id 案件id + * @return + */ + @GetMapping("/archives") + public AjaxResult getArchivesDetail(Long id){ + return adjudicationService.getArchivesDetail(id); + } } 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 fa501cb..de992f1 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 @@ -108,6 +108,9 @@ public class CaseApplicationController extends BaseController { @PreAuthorize("@ss.hasPermi('caseManagement:list:import')") @PostMapping("/importData") public AjaxResult importData(MultipartFile file) throws Exception { + if(file==null){ + return warn("请上传文件"); + } ExcelUtil util = new ExcelUtil(CaseApplication.class); List caseApplicationList = util.importExcel(file.getInputStream()); String operName = getUsername(); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/SaaSAPIFileUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/SaaSAPIFileUtils.java index fa6389b..6033c25 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/SaaSAPIFileUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/SaaSAPIFileUtils.java @@ -64,20 +64,20 @@ public class SaaSAPIFileUtils { return EsignHttpHelper.doCommHttp(eSignHost, apiaddr,requestType , jsonParm, header,true); } -/* public static void main(String[] args) throws EsignDemoException { - String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\07\\6babb8e261454fffbacf6d9fd1589b9b.docx"; - EsignHttpResponse uploadUrl = getUploadUrl(filePath); - String body = uploadUrl.getBody(); - JSONObject jsonObject = new JSONObject(body); - JSONObject dataObj = jsonObject.getJSONObject("data"); - String fileUploadUrl = dataObj.get("fileUploadUrl").toString(); - System.out.println("这是fileUploadUrl:"+fileUploadUrl); - String fileId = dataObj.get("fileId").toString(); - System.out.println("这是fileId:"+fileId); - EsignHttpResponse esignHttpResponse = uploadFile(fileUploadUrl, filePath); - System.out.println("这是上传文件流的结果:"+esignHttpResponse.getBody()); - EsignHttpResponse fileStatus = getFileStatus(fileId); - System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody()); - getFileStatus("95d0c307d91e4985bdb8874f6f84daa5"); - }*/ +// public static void main(String[] args) throws EsignDemoException { + // String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\b442880179844a848f1f8b08c29e3d0c.docx"; +// EsignHttpResponse uploadUrl = getUploadUrl(filePath); +// String body = uploadUrl.getBody(); +// JSONObject jsonObject = new JSONObject(body); +// JSONObject dataObj = jsonObject.getJSONObject("data"); +// String fileUploadUrl = dataObj.get("fileUploadUrl").toString(); +// System.out.println("这是fileUploadUrl:"+fileUploadUrl); +// String fileId = dataObj.get("fileId").toString(); +// System.out.println("这是fileId:"+fileId); +// EsignHttpResponse esignHttpResponse = uploadFile(fileUploadUrl, filePath); +// System.out.println("这是上传文件流的结果:"+esignHttpResponse.getBody()); +// EsignHttpResponse fileStatus = getFileStatus(fileId); +// System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody()); +// getFileStatus("a0c2ad21065f48ff8b872412c39d5d3a"); +// } } 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 2a5dbc5..ac77efe 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 @@ -114,6 +114,16 @@ public class CaseApplication extends BaseEntity { private Integer paymentStatus; /** 支付状态描述 */ private String paymentStatusName; + // 导入校验失败信息 + private StringBuilder errorMsg; + + public StringBuilder getErrorMsg() { + return errorMsg; + } + + public void setErrorMsg(StringBuilder errorMsg) { + this.errorMsg = errorMsg; + } public Integer getPaymentStatus() { return paymentStatus; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ArchivesDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ArchivesDetailVO.java new file mode 100644 index 0000000..dfe4abc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ArchivesDetailVO.java @@ -0,0 +1,24 @@ +package com.ruoyi.wisdomarbitrate.domain.vo; + +import com.ruoyi.wisdomarbitrate.domain.CaseApplication; +import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord; +import com.ruoyi.wisdomarbitrate.mapper.CaseLogRecordMapper; +import lombok.Data; + +import java.util.List; + +@Data +public class ArchivesDetailVO { + /** + * 案件信息 + */ + private CaseApplication caseApplication; + /** + * 案件日志信息 + */ + private List caseLogRecordList; + /** + * 快递信息 + */ + private List logisticsInfoVOList; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java index 773fc61..6d7f6a1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java @@ -2,13 +2,16 @@ package com.ruoyi.wisdomarbitrate.service; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.wisdomarbitrate.domain.CaseApplication; +import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO; + +import java.util.List; public interface IAdjudicationService { AjaxResult createDocument(CaseApplication caseApplication); AjaxResult sendDocumentByEmail(Long id,String appEmail,String resEmail ,String apptrackingNum,String restrackingNum); - AjaxResult getLogisticsInfo(CaseApplication caseApplication); + List getLogisticsInfo(CaseApplication caseApplication); AjaxResult signature(CaseApplication caseApplication); @@ -18,4 +21,5 @@ public interface IAdjudicationService { AjaxResult stamp(CaseApplication caseApplication); + AjaxResult getArchivesDetail(Long id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java index 691cdaf..1302bb7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils; import com.ruoyi.common.utils.EmailOutUtil; import com.ruoyi.common.utils.WordUtil; import com.ruoyi.wisdomarbitrate.domain.*; +import com.ruoyi.wisdomarbitrate.domain.vo.ArchivesDetailVO; import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO; import com.ruoyi.wisdomarbitrate.mapper.ArbitrateRecordMapper; import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper; @@ -15,6 +16,7 @@ import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper; import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper; import com.ruoyi.wisdomarbitrate.service.IAdjudicationService; import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService; +import com.ruoyi.wisdomarbitrate.service.ICaseLogRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.MailSendException; @@ -50,6 +52,8 @@ public class AdjudicationServiceImpl implements IAdjudicationService { private EmailOutUtil emailOutUtil; @Autowired private ICaseApplicationService caseApplicationService; + @Autowired + private ICaseLogRecordService caseLogRecordService; @Override public AjaxResult createDocument(CaseApplication caseApplication) { @@ -246,7 +250,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService { } @Override - public AjaxResult getLogisticsInfo(CaseApplication caseApplication) { + public List getLogisticsInfo(CaseApplication caseApplication) { try { //快递单号查询 String key = "729437f92468910aee6c12dbfeaee3c1"; @@ -291,11 +295,11 @@ public class AdjudicationServiceImpl implements IAdjudicationService { } } else { // 请求失败 - return AjaxResult.error("请求失败,错误码:" + responseCode); + return null; } } } - return AjaxResult.success(logisticsInfoVOList); + return logisticsInfoVOList; } } catch (IOException e) { e.printStackTrace(); @@ -370,7 +374,32 @@ public class AdjudicationServiceImpl implements IAdjudicationService { return AjaxResult.success("用印成功,案件状态已改为待仲裁文书送达"); } - public static void main(String[] args) { + @Override + public AjaxResult getArchivesDetail(Long id) { + ArchivesDetailVO archivesDetailVO = new ArchivesDetailVO(); + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setId(id); + //查询案件信息 + CaseApplication caseApplication1 = caseApplicationService.selectCaseApplication(caseApplication); + if (caseApplication1 != null) { + archivesDetailVO.setCaseApplication(caseApplication1); + } + //查询案件日志信息 + CaseLogRecord caseLogRecord = new CaseLogRecord(); + caseLogRecord.setCaseAppliId(id); + List caseLogRecords = caseLogRecordService.selectCaseLogRecordList(caseLogRecord); + if (caseLogRecords != null && caseLogRecords.size() > 0) { + archivesDetailVO.setCaseLogRecordList(caseLogRecords); + } + //查询快递信息 + List logisticsInfo = this.getLogisticsInfo(caseApplication); + if (logisticsInfo != null && logisticsInfo.size() > 0) { + archivesDetailVO.setLogisticsInfoVOList(logisticsInfo); + } + return AjaxResult.success(archivesDetailVO); + } + + /*public static void main(String[] args) { try { List fileList = new ArrayList<>(); fileList.add(new File("D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\b442880179844a848f1f8b08c29e3d0c.docx")); @@ -385,5 +414,6 @@ public class AdjudicationServiceImpl implements IAdjudicationService { } catch (MailSendException e) { e.printStackTrace(); } - } + }*/ + } \ No newline at end of file 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 7c8301f..e008e0b 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 @@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; +import java.util.regex.Pattern; import java.util.stream.Collectors; import static com.ruoyi.common.utils.SecurityUtils.getUsername; @@ -46,7 +47,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { private CaseAttachMapper caseAttachMapper; @Autowired private SysDeptMapper sysDeptMapper; - + // 手机号正则 + private static final Pattern TELEPHONE_REGX = Pattern.compile("^1(3\\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$"); @@ -305,16 +307,21 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { List caseApplicationListinsert = new ArrayList<>(); for (int i = 0; i < caseApplicationList.size(); i++){ CaseApplication caseApplication = caseApplicationList.get(i); - //根据仲裁费用计费规则计算应缴费用 - //暂时设置计费比率为0.01 - BigDecimal feeRate = new BigDecimal(0.01); - BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2,BigDecimal.ROUND_HALF_UP); - caseApplication.setFeePayable(feePayable); - //赋值CaseApplication的案件关联人信息 - List caseAffiliatesnew = new ArrayList<>(); - // 组装案件关联人信息 - assignmentCaseAffiliates(caseApplication,caseAffiliatesnew,deptMap); + // 导入校验 + importValid(caseApplication); + // 校验成功的数据 + if(StrUtil.isEmpty(caseApplication.getErrorMsg())) { + //根据仲裁费用计费规则计算应缴费用 + //暂时设置计费比率为0.01 + BigDecimal feeRate = new BigDecimal(0.01); + BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2, BigDecimal.ROUND_HALF_UP); + caseApplication.setFeePayable(feePayable); + + //赋值CaseApplication的案件关联人信息 + List caseAffiliatesnew = new ArrayList<>(); + // 组装案件关联人信息 + assignmentCaseAffiliates(caseApplication, caseAffiliatesnew, deptMap); // int caseApplicationCount = selectCaseApplicationCount(caseApplication); // if(caseApplicationCount>0){ @@ -323,9 +330,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { // }else { // caseApplicationListinsert.add(caseApplication); // } - caseApplicationListinsert.add(caseApplication); + caseApplicationListinsert.add(caseApplication); + }else { + // 拼接错误信息 + failureMsg.append("
").append("第").append(i+2).append("行:").append(caseApplication.getErrorMsg().toString()); + } } - if(caseApplicationListinsert!=null&&caseApplicationListinsert.size()>0){ // List caseApplicationListinsertDiffer = caseApplicationListinsert.stream().collect( // collectingAndThen( @@ -384,15 +394,235 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { }else { throw new ServiceException("导入立案申请数据不能为空!"); } - // 编号存在不导入 - if(StringUtils.isNotEmpty(failureMsg)){ - return failureMsg.append(successMsg).toString(); - }else { + return successMsg.append(failureMsg.toString()).toString(); - return successMsg.toString(); + } + + /** + * 导入校验 + * @param caseApplication + * @param + */ + private void importValid(CaseApplication caseApplication) { + StringBuilder failureMsg=new StringBuilder(); + caseApplication.setErrorMsg(failureMsg); + // 校验基本字段 + validBaseColumn(caseApplication,failureMsg); + // 校验申请人信息 + validApplicationColumn(caseApplication,failureMsg); + // 校验申请人代理信息 + validApplicationAgentColumn(caseApplication,failureMsg); + // 校验被申请人信息 + validDebtorApplicationColumn(caseApplication,failureMsg); + // 校验被申请人代理信息 + validDebtorApplicationAgentColumn(caseApplication,failureMsg); + } + + /** + * 校验被申请人代理信息 + * @param caseApplication + * @param failureMsg + */ + private void validDebtorApplicationAgentColumn(CaseApplication caseApplication, StringBuilder failureMsg) { + if( StrUtil.isEmpty(caseApplication.getDebtorNameAgent())){ + failureMsg.append("【被申请人主体信息-代理人姓名】字段不能为空;"); + }else if(caseApplication.getDebtorNameAgent().length()>50){ + failureMsg.append("【被申请人主体信息-代理人姓名】字段超出指定长度,最大长度为50;"); + } + if( StrUtil.isEmpty(caseApplication.getDebtorIdentityNumAgent())){ + failureMsg.append("【被申请人主体信息-代理人身份证号】字段不能为空;"); + }else if(caseApplication.getDebtorIdentityNumAgent().length()>50){ + failureMsg.append("【被申请人主体信息-代理人身份证号】字段超出指定长度,最大长度为50;"); + } + String debtorContactTelphoneAgent = caseApplication.getDebtorContactTelphoneAgent(); + if( StrUtil.isEmpty(debtorContactTelphoneAgent)){ + failureMsg.append("【被申请人主体信息-代理人联系电话】字段不能为空;"); + }else if(!TELEPHONE_REGX.matcher(debtorContactTelphoneAgent).matches()){ + failureMsg.append("【被申请人主体信息-代理人联系电话】字段不合法;"); + } + if( StrUtil.isEmpty(caseApplication.getDebtorContactAddressAgent())){ + failureMsg.append("【被申请人主体信息-代理人联系地址】字段不能为空;"); + }else if(caseApplication.getDebtorContactAddressAgent().length()>50){ + failureMsg.append("【被申请人主体信息-代理人联系地址】字段超出指定长度,最大长度为50;"); } } + /** + * 校验被申请人信息 + * @param caseApplication + * @param failureMsg + */ + private void validDebtorApplicationColumn(CaseApplication caseApplication, StringBuilder failureMsg) { + if( StrUtil.isEmpty(caseApplication.getDebtorName())){ + failureMsg.append("【被申请人主体信息-申请人姓名】字段不能为空;"); + }else if(caseApplication.getDebtorName().length()>50){ + failureMsg.append("【被申请人主体信息-申请人姓名】字段超出指定长度,最大长度为50;"); + } + if( StrUtil.isEmpty(caseApplication.getDebtorIdentityNum())){ + failureMsg.append("【被申请人主体信息-身份证号】字段不能为空;"); + }else if(caseApplication.getDebtorIdentityNum().length()>50){ + failureMsg.append("【被申请人主体信息-身份证号】字段超出指定长度,最大长度为50;"); + } + String debtorContactTelphone = caseApplication.getDebtorContactTelphone(); + if( StrUtil.isEmpty(debtorContactTelphone)){ + failureMsg.append("【被申请人主体信息-联系电话】字段不能为空;"); + }else if(!TELEPHONE_REGX.matcher(debtorContactTelphone).matches()){ + failureMsg.append("【被申请人主体信息-联系电话】字段不合法;"); + } + if( StrUtil.isEmpty(caseApplication.getDebtorContactAddress())){ + failureMsg.append("【被申请人主体信息-联系地址】字段不能为空;"); + }else if(caseApplication.getDebtorContactAddress().length()>50){ + failureMsg.append("【被申请人主体信息-联系地址】字段超出指定长度,最大长度为50;"); + } + String debtorWorkTelphone = caseApplication.getDebtorWorkTelphone(); + if( StrUtil.isEmpty(debtorWorkTelphone)){ + failureMsg.append("【被申请人主体信息-单位电话】字段不能为空;"); + }else if(!TELEPHONE_REGX.matcher(debtorWorkTelphone).matches()){ + failureMsg.append("【被申请人主体信息-单位电话】字段不合法;"); + } + if( StrUtil.isEmpty(caseApplication.getDebtorWorkAddress())){ + failureMsg.append("【被申请人主体信息-单位地址】字段不能为空;"); + }else if(caseApplication.getDebtorWorkAddress().length()>50){ + failureMsg.append("【被申请人主体信息-单位地址】字段超出指定长度,最大长度为50;"); + } + } + + /** + * 校验申请人代理信息 + * @param caseApplication + * @param failureMsg + */ + private void validApplicationAgentColumn(CaseApplication caseApplication, StringBuilder failureMsg) { + if( StrUtil.isEmpty(caseApplication.getNameAgent())){ + failureMsg.append("【申请人主体信息-代理人姓名】字段不能为空;"); + }else if(caseApplication.getNameAgent().length()>50){ + failureMsg.append("【申请人主体信息-代理人姓名】字段超出指定长度,最大长度为50;"); + } + if( StrUtil.isEmpty(caseApplication.getIdentityNumAgent())){ + failureMsg.append("【申请人主体信息-代理人身份证号】字段不能为空;"); + }else if(caseApplication.getIdentityNumAgent().length()>50){ + failureMsg.append("【申请人主体信息-代理人身份证号】字段超出指定长度,最大长度为50;"); + } + String contactTelphoneAgent = caseApplication.getContactTelphoneAgent(); + if( StrUtil.isEmpty(contactTelphoneAgent)){ + failureMsg.append("【申请人主体信息-代理人联系电话】字段不能为空;"); + }else if(!TELEPHONE_REGX.matcher(contactTelphoneAgent).matches()){ + failureMsg.append("【申请人主体信息-代理人联系电话】字段不合法;"); + } + if( StrUtil.isEmpty(caseApplication.getContactAddressAgent())){ + failureMsg.append("【申请人主体信息-代理人联系地址】字段不能为空;"); + }else if(caseApplication.getContactAddressAgent().length()>50){ + failureMsg.append("【申请人主体信息-代理人联系地址】字段超出指定长度,最大长度为50;"); + } + } + + /** + * 校验申请人主题信息 + * @param caseApplication + * @param failureMsg + */ + private void validApplicationColumn(CaseApplication caseApplication, StringBuilder failureMsg) { + if( StrUtil.isEmpty(caseApplication.getName())){ + failureMsg.append("【申请人主体信息-申请人(机构)】字段不能为空;"); + }else if(caseApplication.getName().length()>20){ + failureMsg.append("【申请人主体信息-申请人(机构)】字段超出指定长度,最大长度为20;"); + } + if( StrUtil.isNotEmpty(caseApplication.getIdentityNum())&&caseApplication.getIdentityNum().length()>50){ + failureMsg.append("【申请人主体信息-代码】字段超出指定长度,最大长度为50;"); + } + String contactTelphone = caseApplication.getContactTelphone(); + if( StrUtil.isEmpty(contactTelphone)){ + failureMsg.append("【申请人主体信息-联系电话】字段不能为空;"); + }else if(!TELEPHONE_REGX.matcher(contactTelphone).matches()){ + failureMsg.append("【申请人主体信息-联系电话】字段不合法;"); + } + if( StrUtil.isEmpty(caseApplication.getContactAddress())){ + failureMsg.append("【申请人主体信息-联系地址】字段不能为空;"); + }else if(caseApplication.getName().length()>50){ + failureMsg.append("【申请人主体信息-联系地址】字段超出指定长度,最大长度为50;"); + } + String workTelphone = caseApplication.getWorkTelphone(); + if( StrUtil.isEmpty(workTelphone)){ + failureMsg.append("【申请人主体信息-单位电话】字段不能为空;"); + }else if(!TELEPHONE_REGX.matcher(workTelphone).matches()){ + failureMsg.append("【申请人主体信息-单位电话】字段不合法;"); + } + if( StrUtil.isEmpty(caseApplication.getWorkAddress())){ + failureMsg.append("【申请人主体信息-单位地址】字段不能为空;"); + }else if(caseApplication.getWorkAddress().length()>50){ + failureMsg.append("【申请人主体信息-单位地址】字段超出指定长度,最大长度为50;"); + } + } + + /** + * 校验基本字段 + * @param caseApplication + * @param failureMsg + */ + private void validBaseColumn(CaseApplication caseApplication, StringBuilder failureMsg) { + BigDecimal caseSubjectAmount = caseApplication.getCaseSubjectAmount(); + if(null== caseSubjectAmount){ + failureMsg.append("【案件标的】字段不合法;"); + }else { + if(caseSubjectAmount.compareTo(new BigDecimal("0")) < 0 ||caseSubjectAmount.compareTo(new BigDecimal("99999999.99"))>0){ + failureMsg.append("【案件标的】字段超出范围,范围为[0,100000000);"); + } + if(caseSubjectAmount.scale()>2){ + failureMsg.append("【案件标的】字段超出指定精度(10^-2);"); + } + } + if( caseApplication.getLoanStartDate()== null){ + failureMsg.append("【借款开始日期】字段不合法;"); + } + if( caseApplication.getLoanEndDate()== null){ + failureMsg.append("【借款结束日期】字段不合法;"); + } + if( StrUtil.isEmpty(caseApplication.getContractNumber())){ + failureMsg.append("【合同编号】字段不能为空;"); + }else if(caseApplication.getContractNumber().length()>50){ + failureMsg.append("【合同编号】字段超出指定长度,最大长度为50;"); + } + BigDecimal claimPrinciOwed = caseApplication.getClaimPrinciOwed(); + if(null== claimPrinciOwed){ + failureMsg.append("【申请人主张欠本金】字段不合法;"); + }else { + if(claimPrinciOwed.compareTo(new BigDecimal("0")) < 0 ||claimPrinciOwed.compareTo(new BigDecimal("99999999.99"))>0){ + failureMsg.append("【申请人主张欠本金】字段超出范围,范围为[0,100000000);"); + } + if(claimPrinciOwed.scale()>2){ + failureMsg.append("【申请人主张欠本金】字段超出指定精度(10^-2);"); + } + } + BigDecimal claimInterestOwed = caseApplication.getClaimInterestOwed(); + if(null== claimInterestOwed){ + failureMsg.append("【申请人主张欠利息】字段不合法;"); + }else { + if(claimInterestOwed.compareTo(new BigDecimal("0")) < 0 ||claimInterestOwed.compareTo(new BigDecimal("99999999.99"))>0){ + failureMsg.append("【申请人主张欠利息】字段超出范围,范围为[0,100000000);"); + } + if(claimInterestOwed.scale()>2){ + failureMsg.append("【申请人主张欠利息】字段超出指定精度(10^-2);"); + } + } + BigDecimal claimLiquidDamag = caseApplication.getClaimLiquidDamag(); + if(null== claimLiquidDamag){ + failureMsg.append("【申请人主张违约金】字段不合法;"); + }else { + if(claimLiquidDamag.compareTo(new BigDecimal("0")) < 0 ||claimLiquidDamag.compareTo(new BigDecimal("99999999.99"))>0){ + failureMsg.append("【申请人主张违约金】字段超出范围,范围为[0,100000000);"); + } + if(claimLiquidDamag.scale()>2){ + failureMsg.append("【申请人主张违约金】字段超出指定精度(10^-2);"); + } + } + if( StrUtil.isEmpty(caseApplication.getArbitratClaims())){ + failureMsg.append("【申请人仲裁诉求】字段不能为空;"); + }else if(caseApplication.getArbitratClaims().length()>10000){ + failureMsg.append("【申请人仲裁诉求】字段超出指定长度,最大长度为10000;"); + } + } + + @Override @Transactional public int pendTral(CaseApplication caseApplication) { @@ -498,6 +728,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { @Override public CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication) { CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplicationConfirm(caseApplication); + if(caseApplicationselect==null){ + return caseApplicationselect; + } CaseAffiliate caseAffiliate = new CaseAffiliate(); caseAffiliate.setCaseAppliId(caseApplication.getId()); List caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); @@ -751,5 +984,4 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable()); } - }