forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-15 cdd90bc849a859d20f4e4b5e4a09f12906fc4be5
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java
@@ -3,12 +3,23 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
import cn.huge.module.cases.consts.CaseTaskConsts;
import cn.huge.module.cases.domain.po.CaseInfo;
import cn.huge.module.cases.domain.po.CaseTask;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseEvaluateMapper;
import cn.huge.module.cases.domain.po.CaseEvaluate;
import cn.huge.module.constant.BaseConsts;
import cn.huge.module.cust.dto.PaUserDTO;
import cn.huge.module.flow.consts.FlowNodeEnum;
import cn.huge.module.flow.consts.FlowableConsts;
import cn.huge.module.flow.domain.po.FlowNode;
import cn.huge.module.flow.service.FlowInfoService;
import cn.huge.module.mediate.constant.CaseInfoProcessBaseConstsEnum;
import cn.huge.module.mediate.constant.CaseProcessBaseConstsEnum;
import cn.huge.module.mediate.constant.CaseStatusBaseConstsEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -45,6 +56,12 @@
    @Autowired
    private CustClientImpl custClient;
    @Autowired
    private CaseTaskService caseTaskService;
    @Autowired
    private FlowInfoService flowInfoService;
    @Autowired
    private CaseInfoService caseInfoService;
    /**
    * 更新对象
@@ -155,6 +172,35 @@
            caseEvaluate.setCustId(loginUser.getCustId());
            caseEvaluate.setUpdateTime(nowDate);
            this.saveOrUpdate(caseEvaluate);
            // 结束流程
            QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
            caseTaskQueryWrapper.eq("case_id", caseEvaluate.getCaseId()).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex());
            CaseTask dsrpjCaseTask = caseTaskService.getOne(caseTaskQueryWrapper);
            // 完成当前当事人评价任务
            dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
            dsrpjCaseTask.setHandleUserId(loginUser.getId());
            dsrpjCaseTask.setHandleUserName(loginUser.getTrueName());
            dsrpjCaseTask.setHandleIllust("已受理");
            dsrpjCaseTask.setHandleUserName(loginUser.getTrueName());
            dsrpjCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
            dsrpjCaseTask.setHandleTime(nowDate);
            dsrpjCaseTask.setUpdateTime(nowDate);
            caseTaskService.updateCaseTask(dsrpjCaseTask);
            // 完成当前待受理工作流任务
            flowInfoService.completeTask(dsrpjCaseTask.getFlowableId(), dsrpjCaseTask.getProcessTaskId(),
                    FlowableConsts.OPERATION_forward, userId);
            // 更新纠纷信息
            CaseInfo caseInfoPO = new CaseInfo();
            caseInfoPO.setId(dsrpjCaseTask.getCaseId());
            caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
            caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes());
            caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
            caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
            caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
            caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
            caseInfoPO.setUpdateTime(nowDate);
            caseInfoService.updateCaseInfo(caseInfoPO);
        }catch (Exception e){
            log.error("[CaseEvaluateService.saveCaseEvaluateWechat]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseEvaluateService.saveCaseEvaluateWechat", e);