From 1bb06ff92767a2c6db534dc1e78cb2d2d9dcf65c Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Wed, 11 Sep 2024 12:53:38 +0800
Subject: [PATCH] 小程序来访登记,异常抛出
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java | 255 ++++++++++++++++++++++++++++++---------------------
1 files changed, 150 insertions(+), 105 deletions(-)
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
index 9280c3c..baebe8c 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
@@ -3,18 +3,27 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.domain.dto.CaseInfoDTO;
+import cn.huge.module.cases.domain.dto.RegisterSaveDTO;
+import cn.huge.module.cases.domain.po.CaseAgent;
+import cn.huge.module.cases.domain.po.CaseInfo;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.constant.BaseConsts;
import cn.huge.module.mediate.constant.CaseBaseConsts;
import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.draft.dao.mapper.CasedraftInfoMapper;
+import cn.huge.module.draft.domain.dto.CasedraftInfoDTO;
import cn.huge.module.draft.domain.dto.DraftRegisterSaveDTO;
import cn.huge.module.draft.domain.po.CasedraftAgent;
import cn.huge.module.draft.domain.po.CasedraftInfo;
import cn.huge.module.draft.domain.po.CasedraftPerson;
+import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeTermsDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
@@ -28,10 +37,8 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @title: 纠纷信息草稿表业务逻辑处理
@@ -60,6 +67,9 @@
@Autowired
private CustClientImpl custClient;
+
+ @Autowired
+ private SysClientImpl sysClient;
/**
* 更新对象
@@ -167,28 +177,18 @@
StringBuffer defendants = new StringBuffer();
StringBuffer pagents = new StringBuffer();
StringBuffer dagents = new StringBuffer();
- int peopleNum = 0;
CasedraftInfo casedraftInfo = new CasedraftInfo();
- CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
BeanUtils.copyProperties(draftRegisterSaveDTO, casedraftInfo);
- casedraftInfo.setId(utilsClient.getNewTimeId());
- casedraftInfo.setInputUnitId(loginUser.getUnitId());
- casedraftInfo.setInputUnitName(loginUser.getUnitName());
- casedraftInfo.setInputUserId(loginUser.getId());
- casedraftInfo.setInputUserName(loginUser.getTrueName());
- casedraftInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
- casedraftInfo.setCreateTime(nowDate);
+ casedraftInfo.setCustId(loginUser.getCustId());
casedraftInfo.setUpdateTime(nowDate);
- //todo case_title
-
// 常规登记-保存当事人
- peopleNum += this.saveCaseDraftPerson(draftRegisterSaveDTO, plaintiffs, pagents, defendants, dagents);
- casedraftInfo.setPeopleNum(peopleNum);
+ this.saveCaseDraftPerson(draftRegisterSaveDTO, plaintiffs, pagents, defendants, dagents);
casedraftInfo.setPlaintiffs(plaintiffs.toString());
casedraftInfo.setPagents(pagents.toString());
casedraftInfo.setDefendants(defendants.toString());
casedraftInfo.setDagents(dagents.toString());
+
this.saveOrUpdate(casedraftInfo);
@@ -208,123 +208,109 @@
* @param dagents 被申请人代理人
* @return int
*/
- private int saveCaseDraftPerson(DraftRegisterSaveDTO draftRegisterSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
- StringBuffer defendants, StringBuffer dagents){
- int peopleNum = 0;
- List<String> newDraftPersonIdList = new ArrayList<>();
- List<String> newDraftAgentIdList = new ArrayList<>();
- // 保存申请人
- List<CasedraftPerson> plaintPersonList = draftRegisterSaveDTO.getPlaintiffList();
- if (CollectionUtils.isNotEmpty(plaintPersonList)) {
- for (CasedraftPerson casedraftPerson : plaintPersonList) {
- newDraftPersonIdList.add(casedraftPerson.getId());
+ private void saveCaseDraftPerson(DraftRegisterSaveDTO draftRegisterSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
+ StringBuffer defendants, StringBuffer dagents){
+
+ Date now = DateUtils.getNowDate();
+
+ List<CasedraftPerson> casedraftPersonList = draftRegisterSaveDTO.getPersonList();
+ List<CasedraftAgent> casedraftAgentList = draftRegisterSaveDTO.getAgentList();
+
+ //查出已存在的当事人和代理人编号
+ List<String> oldPersonIdList = draftPersonService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ List<String> oldAgentIdList = draftAgentService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ String oldPersonIds = oldPersonIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
+ String oldAgentIds = oldAgentIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
+ List<String> newPersonIdList = new ArrayList<>();
+ List<String> newAgentIdList = new ArrayList<>();
+
+ if(CollectionUtils.isNotEmpty(casedraftPersonList)){
+ for(CasedraftPerson casedraftPerson: casedraftPersonList){
+ newPersonIdList.add(casedraftPerson.getId());
casedraftPerson.setCaseId(draftRegisterSaveDTO.getId());
- casedraftPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex());
- casedraftPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_1.getDes());
casedraftPerson.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftPerson.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftPerson.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
+ casedraftPerson.setUpdateTime(now);
- draftPersonService.saveOrUpdate(casedraftPerson);
-
- if (StringUtils.isNotEmpty(plaintiffs.toString())) {
- plaintiffs.append(BaseConsts.COMMA);
+ //添加申请方和被申请方人名组合
+ if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casedraftPerson.getPerType())){
+ //申请方
+ if (StringUtils.isNotEmpty(plaintiffs.toString())) {
+ plaintiffs.append(BaseConsts.COMMA);
+ }
+ plaintiffs.append(casedraftPerson.getTrueName());
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casedraftPerson.getPerType())){
+ //被申请方
+ if (StringUtils.isNotEmpty(defendants.toString())) {
+ defendants.append(BaseConsts.COMMA);
+ }
+ defendants.append(casedraftPerson.getTrueName());
}
- plaintiffs.append(casedraftPerson.getTrueName());
- peopleNum++;
+
+ //判断是否为更新(用原有的Id对比性的Id)
+ if(oldPersonIds.contains(casedraftPerson.getId())){
+ draftPersonService.updateById(casedraftPerson);
+ }else{
+ casedraftPerson.setCreateTime(now);
+ draftPersonService.save(casedraftPerson);
+ }
}
- //保存代理人
- List<CasedraftAgent> pagentList = draftRegisterSaveDTO.getPagentList();
- if (CollectionUtils.isNotEmpty(pagentList)) {
- for(CasedraftAgent casedraftAgent: pagentList){
- newDraftAgentIdList.add(casedraftAgent.getId());
- casedraftAgent.setId(utilsClient.getNewTimeId());
- casedraftAgent.setCaseId(draftRegisterSaveDTO.getId());
- casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType()));
- casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftAgent.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftAgent.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
+ }
- draftAgentService.saveOrUpdate(casedraftAgent);
+ if(CollectionUtils.isNotEmpty(casedraftAgentList)) {
+ for (CasedraftAgent casedraftAgent : casedraftAgentList) {
+ newAgentIdList.add(casedraftAgent.getId());
+ casedraftAgent.setCaseId(draftRegisterSaveDTO.getId());
+ casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType()));
+ casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId());
+ casedraftAgent.setUpdateTime(now);
+ if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(casedraftAgent.getPerType())) {
if (StringUtils.isNotEmpty(pagents.toString())) {
pagents.append(BaseConsts.COMMA);
}
pagents.append(casedraftAgent.getTrueName());
- }
-
- //todo 绑定当事人小程序
- }
- }
- // 保存被申请人
- List<CasedraftPerson> defendPersonList = draftRegisterSaveDTO.getDefendantList();
- if(CollectionUtils.isNotEmpty(defendPersonList)){
- for (CasedraftPerson casedraftPerson : defendPersonList) {
- newDraftPersonIdList.add(casedraftPerson.getId());
- casedraftPerson.setCaseId(draftRegisterSaveDTO.getId());
- casedraftPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex());
- casedraftPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_2.getDes());
- casedraftPerson.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftPerson.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftPerson.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
- //todo 绑定当事人小程序
- draftPersonService.saveOrUpdate(casedraftPerson);
- if (StringUtils.isNotEmpty(defendants.toString())) {
- defendants.append(BaseConsts.COMMA);
- }
- defendants.append(casedraftPerson.getTrueName());
- peopleNum++;
- }
- //保存代理人
- List<CasedraftAgent> pagentList = draftRegisterSaveDTO.getPagentList();
- if (CollectionUtils.isNotEmpty(pagentList)) {
- for(CasedraftAgent casedraftAgent: pagentList){
- newDraftAgentIdList.add(casedraftAgent.getId());
- casedraftAgent.setId(utilsClient.getNewTimeId());
- casedraftAgent.setCaseId(draftRegisterSaveDTO.getId());
- casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType()));
- casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftAgent.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftAgent.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
- draftAgentService.saveOrUpdate(casedraftAgent);
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(casedraftAgent.getPerType())) {
if (StringUtils.isNotEmpty(dagents.toString())) {
dagents.append(BaseConsts.COMMA);
}
dagents.append(casedraftAgent.getTrueName());
}
- }
+ //判断是否为更新(用原有的Id对比性的Id)
+ if(oldAgentIds.contains(casedraftAgent.getId())){
+ draftAgentService.updateById(casedraftAgent);
+ }else{
+ casedraftAgent.setCreateTime(now);
+ draftAgentService.save(casedraftAgent);
+ }
+ }
}
- // 删除冗余的申请人
- if (CollectionUtils.isNotEmpty(newDraftPersonIdList)) {
- List<String> oldPersonIdList = draftPersonService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ // 删除冗余的申请人(用新的Id对比旧的Id)
+ if (CollectionUtils.isNotEmpty(newPersonIdList)) {
for (String oldPersonId : oldPersonIdList) {
- if (!newDraftPersonIdList.contains(oldPersonId)) {
+ if (!newPersonIdList.contains(oldPersonId)) {
draftPersonService.removeById(oldPersonId);
}
}
}else{
- QueryWrapper<CasedraftPerson> casedraftPersonQueryWrapper = new QueryWrapper<>();
- casedraftPersonQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
- draftPersonService.remove(casedraftPersonQueryWrapper);
+ QueryWrapper<CasedraftPerson> casePersonQueryWrapper = new QueryWrapper<>();
+ casePersonQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
+ draftPersonService.remove(casePersonQueryWrapper);
}
//删除冗余的代理人
- if(CollectionUtils.isNotEmpty(newDraftAgentIdList)){
- List<String> oldAgentIdList = draftAgentService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ if(CollectionUtils.isNotEmpty(newAgentIdList)){
for(String oldAgentId: oldAgentIdList){
- if(!newDraftAgentIdList.contains(oldAgentId)){
+ if(!newAgentIdList.contains(oldAgentId)){
draftAgentService.removeById(oldAgentId);
}
}
}else{
- QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>();
- casedraftAgentQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
- draftAgentService.remove(casedraftAgentQueryWrapper);
+ QueryWrapper<CasedraftAgent> caseAgentQueryWrapper = new QueryWrapper<>();
+ caseAgentQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
+ draftAgentService.remove(caseAgentQueryWrapper);
}
-
- return peopleNum;
}
/**
@@ -336,7 +322,7 @@
try{
// 删除纠纷草稿信息
QueryWrapper<CasedraftInfo> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("serie_no", caseId);
+ queryWrapper.eq("id", caseId);
List<CasedraftInfo> draftInfoList = mapper.selectList(queryWrapper);
List<String> ownerIdList = new ArrayList<>();
for (CasedraftInfo casedraftInfo : draftInfoList) {
@@ -350,13 +336,72 @@
QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>();
casedraftAgentQueryWrapper.eq("case_id", casedraftInfo.getId());
//todo 删除附件关系
-// FileTypeTermsDTO fileTypeTermsDTO = new FileTypeTermsDTO();
-// fileTypeTermsDTO.setOwnerIdList(ownerIdList);
-// sysClient.removeFileRelate(fileTypeTermsDTO);
+ FileTypeTermsDTO fileTypeTermsDTO = new FileTypeTermsDTO();
+ fileTypeTermsDTO.setOwnerIdList(ownerIdList);
+ sysClient.removeFileRelate(fileTypeTermsDTO);
}
}catch (Exception e){
log.error("service方法[CasedraftInfoService.removeDraftInfo]调用异常:"+e, e);
throw new ServiceException("CasedraftInfoService.removeDraftInfo", e);
}
}
+
+ /**
+ * PC端-查询纠纷信息
+ * @param caseId 纠纷编号
+ * @return CaseInfo 纠纷信息
+ */
+ public CasedraftInfoDTO getCasedraftInfo(String caseId){
+ CasedraftInfo casedraftInfo = mapper.selectById(caseId);
+ CasedraftInfoDTO caseInfoDTO = new CasedraftInfoDTO();
+ if (ObjectUtils.isNotEmpty(casedraftInfo)) {
+
+ BeanUtils.copyProperties(casedraftInfo, caseInfoDTO);
+ //查询所有当事人
+ QueryWrapper<CasedraftPerson> draftPersonQueryWrapper = new QueryWrapper<>();
+ draftPersonQueryWrapper.eq("case_id", caseId);
+ List<CasedraftPerson> casePersonList = draftPersonService.list(draftPersonQueryWrapper);
+
+ //查询所有代理人
+ QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>();
+ casedraftAgentQueryWrapper.eq("case_id", caseId);
+ List<CasedraftAgent> caseAgentList = draftAgentService.list(casedraftAgentQueryWrapper);
+ List<String> idList = new ArrayList<>();
+
+ idList.add(caseId);
+ idList.addAll(casePersonList.stream().map(CasedraftPerson::getId).collect(Collectors.toList()));
+ idList.addAll(caseAgentList.stream().map(CasedraftAgent::getId).collect(Collectors.toList()));
+ String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
+ ids = "'"+ ids + "'";
+ Map<String, Object> term = new HashMap<>();
+ term.put("mainId", caseId);
+ term.put("ownerIds", ids);
+ //查询所有附件
+ List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term);
+ //把附件根据编号放入
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(caseId.equals(fileInfo.getOwnerId())){
+ caseInfoDTO.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ for(CasedraftPerson casePerson: casePersonList){
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(casePerson.getId().equals(fileInfo.getOwnerId())){
+ casePerson.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ }
+ for(CasedraftAgent caseAgent: caseAgentList){
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(caseAgent.getId().equals(fileInfo.getOwnerId())){
+ caseAgent.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ }
+
+ caseInfoDTO.setPersonList(casePersonList);
+ caseInfoDTO.setAgentList(caseAgentList);
+ }
+ return caseInfoDTO;
+ }
}
--
Gitblit v1.8.0