From 1ae47003cc15100632392244cd8880467a79cdd8 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 10:44:10 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pli-power-base/pli-power-base-server/pom.xml | 2 +- .../power/modules/visit/controller/VisitVisitorController.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml index c95ef81..c04ded1 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/pom.xml @@ -207,7 +207,7 @@ false - 192.168.43.33 + 192.168.43.132 false diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java index fcd5a63..2f7e712 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java @@ -91,7 +91,6 @@ public class VisitVisitorController { return new Result(); } - @NoRepeatSubmit @PostMapping("logout") public Result logout(@RequestBody VisitorLogoutFormDTO dto) { //效验数据 From cebbc0364485180a9473b73c1aeed8dfce643fb6 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 10:54:34 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/visit/controller/VisitVisitorController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java index 2f7e712..e0553df 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java @@ -91,8 +91,8 @@ public class VisitVisitorController { return new Result(); } - @PostMapping("logout") - public Result logout(@RequestBody VisitorLogoutFormDTO dto) { + @PostMapping("visitlogout") + public Result visitorLogout(@RequestBody VisitorLogoutFormDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); visitVisitorService.logout(dto); From 28c769d33ffffc8f739153a3605cb82a85e767a6 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 10:58:32 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/plugin/power/feign/PliPowerFeignClient.java | 2 +- .../plugin/power/feign/impl/PliPowerFeignClientFallBack.java | 2 +- .../power/modules/visit/controller/VisitVisitorController.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java index 8a4e8fa..f75c5fc 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; @FeignClient(name = ServiceConstant.PLI_POWER_SERVER, fallbackFactory = PliPowerFeignClientFallBackFactory.class) public interface PliPowerFeignClient { - @PostMapping("/pli/power/visitVisitor/logout") + @PostMapping("/pli/power/visitVisitor/visitorlogout") Result visitorLogout(@RequestBody VisitorLogoutFormDTO formDTO); } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java index d71624a..63986ce 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java @@ -18,7 +18,7 @@ public class PliPowerFeignClientFallBack implements PliPowerFeignClient { @Override public Result visitorLogout(VisitorLogoutFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.PLI_POWER_SERVER, "logout",formDTO); + return ModuleUtils.feignConError(ServiceConstant.PLI_POWER_SERVER, "visitorLogout",formDTO); } } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java index e0553df..9bc095b 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java @@ -91,7 +91,7 @@ public class VisitVisitorController { return new Result(); } - @PostMapping("visitlogout") + @PostMapping("visitorlogout") public Result visitorLogout(@RequestBody VisitorLogoutFormDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); From 2f76f1fd15ce2788d071467b1a3e67b461412424 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 13:32:20 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/config/ModuleConfigImpl.java | 24 +++ .../NacosServiceListListenerRegisterer.java | 161 ++++++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java create mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java new file mode 100644 index 0000000..cfbfb4d --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java @@ -0,0 +1,24 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + *

+ * https://www.renren.io + *

+ * 版权所有,侵权必究! + */ + +package com.epmet.config; + +import com.epmet.commons.tools.config.ModuleConfig; +import org.springframework.stereotype.Service; + +/** + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Service +public class ModuleConfigImpl implements ModuleConfig { + @Override + public String getName() { + return "pli-power-base"; + } +} diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java new file mode 100644 index 0000000..da054b5 --- /dev/null +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java @@ -0,0 +1,161 @@ +package com.epmet.config; + +import com.alibaba.cloud.nacos.NacosDiscoveryProperties; +import com.alibaba.nacos.api.exception.NacosException; +import com.alibaba.nacos.api.naming.NamingService; +import com.alibaba.nacos.api.naming.listener.Event; +import com.alibaba.nacos.api.naming.listener.EventListener; +import com.alibaba.nacos.api.naming.listener.NamingEvent; +import com.alibaba.nacos.api.naming.pojo.ListView; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.netflix.loadbalancer.DynamicServerListLoadBalancer; +import com.netflix.loadbalancer.ILoadBalancer; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.cloud.netflix.ribbon.SpringClientFactory; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.PostConstruct; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.*; + +/** + * @author wxz + * @Description Nacos服务列表刷新监听注册器 + * @date 2021.09.22 14:33:11 + */ +@Slf4j +@Configuration +@ConditionalOnProperty(prefix = "spring.cloud.nacos.discovery.serviceListChangedListening", name = "enable", havingValue = "true", matchIfMissing = false) +public class NacosServiceListListenerRegisterer { + + public static final String REFRESH_SERVER_LIST_METHOD_NAME = "restOfInit"; + // 服务列表拉取间隔:10s + public static final long SERVICE_LIST_PULLING_DELAY_SECONDS = 10; + + private NamingService namingService; + + private ScheduledExecutorService executor; + + @Autowired + private NacosDiscoveryProperties discoveryProperties; + + @Autowired + private SpringClientFactory springClientFactory; + + // 监听中的服务列表 + private List observingServers = new ArrayList<>(33); + + @PostConstruct + public void init() { + namingService = discoveryProperties.namingServiceInstance(); + // 启动监听 + executor = new ScheduledThreadPoolExecutor(2, new ThreadFactory() { + @Override + public Thread newThread(Runnable r) { + Thread thread = new Thread(r); + thread.setDaemon(true); + thread.setName("NacosServiceListWatchingRegisterer"); + return thread; + } + }); + + // 立即启动,并15s刷新一次服务列表,用于新服务列表的发现 + ScheduledFuture future = executor.scheduleAtFixedRate(new EpmetNacosServiceListListener(), 0, SERVICE_LIST_PULLING_DELAY_SECONDS, TimeUnit.SECONDS); + } + + public class EpmetNacosServiceListListener implements Runnable { + + @Override + public void run() { + doRefreshServerList(); + } + + /** + * @param + * @return + * @description 执行刷新 + * @author wxz + * @date 2021.09.22 16:04:49 + */ + private synchronized void doRefreshServerList() { + ListView serviceListView = null; + try { + serviceListView = namingService.getServicesOfServer(1, 100); + //启动监听 + if (serviceListView == null || serviceListView.getCount() == 0) { + // log.debug("【Nacos服务列表定时刷新】当前无任何可添加监听的服务"); + return; + } + List serviceList = serviceListView.getData(); + // log.debug("【Nacos服务列表定时刷新】Nacos服务端服务列表: {}", serviceList); + + for (String service : serviceList) { + try { + + // 如果该服务已经在监听列表中存在了,则不再注册监听。注:不能取消空服务的监听,因为空服务随时可能恢复运行,需要实时监听。 + if (observingServers.contains(service)) { + continue; + } + + namingService.subscribe(service, new EventListener() { + @Override + public void onEvent(Event event) { + if (event instanceof NamingEvent) { + NamingEvent namingEvent = (NamingEvent) event; + log.debug("【Nacos服务列表刷新监听】收到事件:{}:[{}]", namingEvent.getServiceName(), namingEvent.getInstances()); + doRefreshServerList(service); + } + } + }); + + // 将该服务加入到监听列表中 + observingServers.add(service); + } catch (NacosException e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + log.error("【Nacos服务列表定时刷新】订阅ApplicationContext的刷新事件失败,错误信息:{}", errorStackTrace); + } + } + + } catch (NacosException e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + log.error("【Nacos服务列表定时刷新】链接Nacos服务端失败,错误信息:{}", errorStackTrace); + } + } + + /** + * @param serviceName + * @return + * @description 刷新ServerList + * @author wxz + * @date 2021.09.22 09:29:16 + */ + private void doRefreshServerList(String serviceName) { + // 刷新方式1:反射调用DynamicServerListLoadBalancer中的restOfInit()方法。该方法原来只执行一次,此处不推荐用 + //ILoadBalancer loadBalancer = springClientFactory.getLoadBalancer(serviceName); + //if (loadBalancer instanceof ZoneAwareLoadBalancer) { + // ZoneAwareLoadBalancer zaLoadBalancer = (ZoneAwareLoadBalancer) loadBalancer; + // IClientConfig clientConfig = springClientFactory.getClientConfig(serviceName); + // try { + // Method restOfInitMethod = zaLoadBalancer.getClass().getSuperclass().getDeclaredMethod(REFRESH_SERVER_LIST_METHOD_NAME, IClientConfig.class); + // restOfInitMethod.setAccessible(true); + // restOfInitMethod.invoke(zaLoadBalancer, clientConfig); + // } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { + // String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + // log.error("【LoadBalancer刷新服务列表】失败:{}", errorStackTrace); + // } + //} + + // 刷新方式2:DynamicServerListLoadBalancer#updateListOfServers()该方法为ribbon定时刷新服务列表的时候真正调用的方法,但是加了@VisibleForTesting + // 暂且 1 try + ILoadBalancer loadBalancer = springClientFactory.getLoadBalancer(serviceName); + if (loadBalancer instanceof DynamicServerListLoadBalancer) { + DynamicServerListLoadBalancer dslb = (DynamicServerListLoadBalancer) loadBalancer; + dslb.updateListOfServers(); + } + } + } + +} From 7e4035c1ee4c9aaba7b83a516638429e70e9219d Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 13:41:23 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visit/controller/VisitVisitorController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java index 9bc095b..c251f04 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java @@ -14,6 +14,7 @@ import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO; import com.epmet.plugin.power.dto.visit.form.VisitVisitorFormDTO; import com.epmet.plugin.power.dto.visit.form.VisitorLogoutFormDTO; import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO; +import com.epmet.plugin.power.feign.PliPowerFeignClient; import com.epmet.plugin.power.modules.visit.excel.VisitVisitorExcel; import com.epmet.plugin.power.modules.visit.service.VisitVisitorService; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +38,9 @@ public class VisitVisitorController { @Autowired private VisitVisitorService visitVisitorService; + @Autowired + private PliPowerFeignClient pliPowerFeignClient; + @RequestMapping("page") public Result> page(@RequestParam Map params) { PageData page = visitVisitorService.page(params); @@ -107,4 +111,11 @@ public class VisitVisitorController { return new Result>().ok(visitVisitorService.getTraffic(dto)); } + @PostMapping("test") + public Result test() { + VisitorLogoutFormDTO formDTO = new VisitorLogoutFormDTO(); + pliPowerFeignClient.visitorLogout(formDTO); + return new Result(); + } + } From 3b8cfa06a162b658eb70d79e4326a39d5a366a3e Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 13:48:00 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NacosServiceListListenerRegisterer.java | 161 ------------------ 1 file changed, 161 deletions(-) delete mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java deleted file mode 100644 index da054b5..0000000 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/NacosServiceListListenerRegisterer.java +++ /dev/null @@ -1,161 +0,0 @@ -package com.epmet.config; - -import com.alibaba.cloud.nacos.NacosDiscoveryProperties; -import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.api.naming.NamingService; -import com.alibaba.nacos.api.naming.listener.Event; -import com.alibaba.nacos.api.naming.listener.EventListener; -import com.alibaba.nacos.api.naming.listener.NamingEvent; -import com.alibaba.nacos.api.naming.pojo.ListView; -import com.epmet.commons.tools.exception.ExceptionUtils; -import com.netflix.loadbalancer.DynamicServerListLoadBalancer; -import com.netflix.loadbalancer.ILoadBalancer; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.cloud.netflix.ribbon.SpringClientFactory; -import org.springframework.context.annotation.Configuration; - -import javax.annotation.PostConstruct; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.*; - -/** - * @author wxz - * @Description Nacos服务列表刷新监听注册器 - * @date 2021.09.22 14:33:11 - */ -@Slf4j -@Configuration -@ConditionalOnProperty(prefix = "spring.cloud.nacos.discovery.serviceListChangedListening", name = "enable", havingValue = "true", matchIfMissing = false) -public class NacosServiceListListenerRegisterer { - - public static final String REFRESH_SERVER_LIST_METHOD_NAME = "restOfInit"; - // 服务列表拉取间隔:10s - public static final long SERVICE_LIST_PULLING_DELAY_SECONDS = 10; - - private NamingService namingService; - - private ScheduledExecutorService executor; - - @Autowired - private NacosDiscoveryProperties discoveryProperties; - - @Autowired - private SpringClientFactory springClientFactory; - - // 监听中的服务列表 - private List observingServers = new ArrayList<>(33); - - @PostConstruct - public void init() { - namingService = discoveryProperties.namingServiceInstance(); - // 启动监听 - executor = new ScheduledThreadPoolExecutor(2, new ThreadFactory() { - @Override - public Thread newThread(Runnable r) { - Thread thread = new Thread(r); - thread.setDaemon(true); - thread.setName("NacosServiceListWatchingRegisterer"); - return thread; - } - }); - - // 立即启动,并15s刷新一次服务列表,用于新服务列表的发现 - ScheduledFuture future = executor.scheduleAtFixedRate(new EpmetNacosServiceListListener(), 0, SERVICE_LIST_PULLING_DELAY_SECONDS, TimeUnit.SECONDS); - } - - public class EpmetNacosServiceListListener implements Runnable { - - @Override - public void run() { - doRefreshServerList(); - } - - /** - * @param - * @return - * @description 执行刷新 - * @author wxz - * @date 2021.09.22 16:04:49 - */ - private synchronized void doRefreshServerList() { - ListView serviceListView = null; - try { - serviceListView = namingService.getServicesOfServer(1, 100); - //启动监听 - if (serviceListView == null || serviceListView.getCount() == 0) { - // log.debug("【Nacos服务列表定时刷新】当前无任何可添加监听的服务"); - return; - } - List serviceList = serviceListView.getData(); - // log.debug("【Nacos服务列表定时刷新】Nacos服务端服务列表: {}", serviceList); - - for (String service : serviceList) { - try { - - // 如果该服务已经在监听列表中存在了,则不再注册监听。注:不能取消空服务的监听,因为空服务随时可能恢复运行,需要实时监听。 - if (observingServers.contains(service)) { - continue; - } - - namingService.subscribe(service, new EventListener() { - @Override - public void onEvent(Event event) { - if (event instanceof NamingEvent) { - NamingEvent namingEvent = (NamingEvent) event; - log.debug("【Nacos服务列表刷新监听】收到事件:{}:[{}]", namingEvent.getServiceName(), namingEvent.getInstances()); - doRefreshServerList(service); - } - } - }); - - // 将该服务加入到监听列表中 - observingServers.add(service); - } catch (NacosException e) { - String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); - log.error("【Nacos服务列表定时刷新】订阅ApplicationContext的刷新事件失败,错误信息:{}", errorStackTrace); - } - } - - } catch (NacosException e) { - String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); - log.error("【Nacos服务列表定时刷新】链接Nacos服务端失败,错误信息:{}", errorStackTrace); - } - } - - /** - * @param serviceName - * @return - * @description 刷新ServerList - * @author wxz - * @date 2021.09.22 09:29:16 - */ - private void doRefreshServerList(String serviceName) { - // 刷新方式1:反射调用DynamicServerListLoadBalancer中的restOfInit()方法。该方法原来只执行一次,此处不推荐用 - //ILoadBalancer loadBalancer = springClientFactory.getLoadBalancer(serviceName); - //if (loadBalancer instanceof ZoneAwareLoadBalancer) { - // ZoneAwareLoadBalancer zaLoadBalancer = (ZoneAwareLoadBalancer) loadBalancer; - // IClientConfig clientConfig = springClientFactory.getClientConfig(serviceName); - // try { - // Method restOfInitMethod = zaLoadBalancer.getClass().getSuperclass().getDeclaredMethod(REFRESH_SERVER_LIST_METHOD_NAME, IClientConfig.class); - // restOfInitMethod.setAccessible(true); - // restOfInitMethod.invoke(zaLoadBalancer, clientConfig); - // } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - // String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); - // log.error("【LoadBalancer刷新服务列表】失败:{}", errorStackTrace); - // } - //} - - // 刷新方式2:DynamicServerListLoadBalancer#updateListOfServers()该方法为ribbon定时刷新服务列表的时候真正调用的方法,但是加了@VisibleForTesting - // 暂且 1 try - ILoadBalancer loadBalancer = springClientFactory.getLoadBalancer(serviceName); - if (loadBalancer instanceof DynamicServerListLoadBalancer) { - DynamicServerListLoadBalancer dslb = (DynamicServerListLoadBalancer) loadBalancer; - dslb.updateListOfServers(); - } - } - } - -} From 99cc8e59a410386270390b3557e55c7eb174e2c3 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 13:50:02 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/config/ModuleConfigImpl.java | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java deleted file mode 100644 index cfbfb4d..0000000 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/config/ModuleConfigImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright (c) 2018 人人开源 All rights reserved. - *

- * https://www.renren.io - *

- * 版权所有,侵权必究! - */ - -package com.epmet.config; - -import com.epmet.commons.tools.config.ModuleConfig; -import org.springframework.stereotype.Service; - -/** - * @author Mark sunlightcs@gmail.com - * @since 1.0.0 - */ -@Service -public class ModuleConfigImpl implements ModuleConfig { - @Override - public String getName() { - return "pli-power-base"; - } -} From 5abee2e9286f3de32127fef78479ca1ea277b87e Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 13:56:46 +0800 Subject: [PATCH 08/10] bug --- .../src/main/resources/mapper/visit/VisitVisitorDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/visit/VisitVisitorDao.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/visit/VisitVisitorDao.xml index 72428f9..ca691ee 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/visit/VisitVisitorDao.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/visit/VisitVisitorDao.xml @@ -45,7 +45,7 @@ FROM pli_visit_visitor WHERE - DATE_FORMAT( CREATED_TIME, '%Y-%m-%d' ) = #{dateId} + DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId} \ No newline at end of file From 33247a6824b83aea9a6c99ec9ecf3f3331dcd1e7 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 14:26:08 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E5=86=8D=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/plugin/power/feign/PliPowerFeignClient.java | 3 +++ .../power/feign/impl/PliPowerFeignClientFallBack.java | 5 +++++ .../modules/visit/controller/VisitVisitorController.java | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java index f75c5fc..1d817e8 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java @@ -21,4 +21,7 @@ public interface PliPowerFeignClient { @PostMapping("/pli/power/visitVisitor/visitorlogout") Result visitorLogout(@RequestBody VisitorLogoutFormDTO formDTO); + @PostMapping("/pli/power/visitVisitor/logout") + Result logout(@RequestBody VisitorLogoutFormDTO formDTO); + } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java index 63986ce..9fce15f 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java @@ -21,4 +21,9 @@ public class PliPowerFeignClientFallBack implements PliPowerFeignClient { return ModuleUtils.feignConError(ServiceConstant.PLI_POWER_SERVER, "visitorLogout",formDTO); } + @Override + public Result logout(VisitorLogoutFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.PLI_POWER_SERVER, "logout",formDTO); + } + } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java index c251f04..acb9112 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java @@ -103,6 +103,14 @@ public class VisitVisitorController { return new Result(); } + @PostMapping("logout") + public Result logout(@RequestBody VisitorLogoutFormDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + visitVisitorService.logout(dto); + return new Result(); + } + @NoRepeatSubmit @PostMapping("chart/traffic") public Result> getTraffic(@RequestBody VisitVisitorChartFormDTO dto) { From bc59fa6de2823a2f2e63ae1e5779c42c1ead2cdd Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 5 Aug 2022 17:07:44 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../power/feign/PliPowerFeignClient.java | 3 --- .../impl/PliPowerFeignClientFallBack.java | 5 ----- .../controller/VisitVisitorController.java | 21 +------------------ 3 files changed, 1 insertion(+), 28 deletions(-) diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java index 1d817e8..f75c5fc 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/PliPowerFeignClient.java @@ -21,7 +21,4 @@ public interface PliPowerFeignClient { @PostMapping("/pli/power/visitVisitor/visitorlogout") Result visitorLogout(@RequestBody VisitorLogoutFormDTO formDTO); - @PostMapping("/pli/power/visitVisitor/logout") - Result logout(@RequestBody VisitorLogoutFormDTO formDTO); - } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java index 9fce15f..63986ce 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-client/src/main/java/com/epmet/plugin/power/feign/impl/PliPowerFeignClientFallBack.java @@ -21,9 +21,4 @@ public class PliPowerFeignClientFallBack implements PliPowerFeignClient { return ModuleUtils.feignConError(ServiceConstant.PLI_POWER_SERVER, "visitorLogout",formDTO); } - @Override - public Result logout(VisitorLogoutFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.PLI_POWER_SERVER, "logout",formDTO); - } - } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java index acb9112..2412a18 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/visit/controller/VisitVisitorController.java @@ -7,14 +7,13 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.plugin.power.dto.visit.VisitVisitorDTO; import com.epmet.plugin.power.dto.visit.form.VisitVisitorChartFormDTO; import com.epmet.plugin.power.dto.visit.form.VisitVisitorFormDTO; import com.epmet.plugin.power.dto.visit.form.VisitorLogoutFormDTO; import com.epmet.plugin.power.dto.visit.result.VisitVisitorChartResultDTO; -import com.epmet.plugin.power.feign.PliPowerFeignClient; import com.epmet.plugin.power.modules.visit.excel.VisitVisitorExcel; import com.epmet.plugin.power.modules.visit.service.VisitVisitorService; import org.springframework.beans.factory.annotation.Autowired; @@ -38,9 +37,6 @@ public class VisitVisitorController { @Autowired private VisitVisitorService visitVisitorService; - @Autowired - private PliPowerFeignClient pliPowerFeignClient; - @RequestMapping("page") public Result> page(@RequestParam Map params) { PageData page = visitVisitorService.page(params); @@ -103,14 +99,6 @@ public class VisitVisitorController { return new Result(); } - @PostMapping("logout") - public Result logout(@RequestBody VisitorLogoutFormDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - visitVisitorService.logout(dto); - return new Result(); - } - @NoRepeatSubmit @PostMapping("chart/traffic") public Result> getTraffic(@RequestBody VisitVisitorChartFormDTO dto) { @@ -119,11 +107,4 @@ public class VisitVisitorController { return new Result>().ok(visitVisitorService.getTraffic(dto)); } - @PostMapping("test") - public Result test() { - VisitorLogoutFormDTO formDTO = new VisitorLogoutFormDTO(); - pliPowerFeignClient.visitorLogout(formDTO); - return new Result(); - } - }