huanghongfa
2021-07-16 db31c68b10e3a58bce17e3bbf880db05b6f341fe
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_grid.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -40,6 +41,8 @@
    private EventMapper eventMapper;
    @Resource
    private EventGridMemberRelationService eventGridMemberRelationService;
    @Resource
    private LcCompareCodeMapper lcCompareCodeMapper;
    /**
     * 新增区县/街道/社区/网格员网格数据管理
     * @param eventGridDataAddDTO
@@ -201,6 +204,15 @@
                    }
                }
                if(eventGridDataDTO.getLcGridId() != null){
                    //关联市平台网格
                    LcCompareCodeDO compareCodeDO = lcCompareCodeMapper.selectById(eventGridDataDTO.getLcGridId());
                    if(compareCodeDO != null){
                        compareCodeDO.setLocalGridId(gridDataDO.getId().toString());
                        compareCodeDO.setGridName(gridDataDO.getGridName());
                        lcCompareCodeMapper.updateById(compareCodeDO);
                    }
                }
                return R.ok();
            }
        }
@@ -219,6 +231,7 @@
        EventGridDataDO gridDataDO = this.baseMapper.selectById(eventGridDataDTO.getGridId());
        if(gridDataDO != null){
            BeanUtils.copyProperties(eventGridDataDTO,gridDataDO);
            gridDataDO.setRemarks(eventGridDataDTO.getRemarks());
            gridDataDO.setUpdateBy(eventGridDataDTO.getUserId());
            if(this.baseMapper.updateById(gridDataDO) > 0){
                //移除网格员和网格关系
@@ -241,10 +254,55 @@
                        eventGridMemberRelationService.saveBatch(memberRelationDOList);
                    }
                }
                if(eventGridDataDTO.getLcGridId() != null){
                    //查询已存在的关系需要清除
                    LcCompareCodeDO oldCompareCodeDO = lcCompareCodeMapper.selectOne(new QueryWrapper<LcCompareCodeDO>()
                            .lambda().eq(LcCompareCodeDO::getLocalGridId,gridDataDO.getId()));
                    if(oldCompareCodeDO != null){
                        lcCompareCodeMapper.updateLcCompareCode(gridDataDO.getId());
                    }
                    //关联市平台网格
                    LcCompareCodeDO compareCodeDO = lcCompareCodeMapper.selectById(eventGridDataDTO.getLcGridId());
                    if(compareCodeDO != null){
                        compareCodeDO.setLocalGridId(gridDataDO.getId().toString());
                        compareCodeDO.setGridName(gridDataDO.getGridName());
                        lcCompareCodeMapper.updateById(compareCodeDO);
                    }
                }
                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();
        }
    }
}