refactor(scenic): 移除景区移动端控制器和服务中的分页查询功能

- 删除 AppScenicController 中的 pageQuery 接口方法
- 删除 AppScenicController 中的 deviceCountByScenicId 接口方法
- 删除 AppScenicController 中的 scenicListByLnLa 接口方法
- 从 AppScenicService 接口中移除 pageQuery 方法定义
- 从 AppScenicService 接口中移除 deviceCountByScenicId 方法定义
- 从 AppScenicService 接口中移除 scenicListByLnLa 方法定义
- 完全移除 AppScenicController 类文件
- 简化 AppScenicServiceImpl 中
This commit is contained in:
2026-01-01 19:32:49 +08:00
parent 81dc2f1b86
commit 06bc2c2020
3 changed files with 0 additions and 243 deletions

View File

@@ -21,17 +21,11 @@ import java.util.List;
* @Date:2024/12/6 10:23
*/
public interface AppScenicService {
ApiResponse<PageInfo<ScenicEntity>> pageQuery(ScenicReqQuery scenicReqQuery);
ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(Long scenicId);
ApiResponse<ScenicRespVO> getDetails(Long id);
ApiResponse<ScenicLoginRespVO> login(ScenicLoginReq scenicLoginReq) throws Exception;
ApiResponse<ScenicRegisterRespVO> register(ScenicRegisterReq scenicRegisterReq);
List<ScenicAppVO> scenicListByLnLa(ScenicIndexVO scenicIndexVO);
ApiResponse<List<DeviceRespVO>> getDevices(Long scenicId);
}

View File

@@ -69,34 +69,6 @@ public class AppScenicServiceImpl implements AppScenicService {
@Autowired
private ScenicRepository scenicRepository;
@Override
public ApiResponse<PageInfo<ScenicEntity>> pageQuery(ScenicReqQuery scenicReqQuery) {
ScenicReqQuery query = new ScenicReqQuery();
query.setPageSize(1000);
query.setStatus("1");
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
List<ScenicEntity> list = scenicList.stream().map(scenic -> {
return scenicRepository.getScenic(Long.valueOf(scenic.getId()));
}).toList();
PageInfo<ScenicEntity> pageInfo = new PageInfo<>(list);
return ApiResponse.success(pageInfo);
}
@Override
public ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(Long scenicId) {
JwtInfo worker = JwtTokenUtil.getWorker();
// 通过zt-device服务获取设备统计
PageResponse<DeviceV2DTO> deviceListResponse = deviceIntegrationService.getScenicActiveDevices(scenicId, 1, 1000);
ScenicDeviceCountVO scenicDeviceCountVO = new ScenicDeviceCountVO();
if (deviceListResponse != null && deviceListResponse.getList() != null) {
scenicDeviceCountVO.setTotalDeviceCount(deviceListResponse.getList().size());
} else {
scenicDeviceCountVO.setTotalDeviceCount(0);
}
return ApiResponse.success(scenicDeviceCountVO);
}
@Override
public ApiResponse<ScenicRespVO> getDetails(Long id) {
ScenicEntity scenic = scenicRepository.getScenic(id);
@@ -218,95 +190,6 @@ public class AppScenicServiceImpl implements AppScenicService {
}
}
@Override
public List<ScenicAppVO> scenicListByLnLa(ScenicIndexVO scenicIndexVO) {
// 参数校验
if (scenicIndexVO == null) {
log.warn("scenicListByLnLa 接收到空参数");
return Collections.emptyList();
}
if (scenicIndexVO.getLatitude() == null || scenicIndexVO.getLongitude() == null) {
log.warn("scenicListByLnLa 缺少必要的经纬度参数, latitude={}, longitude={}",
scenicIndexVO.getLatitude(), scenicIndexVO.getLongitude());
return Collections.emptyList();
}
// 从 scenicRepository 获取所有景区(1000个)
ScenicReqQuery query = new ScenicReqQuery();
query.setPageNum(1);
query.setPageSize(1000);
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
if (scenicList == null || scenicList.isEmpty()) {
log.info("未查询到任何景区数据");
return Collections.emptyList();
}
List<ScenicAppVO> list = new ArrayList<>();
// 为每个景区获取详细信息(包含经纬度)
for (ScenicV2DTO scenicDTO : scenicList) {
try {
// ID 格式校验
if (StringUtils.isBlank(scenicDTO.getId())) {
log.warn("景区 ID 为空,跳过该景区");
continue;
}
// 获取景区详细信息(包含经纬度)
ScenicEntity scenicEntity = scenicRepository.getScenic(Long.parseLong(scenicDTO.getId()));
if (scenicEntity == null) {
log.warn("景区详情查询失败, scenicId={}", scenicDTO.getId());
continue;
}
if (scenicEntity.getLatitude() == null || scenicEntity.getLongitude() == null) {
log.warn("景区缺少经纬度信息, scenicId={}, scenicName={}",
scenicEntity.getId(), scenicEntity.getName());
continue;
}
// 计算距离
BigDecimal distance = calculateDistance(
scenicIndexVO.getLatitude(),
scenicIndexVO.getLongitude(),
scenicEntity.getLatitude(),
scenicEntity.getLongitude()
);
// 根据距离和范围筛选景区
if (scenicEntity.getRadius() != null &&
distance.compareTo(scenicEntity.getRadius().multiply(BigDecimal.valueOf(1_000L))) < 0) {
// 转换为 ScenicAppVO
ScenicAppVO scenicAppVO = new ScenicAppVO();
scenicAppVO.setId(scenicEntity.getId());
scenicAppVO.setName(scenicEntity.getName());
scenicAppVO.setCoverUrl(scenicEntity.getCoverUrl());
scenicAppVO.setRadius(scenicEntity.getRadius());
scenicAppVO.setDistance(distance);
// 获取设备数量
List<DeviceV2DTO> devices = deviceRepository.getAllDeviceByScenicId(scenicEntity.getId());
scenicAppVO.setDeviceNum(devices != null ? devices.size() : 0);
list.add(scenicAppVO);
}
} catch (NumberFormatException e) {
log.error("景区 ID 格式错误,无法转换为 Long 类型, scenicId={}, error={}",
scenicDTO.getId(), e.getMessage());
} catch (Exception e) {
log.error("处理景区信息时发生异常, scenicId={}, error={}",
scenicDTO != null ? scenicDTO.getId() : "unknown", e.getMessage(), e);
}
}
log.info("根据经纬度筛选景区完成, 输入坐标=({}, {}), 符合条件的景区数量={}",
scenicIndexVO.getLatitude(), scenicIndexVO.getLongitude(), list.size());
return list;
}
@Override
public ApiResponse<List<DeviceRespVO>> getDevices(Long scenicId) {
PageResponse<DeviceV2DTO> deviceV2ListResponse = deviceIntegrationService.listDevices(1, 1000, null, null, null, 1, scenicId, null);