From f4925db559734b543a1d3fdb0dea8da3b395b4a9 Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期一, 07 六月 2021 19:46:50 +0800
Subject: [PATCH] bugfixed

---
 springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java |  184 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 184 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
index 3c40986..c1a6072 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1836,4 +1836,188 @@
         statisticsDetailVO.setNoSum(noSum);
         return R.ok(statisticsDetailVO);
     }
+
+    @Override
+    public R reportDirect(CommonEventDirectReportDTO commonEventDirectReportDTO) {
+
+        if(commonEventDirectReportDTO.getEventId()!=null){
+            //编辑原来的
+            EventDO eventDO = eventMapper.selectById(commonEventDirectReportDTO.getEventId());
+            if (eventDO.getEventStatus() != null && eventDO.getEventStatus() != 1 && eventDO.getEventDealStatus() != 6) {
+                return R.fail("保存草稿失败,事件不是草稿/已撤销状态");
+            }
+            BeanUtils.copyProperties(commonEventDirectReportDTO, eventDO);
+            eventDO.setGridMemberId(commonEventDirectReportDTO.getUserId());
+            eventDO.setEventCategory(1l);//办件事件
+            eventDO.setEventStatus(1);//事件状态 2发布
+            eventDO.setProcessType(1);//网格员处理
+            eventDO.setCommunityProcess(0);//非 社区处理
+            eventDO.setUpdateBy(commonEventDirectReportDTO.getUserId());
+            eventDO.setEventDealStatus(5);
+            if (eventMapper.updateById(eventDO) > 0) {
+                int deleted = eventResourceService.getBaseMapper()
+                        .delete(new LambdaQueryWrapper<EventResourceDO>()
+                                .eq(EventResourceDO::getClassification, 1)
+                                .eq(EventResourceDO::getRefId, eventDO.getId()));
+                //添加音频
+                if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getAudio())) {
+                    EventResourceDO eventResourceDO = new EventResourceDO();
+                    eventResourceDO.setClassification(1);
+                    eventResourceDO.setType(2);
+                    eventResourceDO.setRefId(eventDO.getId());
+                    eventResourceDO.setUrl(commonEventDirectReportDTO.getAudio());
+                    eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+                    eventResourceDO.setResourceTime(commonEventDirectReportDTO.getAudioTime());
+                    int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+                    if (audioAdd != 1) {
+                        throw new ServiceException("添加音频失败");
+                    }
+                }
+                //添加视频
+                if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getVideo())) {
+                    EventResourceDO eventResourceDO = new EventResourceDO();
+                    eventResourceDO.setClassification(1);
+                    eventResourceDO.setType(3);
+                    eventResourceDO.setRefId(eventDO.getId());
+                    eventResourceDO.setUrl(commonEventDirectReportDTO.getVideo());
+                    eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+                    eventResourceDO.setResourceTime(commonEventDirectReportDTO.getVideoTime());
+                    int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+                    if (videoAdd != 1) {
+                        throw new ServiceException("添加视频失败");
+                    }
+                }
+                //添加图片
+                if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getPics())) {
+                    String[] pica = commonEventDirectReportDTO.getPics().split(",");
+                    for (int i = 0; i < pica.length; i++) {
+                        EventResourceDO eventResourceDO = new EventResourceDO();
+                        eventResourceDO.setClassification(1);
+                        eventResourceDO.setType(1);
+                        eventResourceDO.setRefId(eventDO.getId());
+                        eventResourceDO.setUrl(pica[i]);
+                        eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+                        int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+                        if (picAdd != 1) {
+                            throw new ServiceException("添加图片失败");
+                        }
+                    }
+                }
+
+                R r = communityService.detailCommunity(commonEventDirectReportDTO.getToId());
+                if (!R.isOk(r)) {
+                    return R.fail("社区不存在");
+                }
+                ComActVO comActVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), ComActVO.class);
+                if (comActVO == null) {
+                    return R.fail("社区不存在");
+                }
+                EventDO eventDOInDB = this.getBaseMapper().selectById(commonEventDirectReportDTO.getEventId());
+                eventDOInDB.setCommunityProcess(1);    //社区处理
+                eventDOInDB.setProcessType(2);    //当前处理对象: 社区处理
+                eventDOInDB.setCommunityProcess(1);
+                eventDOInDB.setEventProcessStatus(1);    //待处理
+                eventDOInDB.setUpdateBy(commonEventDirectReportDTO.getUserId());
+                eventDOInDB.setSubmitDate(new Date());
+                int updated = this.getBaseMapper().updateById(eventDO);
+                if (updated != 1) {
+                    throw new ServiceException("事件状态更新失败");
+                }
+                addTransferRecord(eventDO.getId(), commonEventDirectReportDTO.getToId(), comActVO.getName(), 2, commonEventDirectReportDTO.getProcessResult(),
+                        commonEventDirectReportDTO.getUserId(), commonEventDirectReportDTO.getUserName(), 2);
+                return R.ok();
+            }
+
+        }else{
+            EventDO eventDO = new EventDO();
+            BeanUtils.copyProperties(commonEventDirectReportDTO, eventDO);
+            eventDO.setGridMemberId(commonEventDirectReportDTO.getUserId());
+            EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventDirectReportDTO.getGridId());
+            if (eventGridDataDO == null) {
+                return R.fail("网格不存在");
+            }
+            eventDO.setEventCategory(1l);//办件事件
+            eventDO.setEventStatus(2);//事件状态 2发布
+            eventDO.setProcessType(1);//网格员处理
+            eventDO.setCommunityProcess(0);//非 社区处理
+            eventDO.setEventProcessStatus(1);
+            eventDO.setGridMemberName(commonEventDirectReportDTO.getUserName());
+            eventDO.setGridMemberTelephone(commonEventDirectReportDTO.getPhone());
+            eventDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+            eventDO.setSubmitDate(new Date());
+            eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
+            if (eventMapper.insert(eventDO) == 1) {
+                //添加音频
+                if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getAudio())) {
+                    EventResourceDO eventResourceDO = new EventResourceDO();
+                    eventResourceDO.setClassification(1);
+                    eventResourceDO.setType(2);
+                    eventResourceDO.setUrl(commonEventDirectReportDTO.getAudio());
+                    eventResourceDO.setRefId(eventDO.getId());
+                    eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+                    eventResourceDO.setResourceTime(commonEventDirectReportDTO.getAudioTime());
+                    int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+                    if (audioAdd != 1) {
+                        throw new ServiceException("添加音频失败");
+                    }
+                }
+                //添加视频
+                if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getVideo())) {
+                    EventResourceDO eventResourceDO = new EventResourceDO();
+                    eventResourceDO.setClassification(1);
+                    eventResourceDO.setType(3);
+                    eventResourceDO.setUrl(commonEventDirectReportDTO.getVideo());
+                    eventResourceDO.setRefId(eventDO.getId());
+                    eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+                    eventResourceDO.setResourceTime(commonEventDirectReportDTO.getVideoTime());
+                    int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+                    if (videoAdd != 1) {
+                        throw new ServiceException("添加视频失败");
+                    }
+                }
+                //添加图片
+                if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getPics())) {
+                    String[] pica = commonEventDirectReportDTO.getPics().split(",");
+                    for (int i = 0; i < pica.length; i++) {
+                        EventResourceDO eventResourceDO = new EventResourceDO();
+                        eventResourceDO.setClassification(1);
+                        eventResourceDO.setType(1);
+                        eventResourceDO.setUrl(pica[i]);
+                        eventResourceDO.setRefId(eventDO.getId());
+                        eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+                        int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+                        if (picAdd != 1) {
+                            throw new ServiceException("添加图片失败");
+                        }
+                    }
+                }
+                addReleaseRecord(eventDO.getId(), commonEventDirectReportDTO.getUserId(), commonEventDirectReportDTO.getUserName());
+
+                R r = communityService.detailCommunity(commonEventDirectReportDTO.getToId());
+                if (!R.isOk(r)) {
+                    return R.fail("社区不存在");
+                }
+                ComActVO comActVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), ComActVO.class);
+                if (comActVO == null) {
+                    return R.fail("社区不存在");
+                }
+                EventDO eventDOInDB = this.getBaseMapper().selectById(commonEventDirectReportDTO.getEventId());
+                eventDOInDB.setCommunityProcess(1);    //社区处理
+                eventDOInDB.setProcessType(2);    //当前处理对象: 社区处理
+                eventDOInDB.setCommunityProcess(1);
+                eventDOInDB.setEventProcessStatus(1);    //待处理
+                eventDOInDB.setUpdateBy(commonEventDirectReportDTO.getUserId());
+                eventDOInDB.setSubmitDate(new Date());
+                int updated = this.getBaseMapper().updateById(eventDO);
+                if (updated != 1) {
+                    throw new ServiceException("更新突发事件状态更新失败");
+                }
+                addTransferRecord(eventDO.getId(), commonEventDirectReportDTO.getToId(), comActVO.getName(), 2, commonEventDirectReportDTO.getProcessResult(),
+                        commonEventDirectReportDTO.getUserId(), commonEventDirectReportDTO.getUserName(), 2);
+                return R.ok();
+            }
+        }
+
+        return R.fail();
+    }
 }

--
Gitblit v1.7.1