CeDo
2021-06-08 008182e62d19bff65673b0823ee0e6c53142817d
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -531,10 +531,10 @@
        if (eventDO == null) {
            return R.fail("事件不存在");
        }
        boolean canDealByUser = eventDO.getEventStatus() == 2 && eventDO.getEventProcessStatus() == 1;
        boolean canDealByUser = (eventDO.getEventStatus() == 2||eventDO.getEventStatus()==4) && eventDO.getEventProcessStatus() == 1;
        if (!canDealByUser) {
            if (eventDO.getEventStatus() != 2) {
                return R.fail("事件不是发布状态");
            if (eventDO.getEventStatus() != 2 ) {
                return R.fail("事件不是发布/待处理状态");
            }
            if (eventDO.getEventProcessStatus() != 1) {
                return R.fail("事件不是待处理状态");
@@ -650,7 +650,8 @@
    @Override
    public R republishEvent(CommonEventRepublishDTO commonEventRepublishDTO) {
        EventDO eventDO = this.getBaseMapper().selectById(commonEventRepublishDTO.getId());
        boolean canRepublishByUser = eventDO.getEventStatus() == 4 || eventDO.getEventStatus() == 1;
        //boolean canRepublishByUser = eventDO.getEventStatus() == 4 || eventDO.getEventStatus() == 1;
        boolean canRepublishByUser = eventDO.getEventDealStatus() == 7|eventDO.getEventDealStatus() == 5; //已失效状态
        if (!canRepublishByUser) {
            return R.fail("当前不是撤销/草稿状态");
        }
@@ -1179,6 +1180,11 @@
                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);
        }
@@ -1289,9 +1295,9 @@
        if (eventDO == null) {
            return R.fail("事件不存在");
        }
        boolean canRepulish = eventDO.getEventDealStatus() == 7; //已失效状态
        boolean canRepulish = eventDO.getEventDealStatus() == 7|eventDO.getEventDealStatus() == 5; //已失效状态
        if (!canRepulish) {
            return R.fail("当前事件不是已失效状态,不能重新发布");
            return R.fail("当前事件不是已失效状态/草稿状态,不能重新发布");
        }
        eventDO.setInvalid(true);
        int updated = this.getBaseMapper().updateById(eventDO);
@@ -1504,14 +1510,13 @@
                .eq(EventTransferRecordDO::getEventId, eventId)
                .orderByDesc(EventTransferRecordDO::getCreateAt)
        );
        if (list == null || list.size() == 0) {
            throw new ServiceException("事件流转记录异常");
        }
        EventTransferRecordDO lastRecord = list.get(0);
        EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO();
        eventTransferRecordDO.setFromType(lastRecord.getToType());
        eventTransferRecordDO.setFromId(lastRecord.getToId());
        eventTransferRecordDO.setFromName(lastRecord.getToName());
        if (list != null && list.size() > 0) {
            EventTransferRecordDO lastRecord = list.get(0);
            eventTransferRecordDO.setFromType(lastRecord.getToType());
            eventTransferRecordDO.setFromId(lastRecord.getToId());
            eventTransferRecordDO.setFromName(lastRecord.getToName());
        }
        eventTransferRecordDO.setToType(toType);
        eventTransferRecordDO.setToId(toId);
        eventTransferRecordDO.setProcessDate(new Date());
@@ -1644,7 +1649,7 @@
    public R getNearByGrid(PageEventGridNearbyDTO pageEventGridNearbyDTO) {
        Page page = new Page(pageEventGridNearbyDTO.getPageNum(), pageEventGridNearbyDTO.getPageSize());
        String latLng = pageEventGridNearbyDTO.getHappentLatLng();
        if(!latLng.matches("^[\\-\\+]?((0|([1-8]\\d?))(\\.\\d{1,10})?|90(\\.0{1,10})?),[\\-\\+]?(0(\\.\\d{1,10})?|([1-9](\\d)?)(\\.\\d{1,10})?|1[0-7]\\d{1}(\\.\\d{1,10})?|180\\.0{1,10})$")){
        if(!latLng.matches("^[\\-\\+]?(0(\\.\\d{1,10})?|([1-9](\\d)?)(\\.\\d{1,10})?|1[0-7]\\d{1}(\\.\\d{1,10})?|180\\.0{1,10}),[\\-\\+]?((0|([1-8]\\d?))(\\.\\d{1,10})?|90(\\.0{1,10})?)$")){
            return R.fail("经纬度参数错误");
        }
        String latLngArr[] = latLng.split(",");
@@ -1679,23 +1684,28 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R deleteEventBatch(EventDeleteDTO eventDeleteDTO) {
        List<Long> eventIds = eventDeleteDTO.getId();
        List<String> eventIds = eventDeleteDTO.getId();
        if (eventIds != null && eventIds.size() > 0) {
            R rt = null;
            Long userId = eventDeleteDTO.getUserId();
            for (Long id : eventIds) {
                EventDO eventDO = eventMapper.selectById(id);
                if (eventDO == null) {
                    throw new ServiceException("id为" + id + "的事件不存在");
                }
                if (eventDO.getEventStatus() != null &&
                        (eventDO.getEventStatus().intValue() == 1 || eventDO.getEventStatus().intValue() == 4)) {//草稿 或者 已撤销 的事件可以删除
                    eventDO.setEventStatus(3);//逻辑删除
                    eventDO.setUpdateBy(userId);
                    int updated = this.getBaseMapper().updateById(eventDO);
                    if (updated != 1) {
                        throw new ServiceException("删除事件失败");
            for (String id : eventIds) {
                try {
                    Long eventId = Long.parseLong(id);
                    EventDO eventDO = eventMapper.selectById(eventId);
                    if (eventDO == null) {
                        throw new ServiceException("id为" + id + "的事件不存在");
                    }
                    if (eventDO.getEventStatus() != null &&
                            (eventDO.getEventStatus().intValue() == 1 || eventDO.getEventStatus().intValue() == 4)) {//草稿 或者 已撤销 的事件可以删除
                        eventDO.setEventStatus(3);//逻辑删除
                        eventDO.setUpdateBy(userId);
                        int updated = this.getBaseMapper().updateById(eventDO);
                        if (updated != 1) {
                            throw new ServiceException("删除事件失败");
                        }
                    }
                }catch (Exception e){
                    throw new ServiceException("事件ID错误,删除失败");
                }
            }
            return R.ok();
@@ -1708,17 +1718,23 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R batchRepublishEvent(CommonEventBatchRepublishDTO commonEventBatchRepublishDTO) {
        List<Long> ids = commonEventBatchRepublishDTO.getId();
        List<String> ids = commonEventBatchRepublishDTO.getId();
        if (ids != null && ids.size() > 0) {
            Long userId = commonEventBatchRepublishDTO.getUserId();
            String userName = commonEventBatchRepublishDTO.getUserName();
            for (Long id : ids) {
                EventDO eventDO = this.getBaseMapper().selectById(id);
            for (String id : ids) {
                Long eventId = -1L;
                try {
                    eventId = Long.parseLong(id);
                }catch (Exception e){
                    throw new ServiceException("事件ID错误,发布失败");
                }
                EventDO eventDO = this.getBaseMapper().selectById(eventId);
                if (eventDO == null) {
                    throw new ServiceException("id为" + id + "的事件不存在");
                }
                boolean canRepublishByUser = eventDO.getEventStatus() != null &&
                        eventDO.getEventStatus() == 4 || eventDO.getEventStatus() == 1;
                boolean canRepublishByUser = eventDO.getEventDealStatus() != null &&
                        (eventDO.getEventDealStatus() == 5 || eventDO.getEventDealStatus() == 6);
                if (!canRepublishByUser) {
                    throw new ServiceException("当前不是撤销/草稿状态");
                }
@@ -1731,7 +1747,7 @@
                    throw new ServiceException("更新事件状态失败");
                }
                addTransferRecord(eventDO.getId(), userId, userName, 1,
                        "重新发布已撤销事件", userId, userName, 8);
                            "重新发布已撤销事件", userId, userName, 8);
            }
            return R.ok();
        } else {
@@ -1742,14 +1758,20 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R batchMarkEventInvalid(EventBatchRevokeDTO eventBatchRevokeDTO) {
        List<Long> ids = eventBatchRevokeDTO.getId();
        List<String> ids = eventBatchRevokeDTO.getId();
        if (ids != null && ids.size() > 0) {
            Long userId = eventBatchRevokeDTO.getUserId();
            String userName = eventBatchRevokeDTO.getUserName();
            Long communityId = eventBatchRevokeDTO.getCommunityId();
            String communityName = eventBatchRevokeDTO.getCommunityName();
            for (Long id : ids) {
                EventDO eventDO = this.getBaseMapper().selectById(id);
            for (String id : ids) {
                Long eventId = -1L;
                try {
                    eventId = Long.parseLong(id);
                }catch (Exception e){
                    throw new ServiceException("事件ID错误,不能标记失效");
                }
                EventDO eventDO = this.getBaseMapper().selectById(eventId);
                if (eventDO == null) {
                    throw new ServiceException("id为" + id + "的事件不存在");
                }
@@ -1838,6 +1860,7 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R reportDirect(CommonEventDirectReportDTO commonEventDirectReportDTO) {
        if(commonEventDirectReportDTO.getEventId()!=null){