张天森
2022-10-11 f418b9212bf73f686ccd4b3e94091cd98f3b4cde
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -2,7 +2,9 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.generator.SnowflakeGenerator;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -73,16 +75,30 @@
    @Resource
    private CommediateTypeService commediateTypeService;
    @Override
    public R pageByComEvent(ComEvent comEvent, Page pagination,LoginUserInfoVO loginUserInfoVO) {
        if (nonNull(comEvent.getUserType())){
            if (comEvent.getUserType().equals(1)){
                //个人账号权限
                comEvent.setRequestUserId(loginUserInfoVO.getUserId());
            }else if (comEvent.getUserType().equals(2)){
            }else if (comEvent.getUserType().equals(2) || loginUserInfoVO.getType().equals(13)){
                //专家账号权限
                ComSanshuoExpert expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getPhone, loginUserInfoVO.getPhone()));
                if (nonNull(expert)){
                    comEvent.setSpecialistId(expert.getId());
                }
            }else if (loginUserInfoVO.getType().equals(11)){
                //行业分中心权限
                comEvent.setUserType(3);
                //获取行业分中心id
                ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfoVO.getAccount()));
                if (nonNull(center)){
                    comEvent.setCenterId(center.getId().toString());
                }
            }else if (loginUserInfoVO.getType().equals(3)){
                //社区后台权限
                comEvent.setCommunityId(loginUserInfoVO.getCommunityId());
            }
        }
        IPage<ComEvent> list = baseMapper.pageByComEvent(comEvent, pagination);
@@ -98,6 +114,10 @@
//            }
            ComMediateType category = commediateTypeService.getById(comEvent1.getEventCategory());
            comEvent1.setEventCategoryName(category.getName());
            ComSanshuoExpert byId = comSanShuoExpertService.getById(comEvent1.getSpecialistId());
            if (nonNull(byId)){
                comEvent1.setExpertAvatar(byId.getAvatar());
            }
        });
        return R.ok(list);
    }
@@ -142,6 +162,7 @@
        if (!flag) {
            return R.fail(ReturnMsgConstants.DATA_EXIST);
        }
        //提交不视为一次流转记录,不保存图片
        saveEventImageList(comEvent.getImages(), comEvent.getId(),null,1);
        return R.ok(ReturnMsgConstants.SAVE_SUCCESS);
    }
@@ -174,6 +195,9 @@
/*        if (checkExist(comEvent.getOrderSn(), comEvent.getId())) {
            return R.fail(ReturnMsgConstants.DATA_EXIST);
        }*/
        //清除专家信息
        comEvent.setSpecialistId(null);
        comEvent.setSpecialistName(null);
        int flag = baseMapper.updateById(comEvent);
        return flag > 0 ? R.ok(comEvent, ReturnMsgConstants.UPDATE_SUCCESS) : R.fail(ReturnMsgConstants.UPDATE_FALSE);
    }
@@ -193,12 +217,11 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R conciliationEvent(ComEventConciliationVO comEventConciliationVO, LoginUserInfoVO loginUserInfo) {
        saveEventImageList(comEventConciliationVO.getImages(), comEventConciliationVO.getId(),null,4);
        ComEvent comEvent = baseMapper.selectById(comEventConciliationVO.getId());
        comEvent.setEventSucceed(comEventConciliationVO.getEventSucceed());
        comEvent.setEventResult(comEventConciliationVO.getEventResult());
        comEvent.setReportSuperior(comEventConciliationVO.getReportSuperior());
        if(comEventConciliationVO.getEventSucceed() ==2){
        if(comEventConciliationVO.getEventSucceed().equals(2)){
            comEvent.setEventProcessStatus(6);
        }
        comEvent.setCurrentEventProcessResult(comEventConciliationVO.getCurrentEventProcessResult());
@@ -237,7 +260,10 @@
        comEventTransferRecord.setSpecialistName(comEvent.getSpecialistName());
        comEventTransferRecord.setEventResult(comEvent.getEventSucceed());
        comEventTransferRecord.setEventStatus(comEvent.getEventProcessStatus());
        saveEventImageList(comEvent.getImages(),comEvent.getId(),comEventTransferRecord.getId(),4);
        //雪花id失效,使用eventId随机生成
        comEventTransferRecord.setId(Snowflake.getId());
        //saveEventImageList(comEvent.getImages(),comEvent.getId(),comEventTransferRecord.getId(),4);
        saveEventImageList(comEventConciliationVO.getImages(), comEventConciliationVO.getId(),comEventTransferRecord.getId(),4);
        comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord);
        return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE);
    }
@@ -252,6 +278,7 @@
            comEvent.setUserEventStatus(4);
            comEvent.setEventProcessStatus(8);
            comEvent.setRevokeDes("用户手动取消");
            comEvent.setRevokeDate(new Date());
            int flag = baseMapper.updateById(comEvent);
            return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE);
        } else {
@@ -273,12 +300,23 @@
        comEventDetailVO.setImages(comEventRequestImageVO);
        map.put("specter", specter);
        map.put("eventDetail", comEventDetailVO);
        List<ComEventTransferRecord> transferRecord = comEventTransferRecordService.list(new QueryWrapper<ComEventTransferRecord>().lambda().eq(ComEventTransferRecord::getEventId, id));
        List<ComEventTransferRecord> transferRecord = comEventTransferRecordService.list(new QueryWrapper<ComEventTransferRecord>().lambda().eq(ComEventTransferRecord::getEventId, id).orderByAsc(ComEventTransferRecord::getCreateAt));
        transferRecord.forEach(comEventTransferRecord -> {
            List<ComEventResource> list = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, comEvent.getId()));
            List<ComEventResource> list = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, comEvent.getId()).notIn(ComEventResource::getStatus,(1)).eq(ComEventResource::getTransferId, comEventTransferRecord.getId()));
            List<ComEventRequestImageVO> ImageVO = CopyUtil.deepCopyListObject(list, ComEventRequestImageVO.class);
            comEventTransferRecord.setImages(ImageVO);
            if (comEventTransferRecord.getEventStatus().equals(7)){
                map.put("archiveLog", comEventTransferRecord);
            }
        });
        //迭代器迭代删除归档记录
        Iterator<ComEventTransferRecord> iterator = transferRecord.iterator();
        while (iterator.hasNext()){
            ComEventTransferRecord comEventTransferRecord = iterator.next();
            if (comEventTransferRecord.getEventStatus().equals(7)){
                iterator.remove();
            }
        }
        map.put("transferLog", transferRecord);
        List<ComEventResource> resource = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id)
                .eq(ComEventResource::getStatus, 5));
@@ -352,9 +390,12 @@
        comEventTransferRecord.setSpecialistName(comEvent.getSpecialistName());
        comEventTransferRecord.setEventResult(comEvent.getEventSucceed());
        comEventTransferRecord.setEventStatus(comEvent.getEventProcessStatus());
        comEventTransferRecord.setId(Snowflake.getId());
        saveEventImageList(comEventArchiveVO.getImages(), comEvent.getId(), comEventTransferRecord.getId(), 5);
        return comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord);
    }
    /**
     * 大屏事件统计
     * @param indexDataDTO  查询入参