diff --git a/vehicle-firm-common/pom.xml b/vehicle-firm-common/pom.xml index fe00b68..6a76358 100644 --- a/vehicle-firm-common/pom.xml +++ b/vehicle-firm-common/pom.xml @@ -20,7 +20,7 @@ com.dragon dragon-common-core - 3.6.3 + 3.6.4 diff --git a/vehicle-firm-remote/pom.xml b/vehicle-firm-remote/pom.xml index 84d4032..905c88c 100644 --- a/vehicle-firm-remote/pom.xml +++ b/vehicle-firm-remote/pom.xml @@ -22,5 +22,10 @@ vehicle-firm-common 3.6.3 + + com.dragon + dragon-common-core + 3.6.4 + diff --git a/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/RemoteFirmService.java b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/RemoteFirmService.java index 0e6989a..94a2733 100644 --- a/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/RemoteFirmService.java +++ b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/RemoteFirmService.java @@ -1,10 +1,21 @@ package dragon.vehicle.firm.remote; +import com.dragon.common.core.constant.ServiceNameConstants; +import com.dragon.common.core.domain.Result; +import com.dragon.vehicle.firm.domain.cache.FirmInfoCache; +import dragon.vehicle.firm.remote.factory.RemoteFirmServiceFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + /** * @author 冯凯 * @version 1.0 * @description: * @date 2023/11/20 13:40 */ +@FeignClient(contextId = "remoteFirmService",value = ServiceNameConstants.COMPANY_SERVICE,fallbackFactory = RemoteFirmServiceFallbackFactory.class) public interface RemoteFirmService { + + @GetMapping("/by/userId") + public Result getFirmInfoByUserId(); } diff --git a/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/factory/RemoteFirmServiceFallbackFactory.java b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/factory/RemoteFirmServiceFallbackFactory.java index 30b9ca5..8f666a0 100644 --- a/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/factory/RemoteFirmServiceFallbackFactory.java +++ b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/factory/RemoteFirmServiceFallbackFactory.java @@ -1,6 +1,11 @@ package dragon.vehicle.firm.remote.factory; +import com.dragon.common.core.domain.Result; +import com.dragon.vehicle.firm.domain.cache.FirmInfoCache; import dragon.vehicle.firm.remote.RemoteFirmService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; /** @@ -10,5 +15,18 @@ import org.springframework.stereotype.Component; * @date 2023/11/20 13:40 */ @Component -public class RemoteFirmServiceFallbackFactory implements RemoteFirmService { +public class RemoteFirmServiceFallbackFactory implements FallbackFactory { + + public static final Logger logger=LoggerFactory.getLogger(RemoteFirmService.class); + @Override + public RemoteFirmService create(Throwable throwable) { + logger.error("用户服务调用失败:{}", throwable.getMessage()); + return new RemoteFirmService(){ + @Override + public Result getFirmInfoByUserId() { + return Result.error("获取企业信息失败:" + throwable.getMessage()); + } + }; + + } } diff --git a/vehicle-firm-server/src/main/java/com/dragon/vehicle/firm/server/controller/FirmInfoController.java b/vehicle-firm-server/src/main/java/com/dragon/vehicle/firm/server/controller/FirmInfoController.java index 2ca7602..b4e14c4 100644 --- a/vehicle-firm-server/src/main/java/com/dragon/vehicle/firm/server/controller/FirmInfoController.java +++ b/vehicle-firm-server/src/main/java/com/dragon/vehicle/firm/server/controller/FirmInfoController.java @@ -1,8 +1,10 @@ package com.dragon.vehicle.firm.server.controller; import com.dragon.common.core.domain.Result; +import com.dragon.common.security.utils.SecurityUtils; import com.dragon.vehicle.firm.domain.cache.FirmInfoCache; import com.dragon.vehicle.firm.server.service.FirmInfoService; +import org.apache.catalina.security.SecurityUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,7 +36,7 @@ public class FirmInfoController { @GetMapping("/by/userId") public Result getFirmInfoByUserId(){ - Long userId = 6L; + Long userId = SecurityUtils.getUserId();//获取当前登录人的userId FirmInfoCache firmInfoCache=firmService.getFirmInfoByUserId(userId); return Result.success(firmInfoCache); }