package com.hxzk.gps.service.impl.Map; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hxzk.gps.controller.Map.Results.MapResult; import com.hxzk.gps.controller.Map.Results.MarsResult; import com.hxzk.gps.controller.Map.dto.MapTreeTableDto; import com.hxzk.gps.entity.Department.TbDepartMentIcon; import com.hxzk.gps.entity.Department.TbDepartment; import com.hxzk.gps.entity.Map.TbMap; import com.hxzk.gps.mapper.Map.TbMapMapper; import com.hxzk.gps.service.Company.TbCompanyService; import com.hxzk.gps.service.Map.TbMapService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hxzk.gps.util.AuToComplete; import com.hxzk.gps.util.GetUser.UserInfoUtil; import com.hxzk.gps.util.MessageUtils.MessageUtils; import com.hxzk.gps.util.Result.TableDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author YuZhiTong * @since 2025-05-23 */ @Service public class TbMapServiceImpl extends ServiceImpl implements TbMapService { @Autowired TbCompanyService companyService; @Value("${upload.dir-IP}") private String uploadIp; @Override public MapResult FindMapInfo(MapTreeTableDto mapTreeTableDto) { // 开启分页 PageHelper.startPage(mapTreeTableDto.getPageNum(), mapTreeTableDto.getPageSize()); // 创建查询包装器 QueryWrapper queryWrapperCompany = new QueryWrapper<>(); // 处理部门 ID 为空的情况 if ("".equals(mapTreeTableDto.getDepartmentId())) { List list = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId()); queryWrapperCompany.in("companyid", list); } else { queryWrapperCompany.eq("companyid", mapTreeTableDto.getDepartmentId()); } // 查询二维地图列表 List maps = baseMapper.selectList(queryWrapperCompany); PageInfo info = new PageInfo<>(maps); // 封装角色列表 TableDto tableDto = new TableDto(info.getList(), info.getPageNum(), info.getPageSize(), info.getTotal()); // 获取成功消息 String message = MessageUtils.getMessage("Success"); // 返回结果 return new MapResult(200, message, tableDto, mapTreeTableDto.getPageNum(), mapTreeTableDto.getPageSize(), info.getTotal()); } @Override public List FindUserCompanyMap() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("company", UserInfoUtil.getUserCompany()); List mapList = baseMapper.selectList(queryWrapper); List addCustomerList = mapList.stream() .map(map -> { String[] mapname = map.getMapname().split("\\."); AuToComplete addCustomer = new AuToComplete(); addCustomer.setLabel(mapname[0]); addCustomer.setValue(mapname[0]); return addCustomer; }) .collect(Collectors.toList()); return addCustomerList; } @Override public Map FindUserCompanyMapSelect() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("company", UserInfoUtil.getUserCompany()); List mapList = baseMapper.selectList(queryWrapper); // 创建Map,key为地图名称,value为图片URL Map resultMap = new HashMap<>(); for (TbMap map : mapList) { String[] mapname = map.getMapname().split("\\."); resultMap.put(mapname[0], uploadIp+"Map/"+mapname[0]+"."+mapname[1]); // 假设TbMap有getMapUrl方法 } return resultMap; } }