forked from gzzfw/backEnd/gz-dyh

wangwh
2024-09-13 b512f03e1ea30e22209ec5a889d568c45f3e03c9
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
@@ -4,29 +4,32 @@
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.assist.domain.po.CaseAssistApply;
import cn.huge.module.assist.service.CaseAssistApplyService;
import cn.huge.module.cases.domain.po.CaseAssistApply;
import cn.huge.module.cases.domain.dto.TransactResultDTO;
import cn.huge.module.cases.domain.po.CaseInfo;
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.cases.dao.mapper.CaseInfoUnfoldMapper;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
import cn.huge.module.mediate.constant.CaseBaseConsts;
import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -56,6 +59,9 @@
    @Autowired
    private CaseAssistApplyService assistApplyService;
    @Autowired
    private SysClientImpl sysClient;
    /**
    * 更新对象
@@ -157,12 +163,24 @@
            // 获取当前登录用户
            CtUserDTO loginUser = custClient.clientGetUserAll(userId);
            CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold();
            CaseInfoUnfold.setId(caseId);
            CaseInfoUnfold.setMediatorId(loginUser.getId());
            CaseInfoUnfold.setMediator(loginUser.getTrueName());
            CaseInfoUnfold.setMediatorMobile(loginUser.getMobile());
            Map<String, Object> terms = new HashMap<>();
            terms.put("case_id", caseId);
            mapper.updateCaseInfoUnfoldTerms(CaseInfoUnfold, terms);
            mapper.updateCaseInfoUnfold(CaseInfoUnfold);
        }catch (Exception e){
            log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e);
        }
    }
    /**
     * PC端-删除经办人
     * @param caseId 对象
     */
    public void deletePrincipal(String caseId){
        try{
            mapper.deletePrincipal(caseId);
        }catch (Exception e){
            log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e);
@@ -170,24 +188,38 @@
    }
    public TransactResultDTO getTransactResult(String caseId){
        //查询办理结果信息
        QueryWrapper<CaseInfoUnfold>caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
        caseInfoUnfoldQueryWrapper.eq("case_id", caseId);
        CaseInfoUnfold caseInfoUnfold = this.getOne(caseInfoUnfoldQueryWrapper);
        try {
            //查询办理结果信息
            CaseInfoUnfold caseInfoUnfold = this.getById(caseId);
            if(StringUtils.isNotBlank(caseInfoUnfold.getMediResult())) {
                TransactResultDTO transactResultDTO = new TransactResultDTO();
                BeanUtils.copyProperties(caseInfoUnfold, transactResultDTO);
                if (ObjectUtils.isNotEmpty(transactResultDTO)) {
                    QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
                    caseAssistApplyQueryWrapper.select("apply_assist_unit_name").eq("case_id", caseId).eq("apply_status", 1)
                            .eq("audit_result", AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                    CaseAssistApply caseAssistApply = assistApplyService.getOne(caseAssistApplyQueryWrapper);
        TransactResultDTO transactResultDTO = new TransactResultDTO();
        BeanUtils.copyProperties(caseInfoUnfold, transactResultDTO);
        if(ObjectUtils.isNotEmpty(transactResultDTO)){
            QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
            caseAssistApplyQueryWrapper.select("apply_assist_unit_name").eq("case_id", caseId).eq("apply_status", 1)
                    .eq("audit_result", CaseBaseConsts.AUDIT_RESULT_1);
            CaseAssistApply caseAssistApply = assistApplyService.getOne(caseAssistApplyQueryWrapper);
            if(ObjectUtils.isNotEmpty(caseAssistApply)){
                transactResultDTO.setApplyAssistUnitName(caseAssistApply.getApplyAssistUnitName());
                    if (ObjectUtils.isNotEmpty(caseAssistApply)) {
                        transactResultDTO.setApplyAssistUnitName(caseAssistApply.getApplyAssistUnitName());
                    }
                }
                Map<String, Object> terms = new HashMap<>();
                terms.put("mainId", caseId);
                terms.put("ownerIds", "'" + caseId + "'");
                terms.put("types", "'" + FileOwnerTypeBaseEnum.OWNER_TYPE_302.getIndex() + "'");
                List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms);
                if (ObjectUtils.isNotEmpty(fileIdInfoBaseDTOList)) {
                    transactResultDTO.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList());
                }
                return transactResultDTO;
            }else {
                return null;
            }
        }catch (Exception e){
            log.error("[CaseInfoUnfoldService.getTransactResult]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseInfoUnfoldService.getTransactResult", e);
        }
        return transactResultDTO;
    }
}