package com.panzhihua.service_grid.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import com.panzhihua.common.model.vos.screen.GridMemberTrajectoryVo;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
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.panzhihua.common.model.dtos.grid.admin.EventGridMemberCascadeAddDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.grid.EventGridMemberRelationDetailsVO;
|
import com.panzhihua.common.model.vos.grid.EventGridMemberRelationVO;
|
import com.panzhihua.common.model.vos.grid.EventMapGridCascadeVO;
|
import com.panzhihua.common.model.vos.grid.admin.GridMemberCascadeVO;
|
import com.panzhihua.common.service.user.UserService;
|
import com.panzhihua.service_grid.dao.EventGridMemberRelationMapper;
|
import com.panzhihua.service_grid.model.dos.EventGridMemberRelationDO;
|
import com.panzhihua.service_grid.service.EventGridMemberRelationService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* @auther lyq
|
* @create 2021-04-14 15:03:01
|
* @describe 订单表服务实现类
|
*/
|
@Slf4j
|
@Service
|
public class EventGridMemberRelationServiceImpl extends
|
ServiceImpl<EventGridMemberRelationMapper, EventGridMemberRelationDO> implements EventGridMemberRelationService {
|
|
@Resource
|
private EventGridMemberRelationMapper eventGridMemberRelationMapper;
|
@Resource
|
private UserService userService;
|
|
/**
|
* 新增网格和网格员的关联关系
|
*
|
* @param eventGridMemberAddDTO
|
* @return 新增结果
|
*/
|
public R add(EventGridMemberAddDTO eventGridMemberAddDTO) {
|
|
userService.addGridUser(eventGridMemberAddDTO);
|
|
EventGridMemberRelationDO eventGridMemberRelationDO = new EventGridMemberRelationDO();
|
eventGridMemberRelationDO.setCreateBy(eventGridMemberAddDTO.getUserId());
|
if (eventGridMemberRelationMapper.insert(eventGridMemberRelationDO) > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 修改网格和网格员的关联关系
|
*
|
* @param eventGridMemberEditDTO
|
* @return 维护结果
|
*/
|
public R edit(EventGridMemberEditDTO eventGridMemberEditDTO) {
|
EventGridMemberRelationDO eventGridMemberRelationDO = new EventGridMemberRelationDO();
|
BeanUtils.copyProperties(eventGridMemberEditDTO, eventGridMemberRelationDO);
|
// eventGridMemberRelationDO.setUpdateAt(new Date());
|
if (eventGridMemberRelationMapper.updateById(eventGridMemberRelationDO) > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 分页查找网格和网格员的关联关系
|
*
|
* @param pageEventGridMemberRelationDTO
|
* @return 维护结果
|
*/
|
public R<IPage<EventGridMemberRelationVO>> query(PageEventGridMemberRelationDTO pageEventGridMemberRelationDTO) {
|
Page page = new Page(1, 10);
|
if (pageEventGridMemberRelationDTO.getPageNum() != null) {
|
page.setCurrent(pageEventGridMemberRelationDTO.getPageNum());
|
}
|
if (pageEventGridMemberRelationDTO.getPageSize() != null) {
|
page.setSize(pageEventGridMemberRelationDTO.getPageSize());
|
}
|
return R.ok(eventGridMemberRelationMapper.findByPage(page, pageEventGridMemberRelationDTO));
|
}
|
|
/**
|
* 删除网格和网格员的关联关系
|
*
|
* @param EventGridMemberRelationDeleteDTO
|
* @return 平台用户信息
|
*/
|
public R delete(EventGridMemberRelationDeleteDTO EventGridMemberRelationDeleteDTO) {
|
return R.fail();
|
}
|
|
/**
|
* 查询网格和网格员的关联关系详细信息
|
*
|
* @param id
|
* 网格和网格员的关联关系 id
|
* @return 查找结果
|
*/
|
public R<EventGridMemberRelationDetailsVO> eventGridMemberRelationDetails(Long id) {
|
EventGridMemberRelationDO eventGridMemberRelationDO = eventGridMemberRelationMapper.selectById(id);
|
if (eventGridMemberRelationDO != null) {
|
EventGridMemberRelationDetailsVO eventGridMemberRelationDetailsVO = new EventGridMemberRelationDetailsVO();
|
BeanUtils.copyProperties(eventGridMemberRelationDO, eventGridMemberRelationDetailsVO);
|
return R.ok(eventGridMemberRelationDetailsVO);
|
}
|
return R.fail();
|
}
|
|
/**
|
* 根据网格员id查询关联网格列表
|
*
|
* @param userId
|
* 网格员id
|
* @return 网格列表
|
*/
|
@Override
|
public R getMapGridListByApp(Long userId) {
|
return R.ok(this.baseMapper.getMapGridListByApp(userId));
|
}
|
|
/**
|
* 查询市平台网格员列表
|
*
|
* @return 市平台网格员列表
|
*/
|
@Override
|
public R lcList() {
|
return R.ok(this.baseMapper.getGridMemberLcList());
|
}
|
|
@Override
|
public R gridMemberCascadeList(EventGridMemberCascadeAddDTO memberCascadeAddDTO) {
|
if (memberCascadeAddDTO.getType() == null) {
|
return R.fail("参数错误");
|
}
|
List<GridMemberCascadeVO> memberCascadeList =
|
this.baseMapper.getGridMemberCascade(memberCascadeAddDTO.getType(), memberCascadeAddDTO.getSuperiorId());
|
|
List<GridMemberCascadeVO> result = new ArrayList<>();
|
if (!memberCascadeList.isEmpty()) {
|
memberCascadeList.forEach(cascade -> {
|
if (memberCascadeAddDTO.getType().equals(1)) {// 过滤无小区的社区
|
Integer count = this.baseMapper.getVillageCount(cascade.getId());
|
if (count > 0) {
|
result.add(cascade);
|
}
|
} else if (memberCascadeAddDTO.getType().equals(2)) {// 过滤无楼栋的小区
|
Integer count = this.baseMapper.getBuildingCount(cascade.getId());
|
if (count > 0) {
|
result.add(cascade);
|
}
|
} else {
|
if (!cascade.getName().contains("栋")) {
|
cascade.setName(cascade.getName() + "栋");
|
}
|
result.add(cascade);
|
}
|
});
|
}
|
return R.ok(result);
|
}
|
|
@Override
|
public R getMapGridListsByApp(EventGridCascadeListDTO cascadeListDTO) {
|
return R.ok(eventGridMemberRelationMapper.getMapGridListsByApp(cascadeListDTO));
|
}
|
|
@Override
|
public R getMapGridsListsByApp(Long userId) {
|
List<EventMapGridCascadeVO> resultList = new ArrayList<>();
|
List<EventMapGridCascadeVO> list = this.eventGridMemberRelationMapper.getMapGridsListsByApp(userId, 1, null);
|
if (!list.isEmpty()) {
|
list.forEach(gridCascadeVO -> {
|
List<EventMapGridCascadeVO> childList =
|
this.eventGridMemberRelationMapper.getMapGridsListsByApp(userId, 2, gridCascadeVO.getGridId());
|
if (!childList.isEmpty()) {
|
gridCascadeVO.setChildList(childList);
|
resultList.add(gridCascadeVO);
|
}
|
});
|
}
|
return R.ok(resultList);
|
}
|
|
/**
|
* 查询社区网格员运动轨迹
|
* @param communityId 社区id
|
* @return 社区网格员运动轨迹
|
*/
|
@Override
|
public R getGridsMemberTrajectory(Long communityId){
|
//查询社区所有网格员
|
List<GridMemberTrajectoryVo> memberTrajectoryList = eventGridMemberRelationMapper.getGridsMemberList(communityId);
|
memberTrajectoryList.forEach(member -> {
|
member.setLngLatList(eventGridMemberRelationMapper.getGridsMemberTrajectory(member.getUserId()));
|
});
|
return R.ok(memberTrajectoryList);
|
}
|
|
}
|