From 2b2474b918615cf738f9ed82d2d5b6f05eaee376 Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Tue, 22 Apr 2025 08:53:34 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=201=E3=80=81=E5=A2=9E=E5=8A=A0=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E5=90=8C=E7=BA=A7=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90?= =?UTF-8?q?=202=E3=80=81=E5=BC=80=E5=8F=91app=E9=A6=96=E9=A1=B5=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/business/BusinessApplication.java | 2 ++ .../business/feign/FeignDeviceGroup.java | 20 ++++++++++++++++++ .../controller/DeviceProController.java | 14 ++++++++++++- .../manage/service/IDeviceProService.java | 2 ++ .../service/impl/DeviceProServiceImpl.java | 21 +++++++++++++++++++ 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 dk-modules/business/src/main/java/org/dromara/business/feign/FeignDeviceGroup.java diff --git a/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java b/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java index d29d738..024311b 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java +++ b/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java @@ -4,6 +4,7 @@ import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup; +import org.springframework.cloud.openfeign.EnableFeignClients; /** @@ -12,6 +13,7 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt */ @EnableDubbo @SpringBootApplication() +@EnableFeignClients public class BusinessApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(BusinessApplication.class); diff --git a/dk-modules/business/src/main/java/org/dromara/business/feign/FeignDeviceGroup.java b/dk-modules/business/src/main/java/org/dromara/business/feign/FeignDeviceGroup.java new file mode 100644 index 0000000..4a36405 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/feign/FeignDeviceGroup.java @@ -0,0 +1,20 @@ +package org.dromara.business.feign; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +@FeignClient(name = "gateway",path = "sample") +public interface FeignDeviceGroup { + + + @GetMapping("/manage/api/v1/device/group/feign/user") + public List listDeviceGroup(@RequestParam("userId") Long userId); + + + @GetMapping("/manage/api/v1/device/group/feign/device") + public List listDevice(@RequestParam("userId") Long userId); +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceProController.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceProController.java index a4543a4..07c4002 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceProController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceProController.java @@ -92,11 +92,23 @@ public class DeviceProController { /** * 根据人员获取项目组(feign调用接口) */ - @GetMapping("/user") + @GetMapping("/feign/user") public List listDeviceGroup(@RequestParam("userId") Long userId) { log.info("----------------------------开始调用feign接口查询项目组----------------------------"); List result = deviceProService.listDeviceGroup(userId); log.info("----------------------------调用feign接口查询项目组结束----------------------------"); return result; } + + /** + * 根据人员获取当前人员所拥有的机场(feign调用接口) + */ + @GetMapping("/feign/device") + public List listDevice(@RequestParam("userId") Long userId) { + log.info("----------------------------开始调用feign接口查询项目所属机场----------------------------"); + List result = deviceProService.listDevice(userId); + log.info("----------------------------调用feign接口查询项目组所属机场----------------------------"); + return result; + } + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceProService.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceProService.java index fd4cccd..580a1c0 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceProService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceProService.java @@ -41,4 +41,6 @@ public interface IDeviceProService { Boolean updateDevice(Dict dict); List listDeviceGroup(Long userId); + + List listDevice(Long userId); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceProServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceProServiceImpl.java index eb26d1a..f0c0444 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceProServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceProServiceImpl.java @@ -184,6 +184,27 @@ public class DeviceProServiceImpl implements IDeviceProService { return ListUtil.empty(); } + @Override + public List listDevice(Long userId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DeviceProUserEntity::getUserId,userId); + List proUserEntityList = deviceProUserMapper.selectList(wrapper); + if (ObjectUtil.isNotEmpty(proUserEntityList)){ + List proIdList = proUserEntityList.stream().map(DeviceProUserEntity::getDeviceProId).distinct().toList(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(DeviceProEntity::getId, proIdList); + List groupIdList = deviceProMapper.selectList(queryWrapper).stream().map(DeviceProEntity::getId).distinct().toList(); + + if (ObjectUtil.isEmpty(groupIdList)){ + return ListUtil.empty(); + } + + return deviceMapper.selectList(new LambdaQueryWrapper().in(DeviceEntity::getProId, groupIdList)).stream().map(DeviceEntity::getDeviceSn).distinct().toList(); + } + + return ListUtil.empty(); + } + @Override public Boolean saveAndUpdate(DeviceProEntity entity) { boolean flag = true;