From 9cfd18f1e6ebfeb94030e3a907cd5e79e51a0780 Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期六, 05 六月 2021 21:40:15 +0800
Subject: [PATCH] bugfixed

---
 springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java |  127 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 123 insertions(+), 4 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java
index 0b9fa47..0780873 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.grid.*;
 import com.google.common.base.Joiner;
 import com.panzhihua.common.model.dtos.grid.EventGridDataAddDTO;
 import com.panzhihua.common.model.dtos.grid.EventGridDataDeleteDTO;
@@ -13,9 +14,11 @@
 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.EventGridMemberRelationService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.BeanUtils;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -35,6 +38,8 @@
     private EventGridDataMapper eventGridDataMapper;
     @Resource
     private EventMapper eventMapper;
+    @Resource
+    private EventGridMemberRelationService eventGridMemberRelationService;
     /**
      * 新增区县/街道/社区/网格员网格数据管理
      * @param eventGridDataAddDTO
@@ -124,20 +129,25 @@
         return R.ok(gridDetailVO);
     }
 
+    @Override
+    public R getGridTodoData(EventGridTodoDataDTO eventGridTodoDataDTO) {
+        List<UserEventGridDataVO> userEventGridDataVO = eventGridDataMapper.getGridTodoData(eventGridTodoDataDTO);
+        return R.ok(userEventGridDataVO);
+    }
+
     /**
      * 分页查询网格
      * @param eventGridDataDTO  请求参数
      * @return  网格列表
      */
     @Override
-    public R getGridMemberList(PageEventGridDataDTO eventGridDataDTO){
+    public R getGridMemberList(PageEventGridDataAdminDTO eventGridDataDTO){
         IPage<EventGridAdminVO> gridAdminVOIPage = this.baseMapper.findByPage(new Page(eventGridDataDTO.getPageNum(),eventGridDataDTO.getPageSize()),eventGridDataDTO);
         if(!gridAdminVOIPage.getRecords().isEmpty()){
             gridAdminVOIPage.getRecords().forEach(gridMember -> {
-                List<String> members = this.baseMapper.getGridMember(gridMember.getId());
+                List<GridMemberAdminVO> members = this.baseMapper.getGridMember(gridMember.getId());
                 if(!members.isEmpty()){
-                    String memberNames = Joiner.on(",").join(members);
-                    gridMember.setGridMemberName(memberNames);
+                    gridMember.setGridMembers(members);
                 }
             });
         }
@@ -154,4 +164,113 @@
         return R.ok(this.baseMapper.getGridMemberLists(communityId));
     }
 
+    /**
+     * 后台新增网格
+     * @param eventGridDataDTO  请求参数
+     * @return  新增结果
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public R addGridDataByAdmin(EventGridDataAddAdminDTO eventGridDataDTO){
+        //查询社区信息
+        ComGridActVO gridAct = this.baseMapper.getComActByActId(eventGridDataDTO.getGridCommunityId());
+        if(gridAct != null){
+            EventGridDataDO gridDataDO = new EventGridDataDO();
+            BeanUtils.copyProperties(eventGridDataDTO,gridDataDO);
+            gridDataDO.setType(EventGridDataDO.type.sq);
+            gridDataDO.setGridStreetId(gridAct.getStreetId());
+            gridDataDO.setGridCommunityId(gridAct.getCommunityId());
+            gridDataDO.setZoneId(Long.parseLong(gridAct.getAreaCode()));
+            gridDataDO.setCreateBy(eventGridDataDTO.getUserId());
+            if(this.baseMapper.insert(gridDataDO) > 0){
+                if(!eventGridDataDTO.getMemberIds().isEmpty()){
+                    List<EventGridMemberRelationDO> memberRelationDOList = new ArrayList<>();
+                    //新增网格成功 绑定网格与网格员关系
+                    eventGridDataDTO.getMemberIds().forEach(memberId -> {
+                        EventGridMemberRelationDO memberRelationDO = new EventGridMemberRelationDO();
+                        memberRelationDO.setGridId(gridDataDO.getId());
+                        memberRelationDO.setGridCommunityId(gridDataDO.getGridCommunityId());
+                        memberRelationDO.setGridStreetId(gridDataDO.getGridStreetId());
+                        memberRelationDO.setGridName(gridDataDO.getGridName());
+                        memberRelationDO.setGridMemberId(memberId);
+                        memberRelationDOList.add(memberRelationDO);
+                    });
+                    if(!memberRelationDOList.isEmpty()){
+                        //添加网格与网格员关联关系
+                        eventGridMemberRelationService.saveBatch(memberRelationDOList);
+                    }
+                }
+
+                return R.ok();
+            }
+        }
+        return R.fail("添加失败");
+    }
+
+    /**
+     * 后台修改网格
+     * @param eventGridDataDTO  请求参数
+     * @return  修改结果
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public R editGridDataByAdmin(EventGridDataEditAdminDTO eventGridDataDTO){
+
+        EventGridDataDO gridDataDO = this.baseMapper.selectById(eventGridDataDTO.getGridId());
+        if(gridDataDO != null){
+            BeanUtils.copyProperties(eventGridDataDTO,gridDataDO);
+            gridDataDO.setUpdateBy(eventGridDataDTO.getUserId());
+            if(this.baseMapper.updateById(gridDataDO) > 0){
+                //移除网格员和网格关系
+                this.baseMapper.removeGridRelationByGridId(gridDataDO.getId());
+
+                if(!eventGridDataDTO.getMemberIds().isEmpty()){
+                    List<EventGridMemberRelationDO> memberRelationDOList = new ArrayList<>();
+                    //绑定网格与网格员关系
+                    eventGridDataDTO.getMemberIds().forEach(memberId -> {
+                        EventGridMemberRelationDO memberRelationDO = new EventGridMemberRelationDO();
+                        memberRelationDO.setGridId(gridDataDO.getId());
+                        memberRelationDO.setGridCommunityId(gridDataDO.getGridCommunityId());
+                        memberRelationDO.setGridStreetId(gridDataDO.getGridStreetId());
+                        memberRelationDO.setGridName(gridDataDO.getGridName());
+                        memberRelationDO.setGridMemberId(memberId);
+                        memberRelationDOList.add(memberRelationDO);
+                    });
+                    if(!memberRelationDOList.isEmpty()){
+                        //添加网格与网格员关联关系
+                        eventGridMemberRelationService.saveBatch(memberRelationDOList);
+                    }
+                }
+                return R.ok();
+            }
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R getGridMemberListsByGrid(Long gridId) {
+        List<EventGridMemberAdminVO> eventGridMemberAdminVOList = this.getBaseMapper().getGridMemberListsByGrid(gridId);
+        return R.ok(eventGridMemberAdminVOList);
+    }
+
+    @Override
+    public R getGridDataListByCommunity(Long communityId) {
+        List<EventGridDataAreaVO>  eventGridDataAreaVOList = this.getBaseMapper().getGridDataListByCommunity(communityId);
+        return R.ok(eventGridDataAreaVOList);
+    }
+
+    @Override
+    public R deleteGridDataByAdmin(List<Long> Ids){
+        Integer count = eventMapper.getEventCountByGridIds(Ids);
+        if(count > 0){
+            return R.fail("您选择的网格已发布过事件,不可删除");
+        }
+        if(this.baseMapper.deleteBatchIds(Ids) > 0){
+            return R.ok();
+        }else{
+            return R.fail();
+        }
+
+    }
+
 }

--
Gitblit v1.7.1