feat(profitsharing, mobile, pc): 为对象添加景区名称信息

- 在 ProfitSharingConfigController 中,为分页查询结果添加景区名称信息
- 在 AppScenicServiceImpl 中,为额外设备列表添加景区名称信息
- 在 SourceServiceImpl 中,为资源响应对象添加景区名称信息

这些修改增强了对象数据,使其包含相关的景区名称,提高了数据的完整性和可读性。
This commit is contained in:
2025-09-08 14:37:53 +08:00
parent 1fbe7c86d5
commit c28efbbb9c
3 changed files with 22 additions and 0 deletions

View File

@@ -2,12 +2,14 @@ package com.ycwl.basic.profitsharing.controller;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigReqQuery; import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigReqQuery;
import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigVO; import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigVO;
import com.ycwl.basic.profitsharing.entity.ProfitSharingConfig; import com.ycwl.basic.profitsharing.entity.ProfitSharingConfig;
import com.ycwl.basic.profitsharing.entity.ProfitSharingUser; import com.ycwl.basic.profitsharing.entity.ProfitSharingUser;
import com.ycwl.basic.profitsharing.mapper.ProfitSharingConfigMapper; import com.ycwl.basic.profitsharing.mapper.ProfitSharingConfigMapper;
import com.ycwl.basic.profitsharing.mapper.ProfitSharingUserMapper; import com.ycwl.basic.profitsharing.mapper.ProfitSharingUserMapper;
import com.ycwl.basic.repository.ScenicRepository;
import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -24,11 +26,22 @@ public class ProfitSharingConfigController {
private ProfitSharingConfigMapper configMapper; private ProfitSharingConfigMapper configMapper;
@Autowired @Autowired
private ProfitSharingUserMapper userMapper; private ProfitSharingUserMapper userMapper;
@Autowired
private ScenicRepository scenicRepository;
// 新增: 分页查询接口 // 新增: 分页查询接口
@PostMapping("/page") @PostMapping("/page")
public ApiResponse<PageInfo<ProfitSharingConfigVO>> pageQuery(@RequestBody ProfitSharingConfigReqQuery req) { public ApiResponse<PageInfo<ProfitSharingConfigVO>> pageQuery(@RequestBody ProfitSharingConfigReqQuery req) {
PageHelper.startPage(req.getPageNum(), req.getPageSize()); PageHelper.startPage(req.getPageNum(), req.getPageSize());
List<ProfitSharingConfigVO> list = configMapper.list(req); List<ProfitSharingConfigVO> list = configMapper.list(req);
list.forEach(item -> {
try {
ScenicV2DTO scenicBasic = scenicRepository.getScenicBasic(item.getScenicId());
item.setScenicName(scenicBasic.getName());
} catch (Exception e) {
item.setScenicName("");
}
});
PageInfo<ProfitSharingConfigVO> pageInfo = new PageInfo<>(list); PageInfo<ProfitSharingConfigVO> pageInfo = new PageInfo<>(list);
return ApiResponse.success(pageInfo); return ApiResponse.success(pageInfo);
} }

View File

@@ -306,6 +306,8 @@ public class AppScenicServiceImpl implements AppScenicService {
} }
List<DeviceRespVO> extraDeviceList = extraDeviceMapper.listExtraDeviceByScenicId(scenicId); List<DeviceRespVO> extraDeviceList = extraDeviceMapper.listExtraDeviceByScenicId(scenicId);
for (DeviceRespVO deviceRespVO : extraDeviceList) { for (DeviceRespVO deviceRespVO : extraDeviceList) {
ScenicV2DTO scenicBasic = scenicRepository.getScenicBasic(deviceRespVO.getScenicId());
deviceRespVO.setScenicName(scenicBasic.getName());
if (redisTemplate.hasKey("ext_device:online:"+deviceRespVO.getNo())) { if (redisTemplate.hasKey("ext_device:online:"+deviceRespVO.getNo())) {
String onlineTs = redisTemplate.opsForValue().get("ext_device:online:"+deviceRespVO.getNo()); String onlineTs = redisTemplate.opsForValue().get("ext_device:online:"+deviceRespVO.getNo());
if (!StringUtils.isNumeric(onlineTs)) { if (!StringUtils.isNumeric(onlineTs)) {

View File

@@ -3,6 +3,7 @@ package com.ycwl.basic.service.pc.impl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.ycwl.basic.exception.BaseException; import com.ycwl.basic.exception.BaseException;
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
import com.ycwl.basic.mapper.SourceMapper; import com.ycwl.basic.mapper.SourceMapper;
import com.ycwl.basic.model.pc.device.entity.DeviceEntity; import com.ycwl.basic.model.pc.device.entity.DeviceEntity;
import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity; import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity;
@@ -161,6 +162,12 @@ public class SourceServiceImpl implements SourceService {
sourceRespVO.setVideoUrl(sourceRespVO.getVideoUrl()); sourceRespVO.setVideoUrl(sourceRespVO.getVideoUrl());
} }
} }
try {
ScenicV2DTO scenicBasic = scenicRepository.getScenicBasic(sourceRespVO.getScenicId());
sourceRespVO.setScenicName(scenicBasic.getName());
} catch (Exception e) {
sourceRespVO.setScenicName("");
}
return ApiResponse.success(sourceRespVO); return ApiResponse.success(sourceRespVO);
} }