From dbe0447987eb5463c551f056fbc1c32eb41891f3 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 4 Sep 2025 15:57:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor(pc):=20=E7=A7=BB=E9=99=A4=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95=E5=B9=B6=E4=BC=98=E5=8C=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了多个控制器和服务类中的冗余日志记录 - 在查询数据时,不再通过 SQL左连接直接获取景点和设备名称,而是使用 Repository 单独查询 - 更新了 FaceSampleMapper、 --- .../controller/pc/DeviceV2Controller.java | 7 ----- .../DeviceConfigIntegrationService.java | 3 -- .../pc/impl/DeviceStatsServiceImpl.java | 28 +++++++++++++++++++ .../pc/impl/FaceSampleServiceImpl.java | 18 ++++++++++++ .../service/pc/impl/SourceServiceImpl.java | 16 +++++++++++ .../resources/mapper/FaceSampleMapper.xml | 4 +-- .../mapper/ScenicDeviceStatsMapper.xml | 12 ++------ src/main/resources/mapper/SourceMapper.xml | 4 +-- 8 files changed, 66 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/ycwl/basic/controller/pc/DeviceV2Controller.java b/src/main/java/com/ycwl/basic/controller/pc/DeviceV2Controller.java index cb6de9f..7649fdb 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/DeviceV2Controller.java +++ b/src/main/java/com/ycwl/basic/controller/pc/DeviceV2Controller.java @@ -92,7 +92,6 @@ public class DeviceV2Controller { */ @GetMapping("/{id}") public ApiResponse getDevice(@PathVariable Long id) { - log.info("获取设备信息, id: {}", id); try { DeviceV2DTO device = deviceIntegrationService.getDevice(id); return ApiResponse.success(device); @@ -107,7 +106,6 @@ public class DeviceV2Controller { */ @GetMapping("/{id}/with-config") public ApiResponse getDeviceWithConfig(@PathVariable Long id) { - log.info("获取设备配置信息, id: {}", id); try { DeviceV2WithConfigDTO device = deviceIntegrationService.getDeviceWithConfig(id); return ApiResponse.success(device); @@ -122,7 +120,6 @@ public class DeviceV2Controller { */ @GetMapping("/no/{no}") public ApiResponse getDeviceByNo(@PathVariable String no) { - log.info("根据设备编号获取设备信息, no: {}", no); try { DeviceV2DTO device = deviceIntegrationService.getDeviceByNo(no); return ApiResponse.success(device); @@ -137,7 +134,6 @@ public class DeviceV2Controller { */ @GetMapping("/no/{no}/with-config") public ApiResponse getDeviceWithConfigByNo(@PathVariable String no) { - log.info("根据设备编号获取设备配置信息, no: {}", no); try { DeviceV2WithConfigDTO device = deviceIntegrationService.getDeviceWithConfigByNo(no); return ApiResponse.success(device); @@ -296,7 +292,6 @@ public class DeviceV2Controller { */ @GetMapping("/{id}/config") public ApiResponse> getDeviceConfigs(@PathVariable Long id) { - log.info("获取设备配置列表, deviceId: {}", id); try { List configs = deviceConfigIntegrationService.getDeviceConfigs(id); return ApiResponse.success(configs); @@ -311,7 +306,6 @@ public class DeviceV2Controller { */ @GetMapping("/{id}/flat-config") public ApiResponse> getDeviceFlatConfig(@PathVariable Long id) { - log.info("获取设备扁平化配置, deviceId: {}", id); try { Map config = deviceConfigIntegrationService.getDeviceFlatConfig(id); return ApiResponse.success(config); @@ -327,7 +321,6 @@ public class DeviceV2Controller { @GetMapping("/{id}/config/{configKey}") public ApiResponse getDeviceConfigByKey(@PathVariable Long id, @PathVariable String configKey) { - log.info("根据键获取设备配置, deviceId: {}, configKey: {}", id, configKey); try { DeviceConfigV2DTO config = deviceConfigIntegrationService.getDeviceConfigByKey(id, configKey); return ApiResponse.success(config); diff --git a/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java b/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java index 850c35b..738a3ae 100644 --- a/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java @@ -24,7 +24,6 @@ public class DeviceConfigIntegrationService { private static final String SERVICE_NAME = "zt-device"; public List getDeviceConfigs(Long deviceId) { - log.info("获取设备配置列表, deviceId: {}", deviceId); CommonResponse> response = deviceConfigV2Client.getDeviceConfigs(deviceId); return handleResponse(response, "获取设备配置列表失败"); } @@ -36,13 +35,11 @@ public class DeviceConfigIntegrationService { } public DeviceConfigV2DTO getDeviceConfigByKey(Long deviceId, String configKey) { - log.info("根据键获取设备配置, deviceId: {}, configKey: {}", deviceId, configKey); CommonResponse response = deviceConfigV2Client.getDeviceConfigByKey(deviceId, configKey); return handleResponse(response, "根据键获取设备配置失败"); } public Map getDeviceFlatConfig(Long deviceId) { - log.info("获取设备扁平化配置, deviceId: {}", deviceId); return fallbackService.executeWithFallback( SERVICE_NAME, "device:flat:config:" + deviceId, diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/DeviceStatsServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/DeviceStatsServiceImpl.java index b980609..b4ee0e7 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/DeviceStatsServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/DeviceStatsServiceImpl.java @@ -2,8 +2,12 @@ package com.ycwl.basic.service.pc.impl; import cn.hutool.core.date.DateUtil; import com.ycwl.basic.mapper.ScenicDeviceStatsMapper; +import com.ycwl.basic.model.pc.device.entity.DeviceEntity; +import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity; import com.ycwl.basic.model.pc.scenicDeviceStats.resp.ScenicDeviceStatsListResp; import com.ycwl.basic.model.pc.scenicDeviceStats.resp.ScenicDeviceStatsResp; +import com.ycwl.basic.repository.DeviceRepository; +import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.service.pc.DeviceStatsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -17,6 +21,10 @@ import java.util.List; public class DeviceStatsServiceImpl implements DeviceStatsService { @Autowired private ScenicDeviceStatsMapper mapper; + @Autowired + private ScenicRepository scenicRepository; + @Autowired + private DeviceRepository deviceRepository; @Override public ScenicDeviceStatsListResp queryByScenicId(Long scenicId, Date start, Date end) { @@ -30,10 +38,30 @@ public class DeviceStatsServiceImpl implements DeviceStatsService { if (DateUtil.isIn(start, DateUtil.tomorrow(), DateUtil.yesterday()) && DateUtil.isIn(end, DateUtil.tomorrow(), DateUtil.yesterday())) { resp.setRealtime(true); List data = mapper.countRealtimeStatsByScenicId(scenicId, start, end); + data.forEach(item -> { + ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId()); + if (scenic != null) { + item.setScenicName(scenic.getName()); + } + DeviceEntity device = deviceRepository.getDevice(item.getDeviceId()); + if (device != null) { + item.setDeviceName(device.getName()); + } + }); resp.setData(data); } else { resp.setRealtime(false); List data = mapper.countCachedStatsByScenicId(scenicId, start, end); + data.forEach(item -> { + ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId()); + if (scenic != null) { + item.setScenicName(scenic.getName()); + } + DeviceEntity device = deviceRepository.getDevice(item.getDeviceId()); + if (device != null) { + item.setDeviceName(device.getName()); + } + }); resp.setData(data); } resp.getData().stream() diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/FaceSampleServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/FaceSampleServiceImpl.java index a603afd..ea418f8 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/FaceSampleServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/FaceSampleServiceImpl.java @@ -3,9 +3,13 @@ package com.ycwl.basic.service.pc.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ycwl.basic.mapper.FaceSampleMapper; +import com.ycwl.basic.model.pc.device.entity.DeviceEntity; import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity; import com.ycwl.basic.model.pc.faceSample.req.FaceSampleReqQuery; import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO; +import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity; +import com.ycwl.basic.repository.DeviceRepository; +import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.service.pc.FaceSampleService; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.SnowFlakeUtil; @@ -22,11 +26,25 @@ import java.util.List; public class FaceSampleServiceImpl implements FaceSampleService { @Autowired private FaceSampleMapper faceSampleMapper; + @Autowired + private ScenicRepository scenicRepository; + @Autowired + private DeviceRepository deviceRepository; @Override public ApiResponse> pageQuery(FaceSampleReqQuery faceSampleReqQuery) { PageHelper.startPage(faceSampleReqQuery.getPageNum(),faceSampleReqQuery.getPageSize()); List list = faceSampleMapper.list(faceSampleReqQuery); + list.forEach(item -> { + ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId()); + if (scenic != null) { + item.setScenicName(scenic.getName()); + } + DeviceEntity device = deviceRepository.getDevice(item.getDeviceId()); + if (device != null) { + item.setDeviceName(device.getName()); + } + }); PageInfo pageInfo = new PageInfo<>(list); return ApiResponse.success(pageInfo); } diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/SourceServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/SourceServiceImpl.java index 0be84a4..0455af5 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/SourceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/SourceServiceImpl.java @@ -4,9 +4,13 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ycwl.basic.exception.BaseException; import com.ycwl.basic.mapper.SourceMapper; +import com.ycwl.basic.model.pc.device.entity.DeviceEntity; +import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity; import com.ycwl.basic.model.pc.source.entity.SourceEntity; import com.ycwl.basic.model.pc.source.req.SourceReqQuery; import com.ycwl.basic.model.pc.source.resp.SourceRespVO; +import com.ycwl.basic.repository.DeviceRepository; +import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.repository.SourceRepository; import com.ycwl.basic.service.pc.ScenicService; import com.ycwl.basic.service.pc.SourceService; @@ -39,12 +43,24 @@ public class SourceServiceImpl implements SourceService { private SourceRepository sourceRepository; @Autowired private ScenicService scenicService; + @Autowired + private ScenicRepository scenicRepository; + @Autowired + private DeviceRepository deviceRepository; @Override public ApiResponse> pageQuery(SourceReqQuery sourceReqQuery) { PageHelper.startPage(sourceReqQuery.getPageNum(), sourceReqQuery.getPageSize()); List list = sourceMapper.list(sourceReqQuery); list.forEach(sourceRespVO -> { + ScenicEntity scenic = scenicRepository.getScenic(sourceRespVO.getScenicId()); + if (scenic != null) { + sourceRespVO.setScenicName(scenic.getName()); + } + DeviceEntity device = deviceRepository.getDevice(sourceRespVO.getDeviceId()); + if (device != null) { + sourceRespVO.setDeviceName(device.getName()); + } if (sourceRespVO.getVideoUrl() != null) { try { URL url = new URL(sourceRespVO.getVideoUrl()); diff --git a/src/main/resources/mapper/FaceSampleMapper.xml b/src/main/resources/mapper/FaceSampleMapper.xml index 7b23788..339850e 100644 --- a/src/main/resources/mapper/FaceSampleMapper.xml +++ b/src/main/resources/mapper/FaceSampleMapper.xml @@ -54,10 +54,8 @@ \ No newline at end of file diff --git a/src/main/resources/mapper/SourceMapper.xml b/src/main/resources/mapper/SourceMapper.xml index 9f28e85..7b8702c 100644 --- a/src/main/resources/mapper/SourceMapper.xml +++ b/src/main/resources/mapper/SourceMapper.xml @@ -72,10 +72,8 @@