forked from gzzfw/backEnd/gz-dyh

wangwh
2024-09-11 a3524b95bc1f180df80ba19c1d6558cb614555a5
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -3,8 +3,10 @@
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.po.CaseFeedbackHis;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.cases.domain.po.CaseTask;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
@@ -16,6 +18,8 @@
import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
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.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -62,6 +66,9 @@
    @Autowired
    private CaseInfoUnfoldService unfoldService;
    @Autowired
    private CaseTaskService caseTaskService;
    /**
    * 更新对象
@@ -154,37 +161,65 @@
    }
    /**
     * 获取办理反馈信息
     * 获取办理信息
     * @param caseId
     * @param userId
     * @return
     */
    public Map<String, Object> getFeedbackInfo(String caseId, String userId){
        // 临时给前端联调数据
        Map<String, Object> result = Maps.newHashMap();
//        result.put("handleUnitName", "白云区教育局");
//        result.put("handleUserName", "王一顺");
//        result.put("assistUnitName", "白云区司法局");
//        result.put("acceptTime", "2024-09-07 12:34");
        CaseInfoUnfold caseInfoUnfold = unfoldService.getById(caseId);
        if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
            result.put("handleUserId", caseInfoUnfold.getMediatorId());
            result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
            result.put("handleUserName", caseInfoUnfold.getMediator());
            result.put("assistUnitName", caseInfoUnfold.getAssistUnitName());
            result.put("acceptTime", caseInfoUnfold.getAcceptTime());
        }
        return result;
    }
    /**
     * 获取办理反馈记录
     * @param id 条件
     * @return Page
     */
    public Map<String, Object> listFeedback(String id) {
        Map<String, Object> result = new HashMap<>();
        try {
            Map<String, Object> result = new HashMap<>();
            CaseInfoUnfold caseInfoUnfold = unfoldService.getById(id);
            if(ObjectUtils.isNotEmpty(caseInfoUnfold)){
                result.put("manager", caseInfoUnfold.getMediator());
            }
            QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>();
            caseFeedbackQueryWrapper.eq("case_id", id);
            List<CaseFeedback> caseFeedbackList = mapper.selectList(caseFeedbackQueryWrapper);
        QueryWrapper<CaseInfoUnfold> caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
        caseInfoUnfoldQueryWrapper.eq("case_id", id);
        CaseInfoUnfold caseInfoUnfold = unfoldService.getOne(caseInfoUnfoldQueryWrapper);
        result.put("manager", caseInfoUnfold.getMediator());
        QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>();
        caseFeedbackQueryWrapper.eq("case_id", id);
        List<CaseFeedback> caseFeedbackList = mapper.selectList(caseFeedbackQueryWrapper);
            String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
            ownerIds = "'"+ ownerIds + "'";
            Map<String, Object> map = new HashMap<>();
            map.put("mainId", id);
            map.put("ownerIds", ownerIds);
            List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map);
        String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
        ownerIds = "'"+ ownerIds + "'";
        Map<String, Object> map = new HashMap<>();
        map.put("mainId", id);
        map.put("ownerIds", ownerIds);
        List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map);
        for(CaseFeedback caseFeedback: caseFeedbackList){
            for(FileIdInfoBaseDTO fileInfo: fileInfoList){
                if(caseFeedback.getId().equals(fileInfo.getOwnerId())){
                    caseFeedback.setFileInfoList(fileInfo.getFileList());
            for(CaseFeedback caseFeedback: caseFeedbackList){
                for(FileIdInfoBaseDTO fileInfo: fileInfoList){
                    if(caseFeedback.getId().equals(fileInfo.getOwnerId())){
                        caseFeedback.setFileInfoList(fileInfo.getFileList());
                    }
                }
            }
            result.put("caseFeedbackList", caseFeedbackList);
            return result;
        }catch (Exception e){
            log.error("[caseFeedbackService.listFeedback]调用失败,异常信息:"+e, e);
            throw new ServiceException("caseFeedbackService.listFeedback", e);
        }
        result.put("caseFeedbackList", caseFeedbackList);
        return result;
    }
    /**
@@ -200,7 +235,6 @@
            caseFeedback.setHandleUserId(loginUser.getId());
            caseFeedback.setHandleUserName(loginUser.getTrueName());
            Date nowDate = DateUtils.getNowDate();
            caseFeedback.setId(utilsClient.getNewTimeId());
            caseFeedback.setUpdateTime(nowDate);
            caseFeedback.setCreateTime(nowDate);
            //todo 承办、配合--查询task