lidongdong
2022-10-11 84ff643bf7117c92acbbcdaaeb54329f3d651a86
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -2,6 +2,7 @@
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;
@@ -79,12 +80,25 @@
    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(11)){
                //专家账号权限
                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(12)){
                //行业分中心权限
                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);
@@ -100,7 +114,10 @@
//            }
            ComMediateType category = commediateTypeService.getById(comEvent1.getEventCategory());
            comEvent1.setEventCategoryName(category.getName());
            comEvent1.setExpertAvatar(comSanShuoExpertService.getById(comEvent1.getSpecialistId()).getAvatar());
            ComSanshuoExpert byId = comSanShuoExpertService.getById(comEvent1.getSpecialistId());
            if (nonNull(byId)){
                comEvent1.setExpertAvatar(byId.getAvatar());
            }
        });
        return R.ok(list);
    }
@@ -244,7 +261,7 @@
        comEventTransferRecord.setEventResult(comEvent.getEventSucceed());
        comEventTransferRecord.setEventStatus(comEvent.getEventProcessStatus());
        //雪花id失效,使用eventId随机生成
        comEventTransferRecord.setId((NumberUtil.min(comEvent.getId(), RandomUtil.randomInt(0,9999 ))));
        comEventTransferRecord.setId(Snowflake.getId());
        //saveEventImageList(comEvent.getImages(),comEvent.getId(),comEventTransferRecord.getId(),4);
        saveEventImageList(comEventConciliationVO.getImages(), comEventConciliationVO.getId(),comEventTransferRecord.getId(),4);
        comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord);
@@ -283,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()).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));
@@ -362,8 +390,8 @@
        comEventTransferRecord.setSpecialistName(comEvent.getSpecialistName());
        comEventTransferRecord.setEventResult(comEvent.getEventSucceed());
        comEventTransferRecord.setEventStatus(comEvent.getEventProcessStatus());
        comEventTransferRecord.setId((NumberUtil.min(comEvent.getId(), RandomUtil.randomInt(0,9999 ))));
        saveEventImageList(comEventTransferRecord.getImages(), comEvent.getId(), comEventTransferRecord.getId(), 5);
        comEventTransferRecord.setId(Snowflake.getId());
        saveEventImageList(comEventArchiveVO.getImages(), comEvent.getId(), comEventTransferRecord.getId(), 5);
        return comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord);
    }