From ad1d7649913dcb47d72325a1b3474e7b525067bc Mon Sep 17 00:00:00 2001 From: dzq Date: Fri, 13 Jun 2025 11:51:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(shop):=20=E6=B7=BB=E5=8A=A0=E6=A0=B9?= =?UTF-8?q?=E6=8D=AEID=E8=8E=B7=E5=8F=96=E5=95=86=E5=BA=97=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增获取商店详情的功能,包括领域层服务方法和控制器接口 ``` ```msg feat(cabinet): 新增10口机柜模板枚举值 在CabinetTemplateEnum中添加CABINET_10枚举值,用于支持10口机柜配置 ``` ```msg feat(cabinet): 拆分智能柜列表接口为分页和非分页版本 将原智能柜列表接口拆分为getSmartCabinetPage和getSmartCabinetList 分别用于分页查询和普通列表查询 ``` ```msg refactor(mqtt): 优化MQTT连接日志信息 在MQTT连接和消息发送日志中添加主题信息,便于调试和问题排查 --- .../cabinet/SmartCabinetController.java | 11 ++++++++-- .../admin/controller/shop/ShopController.java | 7 +++++++ .../smartCabinet/CabinetTemplateEnum.java | 4 +++- .../SmartCabinetApplicationService.java | 20 ++++++++++++++++++- .../agileboot/domain/mqtt/MqttService.java | 5 +++-- .../shop/shop/ShopApplicationService.java | 5 +++++ 6 files changed, 46 insertions(+), 6 deletions(-) diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/SmartCabinetController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/SmartCabinetController.java index 47057b7..abb50fa 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/SmartCabinetController.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/SmartCabinetController.java @@ -42,8 +42,15 @@ public class SmartCabinetController extends BaseController { @Operation(summary = "智能柜列表") @GetMapping - public ResponseDTO> list(SearchSmartCabinetQuery query) { - PageDTO page = smartCabinetApplicationService.getSmartCabinetList(query); + public ResponseDTO> page(SearchSmartCabinetQuery query) { + PageDTO page = smartCabinetApplicationService.getSmartCabinetPage(query); + return ResponseDTO.ok(page); + } + + @Operation(summary = "智能柜列表") + @GetMapping("/list") + public ResponseDTO> list(SearchSmartCabinetQuery query) { + List page = smartCabinetApplicationService.getSmartCabinetList(query); return ResponseDTO.ok(page); } diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java index 7c57f3b..0ecbd68 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java @@ -107,6 +107,13 @@ public class ShopController extends BaseController { return ResponseDTO.ok(page); } + @Operation(summary = "获取商店详情") + @GetMapping("/{id}") + public ResponseDTO getShopById(@PathVariable Long id) { + ShopDTO shopDTO = shopApplicationService.getShopById(id); + return ResponseDTO.ok(shopDTO); + } + @Operation(summary = "新增商店") @AccessLog(title = "商店管理", businessType = BusinessTypeEnum.ADD) @PostMapping diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/CabinetTemplateEnum.java b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/CabinetTemplateEnum.java index 8b9ee16..a26d835 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/CabinetTemplateEnum.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/CabinetTemplateEnum.java @@ -22,7 +22,9 @@ public enum CabinetTemplateEnum { /** 120口机柜模板(6X20),6块主板,每块主板20个单元格 */ CABINET_120(8, "cabinet_120.jpg", "120口机柜", 6, 20), /** 4口机柜模板,1块主板,每块主板4个单元格 */ - CABINET_4(9, "cabinet_4.jpg","4口机柜", 1, 4); + CABINET_4(9, "cabinet_4.jpg","4口机柜", 1, 4), + /** 10口机柜模板,1块主板,每块主板10个单元格 */ + CABINET_10(1, "cabinet_16.jpg", "10口机柜", 1, 10); /** 模板代码 */ private final int code; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/SmartCabinetApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/SmartCabinetApplicationService.java index 2c1086e..88d9de5 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/SmartCabinetApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/smartCabinet/SmartCabinetApplicationService.java @@ -45,7 +45,7 @@ public class SmartCabinetApplicationService { private final CabinetMainboardModelFactory cabinetMainboardModelFactory; private final CabinetCellModelFactory cabinetCellModelFactory; - public PageDTO getSmartCabinetList(SearchSmartCabinetQuery query) { + public PageDTO getSmartCabinetPage(SearchSmartCabinetQuery query) { List shopEntities = shopService.selectAll(); Page page = smartCabinetService.getCabinetList(query); @@ -64,6 +64,24 @@ public class SmartCabinetApplicationService { return new PageDTO<>(dtoList, page.getTotal()); } + public List getSmartCabinetList(SearchSmartCabinetQuery query) { + List shopEntities = shopService.selectAll(); + + List dtoList = smartCabinetService.list(query.toQueryWrapper()).stream() + .map(SmartCabinetDTO::new) + .collect(Collectors.toList()); + + dtoList.forEach(dto -> + dto.setShopName( + shopEntities.stream() + .filter(shop -> shop.getShopId().equals(dto.getShopId())) + .findFirst() + .map(ShopEntity::getShopName) + .orElse("")) + ); + return dtoList; + } + public SmartCabinetDTO getSmartCabinetById(Long cabinetId) { SmartCabinetEntity cabinet = smartCabinetService.getById(cabinetId); SmartCabinetDTO dto = new SmartCabinetDTO(cabinet); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/mqtt/MqttService.java b/agileboot-domain/src/main/java/com/agileboot/domain/mqtt/MqttService.java index f92f3d7..ae24a9d 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/mqtt/MqttService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/mqtt/MqttService.java @@ -66,7 +66,7 @@ public class MqttService implements MqttCallback { if (existingConfig != null) { existingConfig.client.subscribe(config.getTopicFilter()); clientConfigs.add(new ClientConfig(existingConfig.client, config)); - log.info("复用已有MQTT连接:{} 账号:{}", config.getServerUrl(), config.getUsername()); + log.info("复用已有MQTT连接:{} 账号:{} 主题:{}", config.getServerUrl(), config.getUsername(), config.getPublishTopic()); continue; } @@ -88,7 +88,7 @@ public class MqttService implements MqttCallback { client.connect(options); client.subscribe(config.getTopicFilter()); clientConfigs.add(new ClientConfig(client, config)); - log.info("成功连接MQTT服务器:{} 账号:{}", config.getServerUrl(), config.getUsername()); + log.info("成功连接MQTT服务器:{} 账号:{} 主题:{}", config.getServerUrl(), config.getUsername(), config.getPublishTopic()); } } @@ -104,6 +104,7 @@ public class MqttService implements MqttCallback { .filter(cc -> cc.config.getMqttServerId().equals(mqttServerId)) .forEach(cc -> { try { + log.info("发送消息到主题:{} 消息:{}", cc.config.getPublishTopic(), data + bcc); cc.client.publish(cc.config.getPublishTopic(), message); } catch (MqttException e) { log.error("消息发送失败", e); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java index 4e9ea9b..b4548cd 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java @@ -32,6 +32,11 @@ public class ShopApplicationService { return new PageDTO<>(dtoList, page.getTotal()); } + public ShopDTO getShopById(Long shopId) { + ShopEntity shopEntity = shopService.getById(shopId); + return new ShopDTO(shopEntity); + } + public List getShopListByCorpid(String corpid) { return shopService.getShopListByCorpid(corpid); }