From 2341e41020cca4f5b6d48bfbcf0c602f772026b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=86=99=E6=9C=9D?= <13694051+wangxizhao123@user.noreply.gitee.com> Date: Sat, 8 Jun 2024 20:39:19 +0800 Subject: [PATCH] =?UTF-8?q?fast()=E5=A4=9A=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/muyu/auth/form/Sys.java | 16 ++++++++ .../muyu/auth/service/SysLoginService.java | 7 ++++ .../core/constant/ServiceNameConstants.java | 8 ++++ muyu-common/muyu-common-goods/pom.xml | 27 +++++++++++++ .../com/muyu/common/goods/domain/Sources.java | 39 +++++++++++++++++++ .../goods/remote/RemoteSourcesService.java | 25 ++++++++++++ .../factory/RemoteSourcesFallbackFactory.java | 22 +++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../muyu/common/system/domain/LoginUser.java | 10 +++++ .../muyu/common/system/domain/SysUser.java | 15 +++++-- .../system/remote/RemoteUserService.java | 11 +++++- .../factory/RemoteUserFallbackFactory.java | 7 ++++ muyu-common/pom.xml | 1 + .../muyu-business-server/pom.xml | 4 ++ .../service/impl/BusinessServiceImpl.java | 6 +++ .../muyu-goods-enterprise-client/pom.xml | 8 +++- .../config/runner/EnterpriseConfigRunner.java | 27 ++++++++++--- .../muyu-goods-enterprise-remote/pom.xml | 6 +++ .../remote/EnterpriseDataService.java | 24 ++++++++++++ .../remote/RemoteEnterpriseManageService.java | 4 -- .../factory/EnterpriseDataServiceFactory.java | 20 ++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../goods/MuyuGoodsEnterpriseApplication.java | 1 + .../controller/EnterpriseController.java | 10 +++++ .../muyu/goods/mapper/EnterpriseMapper.java | 4 ++ .../goods/service/IEnterpriseService.java | 3 ++ .../service/impl/EnterpriseServiceImpl.java | 7 +++- .../mapper/goods/EnterpriseMapper.xml | 3 ++ .../muyu-moudels-many-datasource/pom.xml | 12 ++++++ .../cloud/Client/run/ManyConfigRunner.java | 4 -- .../CloudConfig.java} | 7 ++-- .../muyu/cloud/client/CloudConfigRunner.java | 19 +++++++++ .../cloud/datasource/config/DruidConfig.java | 32 +++++++++------ .../muyu/cloud/remote/DataSourceConfig.java | 21 ++++++++++ .../factory/DataSourceConfigRunner.java | 20 ++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 2 + .../src/main/resources/logback.xml | 2 +- .../system/controller/SysUserController.java | 5 +++ 38 files changed, 403 insertions(+), 38 deletions(-) create mode 100644 muyu-auth/src/main/java/com/muyu/auth/form/Sys.java create mode 100644 muyu-common/muyu-common-goods/pom.xml create mode 100644 muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/domain/Sources.java create mode 100644 muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java create mode 100644 muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java create mode 100644 muyu-common/muyu-common-goods/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/EnterpriseDataService.java delete mode 100644 muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/RemoteEnterpriseManageService.java create mode 100644 muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/factory/EnterpriseDataServiceFactory.java create mode 100644 muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports delete mode 100644 muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/Client/run/ManyConfigRunner.java rename muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/{Client/ManyConfig.java => client/CloudConfig.java} (54%) create mode 100644 muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/client/CloudConfigRunner.java create mode 100644 muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/DataSourceConfig.java create mode 100644 muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/factory/DataSourceConfigRunner.java diff --git a/muyu-auth/src/main/java/com/muyu/auth/form/Sys.java b/muyu-auth/src/main/java/com/muyu/auth/form/Sys.java new file mode 100644 index 0000000..d878272 --- /dev/null +++ b/muyu-auth/src/main/java/com/muyu/auth/form/Sys.java @@ -0,0 +1,16 @@ +package com.muyu.auth.form; + +import com.muyu.common.system.domain.LoginUser; +import com.muyu.common.system.remote.RemoteUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class Sys { + @Autowired + private RemoteUserService remoteUserService; + + public void sys(LoginUser userInfo) { + System.out.println(userInfo); + } +} diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index ff0af1a..87cfef5 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -1,5 +1,6 @@ package com.muyu.auth.service; +import com.muyu.auth.form.Sys; import com.muyu.common.core.constant.CacheConstants; import com.muyu.common.core.constant.Constants; import com.muyu.common.core.constant.SecurityConstants; @@ -18,6 +19,8 @@ import com.muyu.common.system.domain.LoginUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.List; + /** * 登录校验方法 * @@ -37,6 +40,9 @@ public class SysLoginService { @Autowired private RedisService redisService; + @Autowired + private Sys sys; + /** * 登录 */ @@ -88,6 +94,7 @@ public class SysLoginService { } passwordService.validate(user, password); recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); + sys.sys(userInfo); return userInfo; } diff --git a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java index 25c918e..c61c217 100644 --- a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java +++ b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/constant/ServiceNameConstants.java @@ -20,4 +20,12 @@ public class ServiceNameConstants { * 文件服务的serviceid */ public static final String FILE_SERVICE = "muyu-file"; + /** + * 企业运营 + */ + public static final String GOODS_SERVICE = "muyu-goods"; + /** + * 多数据源 + */ + public static final String RANGE_SERVICE = "muyu-range"; } diff --git a/muyu-common/muyu-common-goods/pom.xml b/muyu-common/muyu-common-goods/pom.xml new file mode 100644 index 0000000..60509db --- /dev/null +++ b/muyu-common/muyu-common-goods/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + com.muyu + muyu-common + 3.6.3 + + + muyu-common-goods + + + 17 + 17 + UTF-8 + + + + + com.muyu + muyu-common-core + + + + diff --git a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/domain/Sources.java b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/domain/Sources.java new file mode 100644 index 0000000..69c7c9d --- /dev/null +++ b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/domain/Sources.java @@ -0,0 +1,39 @@ +package com.muyu.common.goods.domain; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Sources implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Long id; + /** + * 企业id + */ + private Long enterpriseId; + /** + * 名称 + */ + private String name; + /** + * 连接库 + */ + private String url; + /** + * ip + */ + private String ip; + /** + * 用户名 + */ + private String username; + /** + * 密码 + */ + private String password; +} diff --git a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java new file mode 100644 index 0000000..5a089aa --- /dev/null +++ b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java @@ -0,0 +1,25 @@ +package com.muyu.common.goods.remote; + +import com.muyu.common.core.constant.ServiceNameConstants; +import com.muyu.common.core.domain.Result; +import com.muyu.common.goods.domain.Sources; +import com.muyu.common.goods.remote.factory.RemoteSourcesFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +@FeignClient( + contextId = "sourcesService", + value = ServiceNameConstants.GOODS_SERVICE, + fallbackFactory = RemoteSourcesFallbackFactory.class +) +public interface RemoteSourcesService { + + /** + * 企业服务信息 + * @return + */ + @PostMapping("enterprise/listSources") + public Result> listSources(); +} diff --git a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java new file mode 100644 index 0000000..eb47b29 --- /dev/null +++ b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java @@ -0,0 +1,22 @@ +package com.muyu.common.goods.remote.factory; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.goods.domain.Sources; +import com.muyu.common.goods.remote.RemoteSourcesService; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +public class RemoteSourcesFallbackFactory implements FallbackFactory { + @Override + public RemoteSourcesService create(Throwable cause) { + return new RemoteSourcesService() { + @Override + public Result> listSources() { + return Result.error(cause.getMessage()); + } + }; + } +} diff --git a/muyu-common/muyu-common-goods/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-common/muyu-common-goods/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..6cf5ecb --- /dev/null +++ b/muyu-common/muyu-common-goods/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.common.goods.remote.factory.RemoteSourcesFallbackFactory diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/LoginUser.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/LoginUser.java index b0e0b54..60a0579 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/LoginUser.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/LoginUser.java @@ -133,4 +133,14 @@ public class LoginUser implements Serializable { public void setSysUser (SysUser sysUser) { this.sysUser = sysUser; } + + public Long getFirm() { + return firm; + } + + public void setFirm(Long firm) { + this.firm = firm; + } + + } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java index 073ce8d..fc8f3b4 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java @@ -108,6 +108,7 @@ public class SysUser extends BaseEntity { @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) private Date loginDate; + /** * 部门对象 */ @@ -140,11 +141,8 @@ public class SysUser extends BaseEntity { /** * 绑定企业 */ + private Long firm; - /** - * 登录标识 - */ - private Integer identification; public SysUser (Long userId) { this.userId = userId; @@ -310,6 +308,14 @@ public class SysUser extends BaseEntity { this.roleId = roleId; } + public Long getFirm() { + return firm; + } + + public void setFirm(Long firm) { + this.firm = firm; + } + @Override public String toString () { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) @@ -332,6 +338,7 @@ public class SysUser extends BaseEntity { .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) + .append("firm",getFirm()) .toString(); } } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index cb968e0..177b18f 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -9,12 +9,18 @@ import com.muyu.common.system.domain.LoginUser; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 用户服务 * * @author muyu */ -@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) +@FeignClient( + contextId = "remoteUserService", + value = ServiceNameConstants.SYSTEM_SERVICE, + fallbackFactory = RemoteUserFallbackFactory.class +) public interface RemoteUserService { /** * 通过用户名查询用户信息 @@ -37,4 +43,7 @@ public interface RemoteUserService { */ @PostMapping("/user/register") public Result registerUserInfo (@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @GetMapping("/user/userList") + public Result> getUserList(); } diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java index b7f4d60..7e0e797 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java @@ -9,6 +9,8 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; +import java.util.List; + /** * 用户服务降级处理 * @@ -31,6 +33,11 @@ public class RemoteUserFallbackFactory implements FallbackFactory registerUserInfo (SysUser sysUser, String source) { return Result.error("注册用户失败:" + throwable.getMessage()); } + + @Override + public Result> getUserList() { + return Result.error("获取用户失败:{}"+throwable.getMessage()); + } }; } } diff --git a/muyu-common/pom.xml b/muyu-common/pom.xml index 5b58e93..27b7a63 100644 --- a/muyu-common/pom.xml +++ b/muyu-common/pom.xml @@ -18,6 +18,7 @@ muyu-common-datascope muyu-common-datasource muyu-common-system + muyu-common-goods muyu-common diff --git a/muyu-modules/muyu-business/muyu-business-server/pom.xml b/muyu-modules/muyu-business/muyu-business-server/pom.xml index 5b601cb..e87e3af 100644 --- a/muyu-modules/muyu-business/muyu-business-server/pom.xml +++ b/muyu-modules/muyu-business/muyu-business-server/pom.xml @@ -90,6 +90,10 @@ 3.6.3 compile + + com.muyu + muyu-common-system + diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/BusinessServiceImpl.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/BusinessServiceImpl.java index 54f5859..6662037 100644 --- a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/BusinessServiceImpl.java +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/BusinessServiceImpl.java @@ -6,9 +6,11 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.LoginUser; import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteUserService; import com.muyu.goods.mapper.BusinessMapper; import com.muyu.goods.service.IBusinessService; import com.muyu.system.remote.RemoteSystemManageService; +import lombok.extern.log4j.Log4j2; import muyu.goods.enterprise.client.config.EnterpriseConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,6 +26,7 @@ import java.util.stream.Stream; * @date 2024-05-26 */ @Service +@Log4j2 public class BusinessServiceImpl implements IBusinessService { @Autowired @@ -31,6 +34,9 @@ public class BusinessServiceImpl implements IBusinessService @Autowired private RemoteSystemManageService remoteSystemManageService; + @Autowired + private RemoteUserService remoteUserService; + /** * 获取全部入驻企业 * @return diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/pom.xml b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/pom.xml index 39e664b..9f5fd49 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/pom.xml +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/pom.xml @@ -21,7 +21,7 @@ com.muyu - muyu-modules-system + muyu-common-goods 3.6.3 @@ -30,6 +30,12 @@ muyu-goods-enterprise-common 3.6.3 + + + com.muyu + muyu-modules-system + 3.6.3 + diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/src/main/java/muyu/goods/enterprise/client/config/runner/EnterpriseConfigRunner.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/src/main/java/muyu/goods/enterprise/client/config/runner/EnterpriseConfigRunner.java index 8a98186..4279748 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/src/main/java/muyu/goods/enterprise/client/config/runner/EnterpriseConfigRunner.java +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-client/src/main/java/muyu/goods/enterprise/client/config/runner/EnterpriseConfigRunner.java @@ -1,21 +1,36 @@ package muyu.goods.enterprise.client.config.runner; -import com.muyu.common.security.config.ApplicationConfig; +import com.muyu.common.core.constant.SecurityConstants; +import com.muyu.common.core.domain.Result; +import com.muyu.common.goods.domain.Sources; +import com.muyu.common.goods.remote.RemoteSourcesService; +import com.muyu.common.system.domain.LoginUser; +import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteUserService; +import com.muyu.system.remote.RemoteSystemManageService; import lombok.extern.log4j.Log4j2; -import org.springframework.beans.BeansException; +//import muyu.goods.enterprise.remote.EnterpriseDataService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestHeader; + +import javax.annotation.processing.SupportedAnnotationTypes; +import java.util.List; @Log4j2 -@Component @Configuration +@ComponentScan public class EnterpriseConfigRunner implements ApplicationRunner { + @Autowired + private RemoteSourcesService remoteSourcesService; @Override public void run(ApplicationArguments args) throws Exception { - + Result> listResult = remoteSourcesService.listSources(); + System.out.println(listResult); } } diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/pom.xml b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/pom.xml index 6209727..8e35209 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/pom.xml +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/pom.xml @@ -24,5 +24,11 @@ muyu-goods-enterprise-common 3.6.3 + + + com.muyu + muyu-common-core + + diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/EnterpriseDataService.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/EnterpriseDataService.java new file mode 100644 index 0000000..c950880 --- /dev/null +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/EnterpriseDataService.java @@ -0,0 +1,24 @@ +package muyu.goods.enterprise.remote; + +import com.muyu.common.core.constant.ServiceNameConstants; +import com.muyu.common.core.domain.Result; +import com.muyu.goods.domain.Sources; +import muyu.goods.enterprise.remote.factory.EnterpriseDataServiceFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +@FeignClient( + contextId = "enterpriseSources", + value = ServiceNameConstants.GOODS_SERVICE, + fallbackFactory = EnterpriseDataServiceFactory.class +) +public interface EnterpriseDataService { + /** + * 获取多数据源信息 + * @return + */ + @PostMapping("/enterprise/listSources") + public Result> listSources(); +} diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/RemoteEnterpriseManageService.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/RemoteEnterpriseManageService.java deleted file mode 100644 index b95bc2b..0000000 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/RemoteEnterpriseManageService.java +++ /dev/null @@ -1,4 +0,0 @@ -package muyu.goods.enterprise.remote; - -public interface RemoteEnterpriseManageService { -} diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/factory/EnterpriseDataServiceFactory.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/factory/EnterpriseDataServiceFactory.java new file mode 100644 index 0000000..ae5a930 --- /dev/null +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/java/muyu/goods/enterprise/remote/factory/EnterpriseDataServiceFactory.java @@ -0,0 +1,20 @@ +package muyu.goods.enterprise.remote.factory; + +import com.muyu.common.core.domain.Result; +import com.muyu.goods.domain.Sources; +import muyu.goods.enterprise.remote.EnterpriseDataService; +import org.springframework.cloud.openfeign.FallbackFactory; + +import java.util.List; + +public class EnterpriseDataServiceFactory implements FallbackFactory { + @Override + public EnterpriseDataService create(Throwable cause) { + return new EnterpriseDataService() { + @Override + public Result> listSources() { + return Result.error(cause.getMessage()); + } + }; + } +} diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..53fb2e1 --- /dev/null +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +muyu.goods.enterprise.remote.factory.EnterpriseDataServiceFactory diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/MuyuGoodsEnterpriseApplication.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/MuyuGoodsEnterpriseApplication.java index d16b50e..0b4d2f7 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/MuyuGoodsEnterpriseApplication.java +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/MuyuGoodsEnterpriseApplication.java @@ -5,6 +5,7 @@ import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.scheduling.annotation.EnableAsync; @SpringBootApplication diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/controller/EnterpriseController.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/controller/EnterpriseController.java index f347c77..ca2ff45 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/controller/EnterpriseController.java +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/controller/EnterpriseController.java @@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse; import com.muyu.common.system.domain.SysUser; import com.muyu.goods.domain.Enterprise; +import com.muyu.goods.domain.Sources; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -153,4 +154,13 @@ public class EnterpriseController extends BaseController return success(enterpriseService.bu(id)); } + /** + * 企业服务信息 + * @return + */ + @PostMapping("/listSources") + public Result> listSources() { + return success(enterpriseService.listSources()); + } + } diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/mapper/EnterpriseMapper.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/mapper/EnterpriseMapper.java index 8825be4..1782039 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/mapper/EnterpriseMapper.java +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/mapper/EnterpriseMapper.java @@ -1,6 +1,8 @@ package com.muyu.goods.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.muyu.goods.domain.Enterprise; import com.muyu.goods.domain.Sources; import org.apache.ibatis.annotations.Param; @@ -71,4 +73,6 @@ public interface EnterpriseMapper void indexSources(Sources sources); + + List listSources(QueryWrapper objectQueryWrapper); } diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/IEnterpriseService.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/IEnterpriseService.java index b9db36c..ee71962 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/IEnterpriseService.java +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/IEnterpriseService.java @@ -5,6 +5,7 @@ import java.util.List; import com.muyu.common.system.domain.SysUser; import com.muyu.goods.domain.Enterprise; +import com.muyu.goods.domain.Sources; /** * 企业Service接口 @@ -79,4 +80,6 @@ public interface IEnterpriseService String getLevel(Long id, Integer serviceLevel); String bu(Long id); + + List listSources(); } diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/impl/EnterpriseServiceImpl.java b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/impl/EnterpriseServiceImpl.java index 34c8875..c3483b3 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/impl/EnterpriseServiceImpl.java +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/java/com/muyu/goods/service/impl/EnterpriseServiceImpl.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.util.List; import java.util.UUID; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.muyu.common.core.utils.DateUtils; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.LoginUser; @@ -76,7 +77,6 @@ public class EnterpriseServiceImpl implements IEnterpriseService if (i>0){ Enterprise enterprise1 = enterpriseMapper.queryDateEnterprise(); enterpriseConfig.index(enterprise1); - } return i; } @@ -206,4 +206,9 @@ public class EnterpriseServiceImpl implements IEnterpriseService return "成功"; } + @Override + public List listSources() { + return enterpriseMapper.listSources(new QueryWrapper<>()); + } + } diff --git a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/resources/mapper/goods/EnterpriseMapper.xml b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/resources/mapper/goods/EnterpriseMapper.xml index c092988..4789656 100644 --- a/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/resources/mapper/goods/EnterpriseMapper.xml +++ b/muyu-modules/muyu-goods-enterprise/muyu-goods-enterprise-server/src/main/resources/mapper/goods/EnterpriseMapper.xml @@ -52,6 +52,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY id DESC LIMIT 1; + diff --git a/muyu-modules/muyu-moudels-many-datasource/pom.xml b/muyu-modules/muyu-moudels-many-datasource/pom.xml index 0d31dbf..4c12e7a 100644 --- a/muyu-modules/muyu-moudels-many-datasource/pom.xml +++ b/muyu-modules/muyu-moudels-many-datasource/pom.xml @@ -22,6 +22,12 @@ + + com.muyu + muyu-common-goods + 3.6.3 + + com.alibaba.cloud @@ -82,6 +88,12 @@ com.muyu muyu-common-swagger + + com.muyu + muyu-goods-enterprise-remote + 3.6.3 + compile + diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/Client/run/ManyConfigRunner.java b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/Client/run/ManyConfigRunner.java deleted file mode 100644 index 417fe58..0000000 --- a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/Client/run/ManyConfigRunner.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.muyu.cloud.Client.run; - -public class ManyConfigRunner { -} diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/Client/ManyConfig.java b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/client/CloudConfig.java similarity index 54% rename from muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/Client/ManyConfig.java rename to muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/client/CloudConfig.java index 78e6ab9..943e0c0 100644 --- a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/Client/ManyConfig.java +++ b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/client/CloudConfig.java @@ -1,12 +1,11 @@ -package com.muyu.cloud.Client; +package com.muyu.cloud.client; -import com.muyu.cloud.Client.run.ManyConfigRunner; import lombok.extern.log4j.Log4j2; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Import; @Log4j2 @ComponentScan -@Import(value = ManyConfigRunner.class) -public class ManyConfig { +@Import(value = CloudConfigRunner.class) +public class CloudConfig { } diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/client/CloudConfigRunner.java b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/client/CloudConfigRunner.java new file mode 100644 index 0000000..57e0882 --- /dev/null +++ b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/client/CloudConfigRunner.java @@ -0,0 +1,19 @@ +package com.muyu.cloud.client; + +import lombok.extern.log4j.Log4j2; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; + +@Log4j2 +@Component +@Configuration +public class CloudConfigRunner implements ApplicationRunner { +// @Autowired +// private RemoteEnterpriseService; + @Override + public void run(ApplicationArguments args) throws Exception { + } + +} diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/datasource/config/DruidConfig.java b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/datasource/config/DruidConfig.java index d55d913..9a9333b 100644 --- a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/datasource/config/DruidConfig.java +++ b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/datasource/config/DruidConfig.java @@ -2,8 +2,11 @@ package com.muyu.cloud.datasource.config; import com.alibaba.druid.pool.DruidDataSource; import com.muyu.cloud.datasource.config.contents.DataSourceInfo; -import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.core.domain.Result; +import com.muyu.common.goods.domain.Sources; +import com.muyu.common.goods.remote.RemoteSourcesService; import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; @@ -22,22 +25,26 @@ import java.util.Map; @Log4j2 @Configuration public class DruidConfig { - -// @Autowired -// private DynamicDataSource dynamicDataSource; + @Autowired + private RemoteSourcesService remoteSourcesService; /** * 获取多数据源信息列表 * @return */ private List getDataSourceInfoList(){ - System.out.println("获取当前登录信息"); - System.out.println(SecurityUtils.getLoginUser()); - List databaseNameList = new ArrayList<>(){{ - add("3310"); - add("3311"); - }}; + List listResult = remoteSourcesService.listSources().getData(); + System.out.println(listResult); + List databaseNameList = new ArrayList<>(); + listResult.forEach(res -> { + databaseNameList.add(res.getIp()); + }); +// List databaseNameList = new ArrayList<>(){{ +// add("3310"); +// add("3311"); +// }}; + System.out.println(databaseNameList); List list = databaseNameList.stream().map(DataSourceInfo::dataIpBuild).toList(); - System.out.println(list); +// System.out.println(list); return list; } @@ -76,7 +83,7 @@ public class DruidConfig { getDataSourceInfoList().forEach(dataSourceInfo -> { dataSourceMap.put(dataSourceInfo.getIp(), createDataSourceConnection(dataSourceInfo)); }); - System.out.println(dataSourceMap); +// System.out.println(dataSourceMap); //设置动态数据源 DynamicDataSource dynamicDataSource = new DynamicDataSource(); // dynamicDataSource.setDefaultTargetDataSource(dynamicDataSource); @@ -84,5 +91,6 @@ public class DruidConfig { //将数据源信息备份在defineTargetDataSources中 dynamicDataSource.setDefineTargetDataSources(dataSourceMap); return dynamicDataSource; + } } diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/DataSourceConfig.java b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/DataSourceConfig.java new file mode 100644 index 0000000..f44429b --- /dev/null +++ b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/DataSourceConfig.java @@ -0,0 +1,21 @@ +package com.muyu.cloud.remote; + +import com.muyu.cloud.domain.Status; +import com.muyu.cloud.remote.factory.DataSourceConfigRunner; +import com.muyu.common.core.constant.ServiceNameConstants; +import com.muyu.common.core.domain.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +@FeignClient( + contextId = "sourceId", + value = ServiceNameConstants.RANGE_SERVICE, + fallbackFactory = DataSourceConfigRunner.class, + path = "/cloud" +) +public interface DataSourceConfig { + @PostMapping("list") + public Result> list(); +} diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/factory/DataSourceConfigRunner.java b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/factory/DataSourceConfigRunner.java new file mode 100644 index 0000000..90e93e7 --- /dev/null +++ b/muyu-modules/muyu-moudels-many-datasource/src/main/java/com/muyu/cloud/remote/factory/DataSourceConfigRunner.java @@ -0,0 +1,20 @@ +package com.muyu.cloud.remote.factory; + +import com.muyu.cloud.domain.Status; +import com.muyu.cloud.remote.DataSourceConfig; +import com.muyu.common.core.domain.Result; +import org.springframework.cloud.openfeign.FallbackFactory; + +import java.util.List; + +public class DataSourceConfigRunner implements FallbackFactory { + @Override + public DataSourceConfig create(Throwable cause) { + return new DataSourceConfig() { + @Override + public Result> list() { + return Result.error(cause.getMessage()); + } + }; + } +} diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-moudels-many-datasource/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index af6339b..6381940 100644 --- a/muyu-modules/muyu-moudels-many-datasource/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/muyu-modules/muyu-moudels-many-datasource/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,3 @@ com.muyu.cloud.datasource.interceptor.WebMvcConfig +com.muyu.cloud.client.CloudConfig +com.muyu.cloud.remote.factory.DataSourceConfigRunner diff --git a/muyu-modules/muyu-moudels-many-datasource/src/main/resources/logback.xml b/muyu-modules/muyu-moudels-many-datasource/src/main/resources/logback.xml index 5b3a578..66e0d25 100644 --- a/muyu-modules/muyu-moudels-many-datasource/src/main/resources/logback.xml +++ b/muyu-modules/muyu-moudels-many-datasource/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java index 7e18317..889a92b 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -18,6 +18,7 @@ import com.muyu.system.domain.resp.AuthRoleResp; import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserInfoResp; import com.muyu.system.service.*; +import org.apache.catalina.User; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -139,6 +140,10 @@ public class SysUserController extends BaseController { return Result.success(userService.registerUser(sysUser)); } + @GetMapping("/userList") + public Result> userList(){ + return Result.success(userService.lists()); + } /** * 获取用户信息 *