From b057f9985a360fcfeb3aa6e96eae99deccffa1d2 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期三, 23 六月 2021 14:31:43 +0800 Subject: [PATCH] 特殊群人上报接口,获取系统配置接口 --- springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 102 insertions(+), 12 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 d7fff02..501d79b 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 @@ -1,5 +1,6 @@ package com.panzhihua.service_grid.service.impl; +import cn.hutool.core.util.IdcardUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -8,29 +9,28 @@ import com.panzhihua.common.enums.EventType; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; +import com.panzhihua.common.model.dtos.community.bigscreen.event.ScreenEventListDTO; import com.panzhihua.common.model.dtos.grid.*; +import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActVO; +import com.panzhihua.common.model.vos.community.screen.event.EventListVO; import com.panzhihua.common.model.vos.grid.*; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.utlis.LngLatUtils; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_grid.dao.*; import com.panzhihua.service_grid.model.dos.*; -import com.panzhihua.service_grid.service.EventGridDataService; -import com.panzhihua.service_grid.service.EventResourceService; -import com.panzhihua.service_grid.service.EventService; -import com.panzhihua.service_grid.service.EventTransferRecordService; +import com.panzhihua.service_grid.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; /** * @author cedoo @@ -54,7 +54,9 @@ @Resource private EventGridMemberRelationMapper eventGridMemberRelationMapper; @Resource - private EventGridDataService eventGridDataService; + private EventSpecialCrowdRecordService eventSpecialCrowdRecordService; + @Resource + private EventSpecialCrowdRecordMapper eventSpecialCrowdRecordMapper; /** * 分页查找事件 @@ -234,12 +236,29 @@ } eventDetailsVO.setTrans(eventTransferRecordVOS); - //查询事件发布人头像 - String imageUrl = eventMapper.getGridMemberImageUrl(eventDO.getGridMemberId()); - if (StringUtils.isNotEmpty(imageUrl)) { - eventDetailsVO.setGridMemberImageUrl(imageUrl); + //查询网格员头像,姓名 + Map<String,Object> gridMember = eventMapper.getUserBaseInfo(eventDO.getGridMemberId()); + if (!CollectionUtils.isEmpty(gridMember)) { + eventDetailsVO.setGridMemberName(gridMember.get("name") == null ? "" : gridMember.get("name").toString()); + eventDetailsVO.setGridMemberImageUrl(gridMember.get("image_url") == null ? "" : gridMember.get("image_url").toString()); + } + if(Objects.equals(eventDO.getGridMemberId(),eventDO.getCreateBy())){ + eventDetailsVO.setCreator(eventDetailsVO.getGridMemberName()); + }else{ + Map<String,Object> createUser = eventMapper.getUserBaseInfo(eventDO.getCreateBy()); + eventDetailsVO.setCreator(createUser.get("name") == null ? "" : createUser.get("name").toString()); } + //当事件为特殊人群上报时,需要查询事件与人口关联关系 + if(eventDetailsVO.getEventType().equals(6)){ + List<EventSpecialPopulationDetailsVO> specialPopulationList = eventSpecialCrowdRecordMapper.getSpecialPopulationIds(eventDetailsVO.getId()); + if(!specialPopulationList.isEmpty()){ + specialPopulationList.forEach(special -> { + special.setAge(IdcardUtil.getAgeByIdCard(special.getIdCard())); + }); + } + eventDetailsVO.setPopulationList(specialPopulationList); + } return R.ok(eventDetailsVO); } return R.fail("事件不存在"); @@ -260,6 +279,14 @@ if (eventGridDataDO == null) { return R.fail("网格不存在"); } + + //检查特殊人群上报时参数 + if(commonEventAddDTO.getEventType().equals(6)){ + if(commonEventAddDTO.getPopulationIds() == null || commonEventAddDTO.getPopulationIds().size() <= 0){ + return R.fail("上报人员为空"); + } + } + eventDO.setEventCategory(1l);//办件事件 eventDO.setEventStatus(2);//事件状态 2发布 eventDO.setProcessType(1);//网格员处理 @@ -271,6 +298,21 @@ eventDO.setSubmitDate(new Date()); eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType())); if (eventMapper.insert(eventDO) == 1) { + + //如果是特殊人群,则新增特殊人群与事件关系 + if(commonEventAddDTO.getEventType().equals(6)){ + List<EventSpecialCrowdRecordDO> crowdRecordList = new ArrayList<>(); + commonEventAddDTO.getPopulationIds().forEach(populationId -> { + EventSpecialCrowdRecordDO specialCrowdRecordDO = new EventSpecialCrowdRecordDO(); + specialCrowdRecordDO.setEventId(eventDO.getId()); + specialCrowdRecordDO.setPopulationId(populationId); + specialCrowdRecordDO.setCreateAt(new Date()); + crowdRecordList.add(specialCrowdRecordDO); + }); + //添加特殊人群上报事件与人口关系 + eventSpecialCrowdRecordService.saveBatch(crowdRecordList); + } + //添加音频 if (StringUtils.isNotEmpty(commonEventAddDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); @@ -331,7 +373,15 @@ if (eventGridDataDO == null) { return R.fail("网格不存在"); } + if (commonEventEditDTO.getId() == null) { + //检查特殊人群上报时参数 + if(commonEventEditDTO.getEventType().equals(6)){ + if(commonEventEditDTO.getPopulationIds().isEmpty()){ + return R.fail("上报人员为空"); + } + } + EventDO eventDO = new EventDO(); BeanUtils.copyProperties(commonEventEditDTO, eventDO); eventDO.setGridMemberId(commonEventEditDTO.getUserId()); @@ -345,6 +395,21 @@ eventDO.setGridMemberTelephone(commonEventEditDTO.getPhone()); eventDO.setEventDealStatus(5); if (eventMapper.insert(eventDO) > 0) { + + //如果是特殊人群,则新增特殊人群与事件关系 + if(commonEventEditDTO.getEventType().equals(6)){ + List<EventSpecialCrowdRecordDO> crowdRecordList = new ArrayList<>(); + commonEventEditDTO.getPopulationIds().forEach(populationId -> { + EventSpecialCrowdRecordDO specialCrowdRecordDO = new EventSpecialCrowdRecordDO(); + specialCrowdRecordDO.setEventId(eventDO.getId()); + specialCrowdRecordDO.setPopulationId(populationId); + specialCrowdRecordDO.setCreateAt(new Date()); + crowdRecordList.add(specialCrowdRecordDO); + }); + //添加特殊人群上报事件与人口关系 + eventSpecialCrowdRecordService.saveBatch(crowdRecordList); + } + //添加音频 if (StringUtils.isNotEmpty(commonEventEditDTO.getAudio())) { EventResourceDO eventResourceDO = new EventResourceDO(); @@ -2050,4 +2115,29 @@ return R.fail(); } + + /** + * 事件大屏查询事件列表 + * @param eventListDTO 请求参数 + * @return 事件列表 + */ + @Override + public R getScreenEventList(ScreenEventListDTO eventListDTO){ + if( eventListDTO.getEventType() != null && eventListDTO.getEventType().equals(ScreenEventListDTO.eventType.xc)){ + eventListDTO.setEventCategory(2); + } + IPage<EventListVO> eventPageList = this.baseMapper.getScreenEventList(new Page(eventListDTO.getPageNum(),eventListDTO.getPageSize()),eventListDTO); + return R.ok(eventPageList); + } + + /** + * 特殊人群上报-社区人口数据列表 + * @param specialPopulationDTO 请求参数 + * @return 社区人口数据列表 + */ + @Override + public R specialPopulationList(PageEventSpecialPopulationDTO specialPopulationDTO){ + IPage<EventSpecialPopulationVO> specialPopulationVOIPage = this.baseMapper.specialPopulationList(new Page(specialPopulationDTO.getPageNum(),specialPopulationDTO.getPageSize()),specialPopulationDTO); + return R.ok(specialPopulationVOIPage); + } } -- Gitblit v1.7.1