| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | private EventTransferRecordService eventTransferRecordService; |
| | | @Resource |
| | | private CommunityService communityService; |
| | | |
| | | /** |
| | | * 新增事件 |
| | | * @param eventAddDTO 事件新增DTO |
| | | * @return 新增结果 |
| | | */ |
| | | public R add(EventAddDTO eventAddDTO){ |
| | | EventDO eventDO = new EventDO(); |
| | | BeanUtils.copyProperties(eventAddDTO, eventDO); |
| | | eventDO.setCreateAt(new Date()); |
| | | if(eventMapper.insert(eventDO)>0){ |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 修改事件 |
| | | * @param eventEditDTO |
| | | * @return 维护结果 |
| | | */ |
| | | public R edit(EventEditDTO eventEditDTO){ |
| | | EventDO eventDO = new EventDO(); |
| | | BeanUtils.copyProperties(eventEditDTO, eventDO); |
| | | //eventDO.setUpdateAt(new Date()); |
| | | if(eventMapper.updateById(eventDO)>0){ |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | @Resource |
| | | private EventGridDataMapper eventGridDataMapper; |
| | | @Resource |
| | | private EventGridMemberRelationMapper eventGridMemberRelationMapper; |
| | | |
| | | /** |
| | | * 分页查找事件 |
| | | * @param pageEventDTO |
| | | * @return 维护结果 |
| | | */ |
| | | @Override |
| | | public R<IPage<EventVO>> query(PageEventDTO pageEventDTO){ |
| | | Page page = new Page(1,10); |
| | | if(pageEventDTO.getPageNum()!=null) { |
| | |
| | | eventVO.setAudios(audioList); |
| | | eventVO.setPics(picList); |
| | | eventVO.setVideos(videoList); |
| | | |
| | | //查询网格员头像 |
| | | String imageUrl = eventMapper.getGridMemberImageUrl(eventVO.getGridMemberId()); |
| | | if(StringUtils.isNotEmpty(imageUrl)){ |
| | | eventVO.setGridMemberImageUrl(imageUrl); |
| | | } |
| | | }); |
| | | return R.ok(ipage); |
| | | } |
| | |
| | | * @param commonEventDeleteDTO |
| | | * @return 平台用户信息 |
| | | */ |
| | | @Override |
| | | public R delete(CommonEventDeleteDTO commonEventDeleteDTO){ |
| | | EventDO eventDO = eventMapper.selectById(commonEventDeleteDTO.getId()); |
| | | if(eventDO==null){ |
| | |
| | | int updated = this.getBaseMapper().updateById(eventDO); |
| | | return updated==1?R.ok():R.fail(); |
| | | } |
| | | return R.fail("事件不是草稿/已撤销状态, 不允许删除"); |
| | | return R.fail("事件不是草稿/已撤销/无效状态, 不允许删除"); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param id 事件 id |
| | | * @return 查找结果 |
| | | */ |
| | | @Override |
| | | public R<EventDetailsVO> eventDetails(Long id){ |
| | | EventDO eventDO = eventMapper.selectById(id); |
| | | if(eventDO!=null) { |
| | | EventDetailsVO eventDetailsVO = new EventDetailsVO(); |
| | | BeanUtils.copyProperties(eventDO, eventDetailsVO); |
| | | EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(eventDO.getGridId()); |
| | | if(eventGridDataDO!=null) { |
| | | eventDetailsVO.setGridName(eventGridDataDO.getGridName()); |
| | | } |
| | | |
| | | //查询事件关联附件 |
| | | List<EventResourceDO> eventResourceDOList = |
| | | eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>() |
| | |
| | | eventTransferRecordVOS.add(eventTransferRecordVO); |
| | | } |
| | | eventDetailsVO.setTrans(eventTransferRecordVOS); |
| | | |
| | | //查询事件发布人头像 |
| | | String imageUrl = eventMapper.getGridMemberImageUrl(eventDO.getGridMemberId()); |
| | | if(StringUtils.isNotEmpty(imageUrl)){ |
| | | eventDetailsVO.setGridMemberImageUrl(imageUrl); |
| | | } |
| | | |
| | | return R.ok(eventDetailsVO); |
| | | } |
| | | return R.fail(); |
| | | return R.fail("事件不存在"); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public R addCommon(CommonEventAddDTO commonEventAddDTO) { |
| | | EventDO eventDO = new EventDO(); |
| | | BeanUtils.copyProperties(commonEventAddDTO, eventDO); |
| | | eventDO.setGridMemberId(commonEventAddDTO.getUserId()); |
| | | if(commonEventAddDTO instanceof CommonEventCommunityAddDTO) { |
| | | CommonEventCommunityAddDTO commonEventCommunityAddDTO = (CommonEventCommunityAddDTO)commonEventAddDTO; |
| | | eventDO.setGridMemberId(commonEventCommunityAddDTO.getGridMemberId()); |
| | | }else{ |
| | | eventDO.setGridMemberId(commonEventAddDTO.getUserId()); |
| | | } |
| | | EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventAddDTO.getGridId()); |
| | | if(eventGridDataDO==null){ |
| | | return R.fail("网格不存在"); |
| | | } |
| | | eventDO.setEventCategory(1l);//办件事件 |
| | | eventDO.setEventStatus(2);//事件状态 2发布 |
| | | eventDO.setProcessType(1);//网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | eventDO.setEventProcessStatus(1); |
| | | eventDO.setGridMemberId(commonEventAddDTO.getUserId()); |
| | | eventDO.setGridMemberName(commonEventAddDTO.getUserName()); |
| | | eventDO.setGridMemberTelephone(commonEventAddDTO.getPhone()); |
| | | eventDO.setCreateBy(commonEventAddDTO.getUserId()); |
| | | eventDO.setSubmitDate(new Date()); |
| | | eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType())); |
| | | if(eventMapper.insert(eventDO)==1){ |
| | | //添加音频 |
| | | if(StringUtils.isNotEmpty(commonEventAddDTO.getAudio())){ |
| | |
| | | eventResourceDO.setUrl(commonEventAddDTO.getAudio()); |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setCreateBy(commonEventAddDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventAddDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(audioAdd!=1){ |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setUrl(commonEventAddDTO.getVideo()); |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setCreateBy(commonEventAddDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventAddDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(videoAdd!=1){ |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R saveDraft(CommonEventEditDTO commonEventEditDTO) { |
| | | EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventEditDTO.getGridId()); |
| | | if(eventGridDataDO==null){ |
| | | return R.fail("网格不存在"); |
| | | } |
| | | if(commonEventEditDTO.getId()==null) { |
| | | EventDO eventDO = new EventDO(); |
| | | BeanUtils.copyProperties(commonEventEditDTO, eventDO); |
| | |
| | | eventDO.setGridMemberId(commonEventEditDTO.getUserId()); |
| | | eventDO.setGridMemberName(commonEventEditDTO.getUserName()); |
| | | eventDO.setGridMemberTelephone(commonEventEditDTO.getPhone()); |
| | | eventDO.setEventDealStatus(5); |
| | | if (eventMapper.insert(eventDO) > 0) { |
| | | //添加音频 |
| | | if (StringUtils.isNotEmpty(commonEventEditDTO.getAudio())) { |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(commonEventEditDTO.getAudio()); |
| | | eventResourceDO.setCreateBy(commonEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventEditDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (audioAdd != 1) { |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(commonEventEditDTO.getVideo()); |
| | | eventResourceDO.setCreateBy(commonEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventEditDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (videoAdd != 1) { |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | }else{ |
| | | //编辑原来的 |
| | | EventDO eventDO = eventMapper.selectById(commonEventEditDTO.getId()); |
| | | if(eventDO.getEventStatus()!=null && eventDO.getEventStatus()!=1 && eventDO.getEventDealStatus()!=6){ |
| | | return R.fail("保存草稿失败,事件不是草稿/已撤销状态"); |
| | | } |
| | | BeanUtils.copyProperties(commonEventEditDTO, eventDO); |
| | | eventDO.setGridMemberId(commonEventEditDTO.getUserId()); |
| | | eventDO.setEventCategory(1l);//办件事件 |
| | |
| | | eventDO.setProcessType(1);//网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | eventDO.setUpdateBy(commonEventEditDTO.getUserId()); |
| | | eventDO.setEventDealStatus(5); |
| | | if (eventMapper.updateById(eventDO) > 0) { |
| | | int deleted = eventResourceService.getBaseMapper() |
| | | .delete(new LambdaQueryWrapper<EventResourceDO>() |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(commonEventEditDTO.getAudio()); |
| | | eventResourceDO.setCreateBy(commonEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventEditDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (audioAdd != 1) { |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(commonEventEditDTO.getVideo()); |
| | | eventResourceDO.setCreateBy(commonEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventEditDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (videoAdd != 1) { |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | |
| | | R r = communityService.detailCommunity(commonEventReportDTO.getToId()); |
| | | if(!R.isOk(r)){ |
| | | return R.fail("查询社区错误"); |
| | | return R.fail("社区不存在"); |
| | | } |
| | | ComActVO comActVO= JSONObject.parseObject(JSONObject.toJSONString(r.getData()),ComActVO.class); |
| | | if(comActVO!=null){ |
| | | if(comActVO==null){ |
| | | return R.fail("社区不存在"); |
| | | } |
| | | eventDO.setCommunityProcess(1); //社区处理 |
| | |
| | | if(updated!=1){ |
| | | throw new ServiceException("更新突发事件状态更新失败"); |
| | | } |
| | | addTransferRecord(eventDO.getId(), commonEventReportDTO.getToId(), comActVO.getName(), 2, "上报社区成功"); |
| | | addTransferRecord(eventDO.getId(), commonEventReportDTO.getToId(), comActVO.getName(), 2, commonEventReportDTO.getProcessResult(), |
| | | commonEventReportDTO.getUserId(), commonEventReportDTO.getUserName(), 2); |
| | | return R.ok(); |
| | | |
| | | } |
| | |
| | | } |
| | | boolean canRevoke = eventDO.getEventStatus()==2; //发布状态 |
| | | if(!canRevoke){ |
| | | return R.fail("当前事件不允许撤销"); |
| | | return R.fail("当前事件不允许·"); |
| | | } |
| | | if(eventDO.getEventCategory()!=null && eventDO.getEventCategory().intValue()==2){//宣传教育事件 |
| | | //不做验证 |
| | | }else if(eventDO.getEventProcessStatus()==2 ||eventDO.getEventProcessStatus()==3) { //已解决 或者 待验证 不允许撤销 |
| | | Integer eventProcessStatus = eventDO.getEventProcessStatus()!=null?eventDO.getEventProcessStatus():-1; |
| | | if(eventProcessStatus==2 ||eventProcessStatus==3) { //已解决 或者 待验证 不允许撤销 |
| | | return R.fail("当前事件不允许撤销"); |
| | | } |
| | | eventDO.setEventStatus(4); |
| | |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | int updated = this.getBaseMapper().updateById(eventDO); |
| | | if(updated == 1){ |
| | | addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 1,"撤销成功"); |
| | | addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), |
| | | 1,"撤销成功", eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 7); |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R dealEvent(CommonEventDealDTO commonEventDealDTO) { |
| | | EventDO eventDO = this.getBaseMapper().selectById(commonEventDealDTO.getId()); |
| | | if (eventDO == null) { |
| | | return R.fail("事件不存在"); |
| | | } |
| | | boolean canDealByUser = eventDO.getEventStatus()==2 && eventDO.getEventProcessStatus()==1; |
| | | if(!canDealByUser){ |
| | | if(eventDO.getEventStatus()!=2){ |
| | |
| | | eventDO.setEventProcessStatus(2);//2已解决 |
| | | eventDO.setUpdateBy(commonEventDealDTO.getUserId()); |
| | | |
| | | //更新出利润信息 |
| | | //更新处理信息 |
| | | eventDO.setProcessUserId(commonEventDealDTO.getUserId()); |
| | | eventDO.setProcessUserName(commonEventDealDTO.getUserName()); |
| | | eventDO.setProcessDate(new Date()); |
| | |
| | | if(updated!=1){ |
| | | return R.fail("更新事件状态失败"); |
| | | } |
| | | Integer processType = -1; |
| | | if(eventDO.getInvalid()!=null){ |
| | | processType = 5; |
| | | }else{ |
| | | processType = 1; |
| | | } |
| | | EventTransferRecordDO transferRecordDO = |
| | | addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(),1, "网格员自处理完成"); |
| | | addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(),1, "网格员自处理完成", commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(), processType); |
| | | if(transferRecordDO!=null && transferRecordDO.getId()!=null){ |
| | | //添加音频 |
| | | if(StringUtils.isNotEmpty(commonEventDealDTO.getAudio())){ |
| | |
| | | eventResourceDO.setUrl(commonEventDealDTO.getAudio()); |
| | | eventResourceDO.setRefId(transferRecordDO.getId()); |
| | | eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventDealDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(audioAdd!=1){ |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setUrl(commonEventDealDTO.getVideo()); |
| | | eventResourceDO.setRefId(transferRecordDO.getId()); |
| | | eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventDealDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(videoAdd!=1){ |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | Long transferRecordId = transferRecordDO.getId(); |
| | | EventDO eventDOToUpdate = this.getBaseMapper().selectById(commonEventDealDTO.getId()); |
| | | eventDOToUpdate.setProcessRecordId(transferRecordId); |
| | | int transferRecordUpdated = this.getBaseMapper().updateById(eventDOToUpdate); |
| | | if(transferRecordUpdated!=1){ |
| | | throw new ServiceException("更新事件处理流程失败"); |
| | | } |
| | | |
| | | return R.ok(); |
| | | }else{ |
| | | throw new ServiceException("处理事件记录出错"); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public R verifyEvent(CommonEventVerifyDTO commonEventVerifyDTO) { |
| | |
| | | if(updated!=1){ |
| | | return R.fail("更新事件状态失败"); |
| | | } |
| | | addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, "事件验证完成"); |
| | | addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, commonEventVerifyDTO.getProcessResult(), |
| | | commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 6); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R republishEvent(CommonEventRepublicDTO commonEventRepublicDTO) { |
| | | EventDO eventDO = this.getBaseMapper().selectById(commonEventRepublicDTO.getId()); |
| | | public R republishEvent(CommonEventRepublishDTO commonEventRepublishDTO) { |
| | | EventDO eventDO = this.getBaseMapper().selectById(commonEventRepublishDTO.getId()); |
| | | boolean canRepublishByUser = eventDO.getEventStatus()==4; |
| | | if(!canRepublishByUser){ |
| | | return R.fail("当前不是撤销状态"); |
| | |
| | | eventDO.setEventStatus(2);//2 发布 |
| | | eventDO.setEventProcessStatus(1); //待解决 |
| | | eventDO.setProcessType(1); //网格员处理 |
| | | eventDO.setUpdateBy(commonEventRepublicDTO.getUserId()); |
| | | eventDO.setUpdateBy(commonEventRepublishDTO.getUserId()); |
| | | int updated = this.getBaseMapper().updateById(eventDO); |
| | | if(updated!=1){ |
| | | return R.fail("更新事件状态失败"); |
| | | } |
| | | addTransferRecord(eventDO.getId(), commonEventRepublicDTO.getUserId(), commonEventRepublicDTO.getUserName(), 1, "重新发布已撤销事件"); |
| | | addTransferRecord(eventDO.getId(), commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 1, |
| | | "重新发布已撤销事件", commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 8); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | if(!draftCanRelease){ |
| | | return R.fail("当前不是草稿状态"); |
| | | } |
| | | eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType())); |
| | | eventDO.setEventStatus(2);//事件状态 2发布 |
| | | eventDO.setProcessType(1);//当前处理对象类型:网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 生成服务单号 |
| | | * @param eventType 事件类型,宣传事件默认为20 |
| | | * @return |
| | | */ |
| | | private String getEventOrderSn(Integer eventType) { |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); |
| | | if(eventType==null){ |
| | | eventType = 20; |
| | | } |
| | | String pre = String.format(simpleDateFormat.format(new Date()) + "%02d", eventType); |
| | | Integer todayCount = this.getBaseMapper().selectCount(new LambdaQueryWrapper<EventDO>().likeRight(EventDO::getOrderSn, pre)); |
| | | String orderSn = String.format(pre + "%04d", todayCount+1); |
| | | return orderSn; |
| | | } |
| | | |
| | | @Override |
| | | public R saveSpecialDraft(SpecialEventEditDTO specialEventEditDTO) { |
| | | EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(specialEventEditDTO.getGridId()); |
| | | if(eventGridDataDO==null){ |
| | | return R.fail("网格不存在"); |
| | | } |
| | | R rtVal = R.fail(); |
| | | if(specialEventEditDTO.getId()==null) { |
| | | EventDO eventDO = new EventDO(); |
| | |
| | | eventDO.setProcessType(1);//网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | eventDO.setCreateBy(specialEventEditDTO.getUserId()); |
| | | eventDO.setEventDealStatus(5);//草稿状态 |
| | | if (eventMapper.insert(eventDO) > 0) { |
| | | //添加音频 |
| | | if (StringUtils.isNotEmpty(specialEventEditDTO.getAudio())) { |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(specialEventEditDTO.getAudio()); |
| | | eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(specialEventEditDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (audioAdd != 1) { |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(specialEventEditDTO.getVideo()); |
| | | eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(specialEventEditDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (videoAdd != 1) { |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | BeanUtils.copyProperties(specialEventEditDTO, eventDO); |
| | | eventDO.setGridMemberId(specialEventEditDTO.getUserId()); |
| | | eventDO.setEventCategory(1l);//办件事件 |
| | | eventDO.setEventStatus(1);//事件状态 2发布 |
| | | eventDO.setEventStatus(1);//事件状态 1草稿 |
| | | eventDO.setProcessType(1);//网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | eventDO.setUpdateBy(specialEventEditDTO.getUserId()); |
| | | eventDO.setEventDealStatus(5);//草稿状态 |
| | | if (eventMapper.updateById(eventDO) > 0) { |
| | | int deleted = eventResourceService.getBaseMapper() |
| | | .delete(new LambdaQueryWrapper<EventResourceDO>() |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(specialEventEditDTO.getAudio()); |
| | | eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(specialEventEditDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (audioAdd != 1) { |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(specialEventEditDTO.getVideo()); |
| | | eventResourceDO.setCreateBy(specialEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(specialEventEditDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (videoAdd != 1) { |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | |
| | | @Override |
| | | public R addSpecial(SpecialEventAddDTO specialEventAddDTO) { |
| | | EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(specialEventAddDTO.getGridId()); |
| | | if(eventGridDataDO==null){ |
| | | return R.fail("网格不存在"); |
| | | } |
| | | R rtVal = R.fail(); |
| | | EventDO eventDO = new EventDO(); |
| | | BeanUtils.copyProperties(specialEventAddDTO, eventDO); |
| | | eventDO.setGridMemberId(specialEventAddDTO.getUserId()); |
| | | eventDO.setEventCategory(1l);//办件事件 |
| | | eventDO.setEventType(EventType.SPECIAL);//特殊人群信息上报-事件分类 |
| | | eventDO.setEventStatus(1);//事件状态 1草稿 |
| | | eventDO.setEventStatus(2);//事件状态 2发布 |
| | | eventDO.setProcessType(1);//网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | eventDO.setCreateBy(specialEventAddDTO.getUserId()); |
| | | eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType())); |
| | | if (eventMapper.insert(eventDO) > 0) { |
| | | //添加音频 |
| | | if (StringUtils.isNotEmpty(specialEventAddDTO.getAudio())) { |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(specialEventAddDTO.getAudio()); |
| | | eventResourceDO.setCreateBy(specialEventAddDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(specialEventAddDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (audioAdd != 1) { |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(specialEventAddDTO.getVideo()); |
| | | eventResourceDO.setCreateBy(specialEventAddDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(specialEventAddDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (videoAdd != 1) { |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | |
| | | @Override |
| | | public R addPublicity(PublicityEventAddDTO publicityEventAddDTO) { |
| | | EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(publicityEventAddDTO.getGridId()); |
| | | if(eventGridDataDO==null){ |
| | | return R.fail("网格不存在"); |
| | | } |
| | | EventDO eventDO = new EventDO(); |
| | | BeanUtils.copyProperties(publicityEventAddDTO, eventDO); |
| | | eventDO.setGridMemberId(publicityEventAddDTO.getUserId()); |
| | |
| | | eventDO.setGridMemberName(publicityEventAddDTO.getUserName()); |
| | | eventDO.setGridMemberTelephone(publicityEventAddDTO.getPhone()); |
| | | eventDO.setCreateBy(publicityEventAddDTO.getUserId()); |
| | | eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType())); |
| | | if(eventMapper.insert(eventDO)==1){ |
| | | //添加音频 |
| | | if(StringUtils.isNotEmpty(publicityEventAddDTO.getAudio())){ |
| | |
| | | eventResourceDO.setUrl(publicityEventAddDTO.getAudio()); |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setCreateBy(publicityEventAddDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(publicityEventAddDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(audioAdd!=1){ |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setUrl(publicityEventAddDTO.getVideo()); |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setCreateBy(publicityEventAddDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(publicityEventAddDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(videoAdd!=1){ |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | |
| | | @Override |
| | | public R savePublicityDraft(PublicityEventEditDTO publicityEventEditDTO) { |
| | | EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(publicityEventEditDTO.getGridId()); |
| | | if(eventGridDataDO==null){ |
| | | return R.fail("网格不存在"); |
| | | } |
| | | if(publicityEventEditDTO.getId()==null) { |
| | | EventDO eventDO = new EventDO(); |
| | | BeanUtils.copyProperties(publicityEventEditDTO, eventDO); |
| | |
| | | eventDO.setGridMemberId(publicityEventEditDTO.getUserId()); |
| | | eventDO.setGridMemberName(publicityEventEditDTO.getUserName()); |
| | | eventDO.setGridMemberTelephone(publicityEventEditDTO.getPhone()); |
| | | eventDO.setEventDealStatus(5);//草稿状态 |
| | | if (eventMapper.insert(eventDO) > 0) { |
| | | //添加音频 |
| | | if (StringUtils.isNotEmpty(publicityEventEditDTO.getAudio())) { |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(publicityEventEditDTO.getAudio()); |
| | | eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(publicityEventEditDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (audioAdd != 1) { |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(publicityEventEditDTO.getVideo()); |
| | | eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(publicityEventEditDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (videoAdd != 1) { |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | }else{ |
| | | //编辑原来的 |
| | | EventDO eventDO = eventMapper.selectById(publicityEventEditDTO.getId()); |
| | | if(eventDO.getEventStatus()!=null && eventDO.getEventStatus()!=1 && eventDO.getEventDealStatus()!=6){ |
| | | return R.fail("保存草稿失败,事件不是草稿/撤销状态"); |
| | | } |
| | | BeanUtils.copyProperties(publicityEventEditDTO, eventDO); |
| | | eventDO.setGridMemberId(publicityEventEditDTO.getUserId()); |
| | | eventDO.setEventCategory(2L);//宣传事件 |
| | | eventDO.setEventStatus(1);//事件状态 2发布 |
| | | eventDO.setEventStatus(1);//事件状态 1草稿 |
| | | eventDO.setProcessType(1);//网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | eventDO.setUpdateBy(publicityEventEditDTO.getUserId()); |
| | | eventDO.setEventDealStatus(5);//草稿状态 |
| | | if (eventMapper.updateById(eventDO) > 0) { |
| | | int deleted = eventResourceService.getBaseMapper() |
| | | .delete(new LambdaQueryWrapper<EventResourceDO>() |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(publicityEventEditDTO.getAudio()); |
| | | eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(publicityEventEditDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (audioAdd != 1) { |
| | | throw new ServiceException("添加音频失败"); |
| | |
| | | eventResourceDO.setRefId(eventDO.getId()); |
| | | eventResourceDO.setUrl(publicityEventEditDTO.getVideo()); |
| | | eventResourceDO.setCreateBy(publicityEventEditDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(publicityEventEditDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if (videoAdd != 1) { |
| | | throw new ServiceException("添加视频失败"); |
| | |
| | | return communityService.listCommunityAll(); |
| | | } |
| | | |
| | | @Override |
| | | public R eventToManage(PageEventManageDTO pageEventManageDTO) { |
| | | //查询管理事件 |
| | | Page page = new Page(1,10); |
| | | if(pageEventManageDTO.getPageNum()!=null) { |
| | | page.setCurrent(pageEventManageDTO.getPageNum()); |
| | | } |
| | | if(pageEventManageDTO.getPageSize()!=null) { |
| | | page.setSize(pageEventManageDTO.getPageSize()); |
| | | } |
| | | IPage<EventVO> ipage = eventMapper.findToManageByPage(page, pageEventManageDTO); |
| | | if(ipage!=null){ |
| | | List<EventVO> eventVOList = ipage.getRecords(); |
| | | eventVOList.forEach(eventVO -> { |
| | | List<EventResourceDO> eventResourceDOList = |
| | | eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>() |
| | | .eq(EventResourceDO::getClassification, 1) |
| | | .eq(EventResourceDO::getRefId, eventVO.getId()) |
| | | ); |
| | | List<EventResourceVO> picList = new ArrayList<>(); |
| | | List<EventResourceVO> audioList = new ArrayList<>(); |
| | | List<EventResourceVO> videoList = new ArrayList<>(); |
| | | eventResourceDOList.forEach(eventResourceDO -> { |
| | | switch (eventResourceDO.getType()){ |
| | | case 1: |
| | | EventResourceVO picEventResourceVO = new EventResourceVO(); |
| | | BeanUtils.copyProperties(eventResourceDO, picEventResourceVO); |
| | | picList.add(picEventResourceVO); |
| | | break; |
| | | case 2: |
| | | EventResourceVO audioResourceVO = new EventResourceVO(); |
| | | BeanUtils.copyProperties(eventResourceDO, audioResourceVO); |
| | | audioList.add(audioResourceVO); |
| | | break; |
| | | case 3: |
| | | EventResourceVO videoResourceVO = new EventResourceVO(); |
| | | BeanUtils.copyProperties(eventResourceDO, videoResourceVO); |
| | | videoList.add(videoResourceVO); |
| | | break; |
| | | } |
| | | }); |
| | | eventVO.setAudios(audioList); |
| | | eventVO.setPics(picList); |
| | | eventVO.setVideos(videoList); |
| | | |
| | | //查询网格员头像 |
| | | String imageUrl = eventMapper.getGridMemberImageUrl(eventVO.getGridMemberId()); |
| | | if(StringUtils.isNotEmpty(imageUrl)){ |
| | | eventVO.setGridMemberImageUrl(imageUrl); |
| | | } |
| | | }); |
| | | return R.ok(ipage); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | @Override |
| | | public R markEventInvalid(EventRevokeDTO eventRevokeDTO) { |
| | | EventDO eventDO = this.getBaseMapper().selectById(eventRevokeDTO.getId()); |
| | | if(eventDO==null){ |
| | | return R.fail("事件不存在"); |
| | | } |
| | | if(eventDO.getEventCategory()!=null) { |
| | | if (eventDO.getEventCategory() == 1) { |
| | | boolean canRevoke = eventDO.getEventDealStatus() == 3; //上报状态 |
| | | if (!canRevoke) { |
| | | return R.fail("当前事件不是上报状态,不允许标为无效"); |
| | | } |
| | | }else if (eventDO.getEventCategory() == 2) { |
| | | boolean canRevoke = eventDO.getEventDealStatus() == 8; //发布状态 |
| | | if (!canRevoke) { |
| | | return R.fail("当前事件不是发布状态,不允许标为无效"); |
| | | } |
| | | }else{ |
| | | return R.fail(""); |
| | | } |
| | | }else{ |
| | | return R.fail("事件所属错误"); |
| | | } |
| | | eventDO.setInvalid(false); |
| | | //标为无效后, 交给网格员处理 |
| | | eventDO.setUpdateBy(eventRevokeDTO.getUserId()); |
| | | eventDO.setEventStatus(4);//4、撤销 |
| | | eventDO.setProcessType(1);//网格员处理 |
| | | eventDO.setCommunityProcess(0);//非 社区处理 |
| | | int updated = this.getBaseMapper().updateById(eventDO); |
| | | if(updated == 1){ |
| | | addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 1,"标为无效", eventRevokeDTO.getCommunityId(), eventRevokeDTO.getCommunityName(), 4); |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | @Override |
| | | public R republishInvalidEvent(CommonEventRepublishDTO commonEventRepublishDTO) { |
| | | EventDO eventDO = this.getBaseMapper().selectById(commonEventRepublishDTO.getId()); |
| | | if(eventDO==null){ |
| | | return R.fail("事件不存在"); |
| | | } |
| | | boolean canRepulish = eventDO.getEventDealStatus()==7; //已失效状态 |
| | | if(!canRepulish){ |
| | | return R.fail("当前事件不是已失效状态,不能重新发布"); |
| | | } |
| | | eventDO.setInvalid(true); |
| | | int updated = this.getBaseMapper().updateById(eventDO); |
| | | if(updated == 1){ |
| | | addTransferRecord(eventDO.getId(), commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 1,"重新发布事件成功", |
| | | commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 9 ); |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | @Override |
| | | public R communityDealEvent(CommonEventDealDTO commonEventDealDTO) { |
| | | EventDO eventDO = this.getBaseMapper().selectById(commonEventDealDTO.getId()); |
| | | if (eventDO == null) { |
| | | return R.fail("事件不存在"); |
| | | } |
| | | boolean canDealByCommunity = eventDO.getEventDealStatus() == 3; |
| | | if(!canDealByCommunity){ |
| | | return R.fail("事件当前不是上报状态"); |
| | | } |
| | | |
| | | List<EventTransferRecordDO> list = eventTransferRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<EventTransferRecordDO>() |
| | | .eq(EventTransferRecordDO::getEventId, eventDO.getId()) |
| | | .orderByDesc(EventTransferRecordDO::getCreateAt) |
| | | ); |
| | | |
| | | Long reportToInDB = -1L; |
| | | for (int i = 0; i < list.size(); i++) { |
| | | EventTransferRecordDO eventTransferRecordDO = list.get(i); |
| | | if(eventTransferRecordDO.getProcessType()!=null && eventTransferRecordDO.getProcessType()==2){ |
| | | reportToInDB = eventTransferRecordDO.getToId(); |
| | | } |
| | | } |
| | | if(commonEventDealDTO.getCommunityId()==null){ |
| | | return R.fail("当前用户社区获取失败"); |
| | | } |
| | | if(reportToInDB.longValue() != commonEventDealDTO.getCommunityId().longValue()){ |
| | | return R.fail("用户上报的社区不是当前社区"); |
| | | } |
| | | if(commonEventDealDTO.getNeedVerify()){ |
| | | eventDO.setEventProcessStatus(3);//待验证状态 |
| | | eventDO.setProcessType(1);//交给网格员处理-验证 |
| | | }else { |
| | | eventDO.setEventProcessStatus(2);//2已解决 |
| | | } |
| | | eventDO.setUpdateBy(commonEventDealDTO.getUserId()); |
| | | |
| | | //更新处理信息 |
| | | eventDO.setProcessUserId(commonEventDealDTO.getUserId()); |
| | | eventDO.setProcessUserName(commonEventDealDTO.getUserName()); |
| | | eventDO.setProcessDate(new Date()); |
| | | eventDO.setProcessDesc(commonEventDealDTO.getProcessResult()); |
| | | |
| | | int updated = this.getBaseMapper().updateById(eventDO); |
| | | if(updated!=1){ |
| | | return R.fail("更新事件状态失败"); |
| | | } |
| | | EventTransferRecordDO transferRecordDO = |
| | | addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(),1, |
| | | "社区处理完成", commonEventDealDTO.getCommunityId(), commonEventDealDTO.getCommunityName(), 3); |
| | | if(transferRecordDO!=null && transferRecordDO.getId()!=null){ |
| | | //添加音频 |
| | | if(StringUtils.isNotEmpty(commonEventDealDTO.getAudio())){ |
| | | EventResourceDO eventResourceDO = new EventResourceDO(); |
| | | eventResourceDO.setClassification(3); |
| | | eventResourceDO.setType(2); |
| | | eventResourceDO.setUrl(commonEventDealDTO.getAudio()); |
| | | eventResourceDO.setRefId(transferRecordDO.getId()); |
| | | eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventDealDTO.getAudioTime()); |
| | | int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(audioAdd!=1){ |
| | | throw new ServiceException("添加音频失败"); |
| | | } |
| | | } |
| | | //添加视频 |
| | | if(StringUtils.isNotEmpty(commonEventDealDTO.getVideo())){ |
| | | EventResourceDO eventResourceDO = new EventResourceDO(); |
| | | eventResourceDO.setClassification(3); |
| | | eventResourceDO.setType(3); |
| | | eventResourceDO.setUrl(commonEventDealDTO.getVideo()); |
| | | eventResourceDO.setRefId(transferRecordDO.getId()); |
| | | eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); |
| | | eventResourceDO.setResourceTime(commonEventDealDTO.getVideoTime()); |
| | | int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(videoAdd!=1){ |
| | | throw new ServiceException("添加视频失败"); |
| | | } |
| | | } |
| | | //添加图片 |
| | | if(StringUtils.isNotEmpty(commonEventDealDTO.getPics())){ |
| | | String[] pica = commonEventDealDTO.getPics().split(","); |
| | | for (int i = 0; i < pica.length; i++) { |
| | | EventResourceDO eventResourceDO = new EventResourceDO(); |
| | | eventResourceDO.setClassification(3); |
| | | eventResourceDO.setType(1); |
| | | eventResourceDO.setUrl(pica[i]); |
| | | eventResourceDO.setRefId(transferRecordDO.getId()); |
| | | eventResourceDO.setCreateBy(commonEventDealDTO.getUserId()); |
| | | int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO); |
| | | if(picAdd!=1){ |
| | | throw new ServiceException("添加图片失败"); |
| | | } |
| | | } |
| | | } |
| | | Long transferRecordId = transferRecordDO.getId(); |
| | | EventDO eventDOToUpdate = this.getBaseMapper().selectById(commonEventDealDTO.getId()); |
| | | eventDOToUpdate.setProcessRecordId(transferRecordId); |
| | | int transferRecordUpdated = this.getBaseMapper().updateById(eventDOToUpdate); |
| | | if(transferRecordUpdated!=1){ |
| | | throw new ServiceException("更新事件处理流程失败"); |
| | | } |
| | | return R.ok(); |
| | | }else{ |
| | | throw new ServiceException("处理事件记录出错"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public R selectCommunityPublicity(PagePublicityEventCommunityDTO pagePublicityEventDTO) { |
| | | Page page = new Page(1,10); |
| | | if(pagePublicityEventDTO.getPageNum()!=null) { |
| | | page.setCurrent(pagePublicityEventDTO.getPageNum()); |
| | | } |
| | | if(pagePublicityEventDTO.getPageSize()!=null) { |
| | | page.setSize(pagePublicityEventDTO.getPageSize()); |
| | | } |
| | | IPage<EventVO> ipage = eventMapper.findCommunityPublicityByPage(page, pagePublicityEventDTO); |
| | | if(ipage!=null){ |
| | | List<EventVO> eventVOList = ipage.getRecords(); |
| | | eventVOList.forEach(eventVO -> { |
| | | List<EventResourceDO> eventResourceDOList = |
| | | eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>() |
| | | .eq(EventResourceDO::getClassification, 1) |
| | | .eq(EventResourceDO::getRefId, eventVO.getId()) |
| | | ); |
| | | List<EventResourceVO> picList = new ArrayList<>(); |
| | | List<EventResourceVO> audioList = new ArrayList<>(); |
| | | List<EventResourceVO> videoList = new ArrayList<>(); |
| | | eventResourceDOList.forEach(eventResourceDO -> { |
| | | switch (eventResourceDO.getType()){ |
| | | case 1: |
| | | EventResourceVO picEventResourceVO = new EventResourceVO(); |
| | | BeanUtils.copyProperties(eventResourceDO, picEventResourceVO); |
| | | picList.add(picEventResourceVO); |
| | | break; |
| | | case 2: |
| | | EventResourceVO audioResourceVO = new EventResourceVO(); |
| | | BeanUtils.copyProperties(eventResourceDO, audioResourceVO); |
| | | audioList.add(audioResourceVO); |
| | | break; |
| | | case 3: |
| | | EventResourceVO videoResourceVO = new EventResourceVO(); |
| | | BeanUtils.copyProperties(eventResourceDO, videoResourceVO); |
| | | videoList.add(videoResourceVO); |
| | | break; |
| | | } |
| | | }); |
| | | eventVO.setAudios(audioList); |
| | | eventVO.setPics(picList); |
| | | eventVO.setVideos(videoList); |
| | | }); |
| | | return R.ok(ipage); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 添加发布事件流转记录 |
| | | * @param eventId 事件ID |
| | |
| | | eventTransferRecordDO.setProcessDate(new Date()); |
| | | eventTransferRecordDO.setEventId(eventId); |
| | | eventTransferRecordDO.setProcessResult("发布成功"); |
| | | eventTransferRecordDO.setProcessType(0);//初始状态 |
| | | int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); |
| | | if(inserted!=1){ |
| | | throw new ServiceException("事件流转记录添加失败"); |
| | | } |
| | | this.updateEventDealStatus(eventId); |
| | | return eventTransferRecordDO; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询最后的流转记录,并添加事件流转记录 |
| | |
| | | * @param msg 流转消息 |
| | | * @return |
| | | */ |
| | | private EventTransferRecordDO addTransferRecord(Long eventId, Long toId, String toName, Integer toType, String msg){ |
| | | private EventTransferRecordDO addTransferRecord(Long eventId, Long toId, String toName, Integer toType, String msg, Long processBy, String processByName, Integer processType){ |
| | | List<EventTransferRecordDO> list = eventTransferRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<EventTransferRecordDO>() |
| | | .eq(EventTransferRecordDO::getEventId, eventId) |
| | | .orderByDesc(EventTransferRecordDO::getCreateAt) |
| | |
| | | eventTransferRecordDO.setToName(toName); |
| | | eventTransferRecordDO.setEventId(eventId); |
| | | eventTransferRecordDO.setProcessResult(msg); |
| | | eventTransferRecordDO.setProcessBy(processBy); |
| | | eventTransferRecordDO.setProcessByName(processByName); |
| | | eventTransferRecordDO.setProcessType(processType); |
| | | int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO); |
| | | if(inserted==1) { |
| | | this.updateEventDealStatus(eventId); |
| | | return eventTransferRecordDO; |
| | | }else{ |
| | | throw new ServiceException("事件流转记录添加失败"); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询最后的流转记录,并添加事件流转记录 |
| | | * @param eventId 事件ID |
| | | * @param toId 流转到 ID |
| | | * @param toName 流转到 名称 |
| | | * @param toType 发送类型 |
| | | * @param msg 流转消息 |
| | | * @return |
| | | */ |
| | | /* private EventTransferRecordDO addTransferRecord(Long eventId, Long toId, String toName, Integer toType, String msg,Integer processType){ |
| | | return addTransferRecord(eventId, toId, toName, toType, msg, null, null, processType); |
| | | }*/ |
| | | |
| | | /** |
| | | * 根据子状态 查询用户事件处理状态 |
| | | * @param eventId 事件ID |
| | | */ |
| | | private EventDO updateEventDealStatus(Long eventId){ |
| | | EventDO eventDO = this.getBaseMapper().selectById(eventId); |
| | | Integer eventDealStatus = getEventDealStatus(eventDO); |
| | | eventDO.setEventDealStatus(eventDealStatus); |
| | | int updated = this.getBaseMapper().updateById(eventDO); |
| | | if(updated == 1){ |
| | | return eventDO; |
| | | }else{ |
| | | throw new ServiceException("更新事件处理状态错误"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据子状态 查询用户事件处理状态 |
| | | * @param eventDO 事件 |
| | | */ |
| | | private Integer getEventDealStatus(EventDO eventDO){ |
| | | //1 待处理、2 待验证、3 已上报、4 已解决、5 草稿箱、6已撤销、7已失效、8已发布 |
| | | if(eventDO.getEventCategory()!=null) { |
| | | if (eventDO.getEventCategory() == 1) { |
| | | Integer event_status = eventDO.getEventStatus()!=null?eventDO.getEventStatus():-1; |
| | | Integer event_process_status = eventDO.getEventProcessStatus()!=null?eventDO.getEventProcessStatus():-1; |
| | | Integer process_type = eventDO.getProcessType()!=null?eventDO.getProcessType():-1; |
| | | Integer community_process = eventDO.getCommunityProcess()!=null?eventDO.getCommunityProcess():-1; |
| | | |
| | | Integer eventDealStatus = -1; |
| | | if (eventDO.getInvalid() != null && eventDO.getInvalid() == false) { |
| | | eventDealStatus = 7; |
| | | //7已失效 |
| | | } else if (event_status == 1) { |
| | | eventDealStatus = 5; |
| | | //"草稿箱" |
| | | } else if ( event_status == 4) { |
| | | eventDealStatus = 6; |
| | | //"已撤销" |
| | | } else if (event_status ==2){ |
| | | if (event_process_status == 3) { |
| | | eventDealStatus = 2; |
| | | //"待验证" |
| | | }else if (event_process_status == 2) { |
| | | eventDealStatus = 4; |
| | | //"已解决" |
| | | }else if ( community_process == 1 && process_type == 2) { |
| | | eventDealStatus = 3; |
| | | //"已上报" |
| | | }else if ( event_process_status == 1 && process_type == 1) { |
| | | eventDealStatus = 1; |
| | | //"待处理" |
| | | } |
| | | } |
| | | return eventDealStatus; |
| | | } else if (eventDO.getEventCategory() == 2) { |
| | | Integer event_status = eventDO.getEventStatus(); |
| | | if (event_status != null && event_status == 1) { |
| | | return 5; |
| | | //"草稿箱" |
| | | } else if (event_status != null && event_status == 2) { |
| | | return 8; |
| | | //已发布 |
| | | } else if (event_status != null && event_status == 4) { |
| | | return 6; |
| | | //"已撤销" |
| | | } |
| | | } |
| | | } |
| | | return -1; |
| | | } |
| | | |
| | | /** |
| | | * 后台管理-统计模块 |
| | | * @param communityId 社区id |
| | | * @return 统计信息 |
| | | */ |
| | | @Override |
| | | public R eventStatistics(Long communityId){ |
| | | return R.ok(this.baseMapper.eventStatistics(communityId)); |
| | | } |
| | | /** |
| | | * 后台管理-网格员统计 |
| | | * @param statisticsAdminDTO 请求参数 |
| | | * @return 网格员统计信息 |
| | | */ |
| | | @Override |
| | | public R gridMemberStatistics(MemberStatisticsAdminDTO statisticsAdminDTO){ |
| | | return R.ok(eventGridMemberRelationMapper.gridMemberStatistics(new Page(statisticsAdminDTO.getPageNum(),statisticsAdminDTO.getPageSize()),statisticsAdminDTO)); |
| | | } |
| | | } |