From 4de52d381020fcfd75b9139743e60f84d46aba95 Mon Sep 17 00:00:00 2001 From: 031026 <1558394962@qq.com> Date: Tue, 11 Jun 2024 22:35:38 +0800 Subject: [PATCH] =?UTF-8?q?text(=E6=B5=8B=E8=AF=95=E4=BD=BF=E7=94=A8mq?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=A4=9A=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/ServiceNameConstants.java | 1 + .../many/datasource/ManyDataSource.java | 2 +- .../constents/DatasourceContent.java | 2 +- .../factory/DruidDataSourceFactory.java | 11 +--- .../datasource/role/DynamicDataSource.java | 3 + ...ot.autoconfigure.AutoConfiguration.imports | 4 +- .../main/java/com/muyu/domain/Enterprise.java | 3 +- .../muyu-company/muyu-company-server/pom.xml | 4 ++ .../mapper/EnterpriseMapper.java | 3 +- .../service/impl/EnterpriseServiceImpl.java | 17 +++++- ...ot.autoconfigure.AutoConfiguration.imports | 3 + .../src/main/resources/bootstrap.yml | 11 ++++ .../java/com/muyu/many/domain/Enterprise.java | 24 ++++---- .../muyu-modules-many-remote/pom.xml | 32 +++++++++++ .../remote/RemoteManyEnterpriseService.java | 28 +++++++++ .../RemoteManyEnterpriseFallbackFactory.java | 34 +++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../muyu-modules-many-server/pom.xml | 14 +++-- .../controller/ManyEnterpriseController.java | 7 +++ .../mapper/ManyEnterpriseMapper.java | 3 +- .../rabbitmq/MessageConsumer.java | 57 +++++++++++++++++++ .../service/ManyEnterpriseService.java | 5 +- .../impl/ManyEnterpriseServiceImpl.java | 22 +++++-- ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../src/main/resources/bootstrap.yml | 12 +++- .../resources/mapper/ManyEnterpriseMapper.xml | 13 +++++ muyu-modules/muyu-modules-many/pom.xml | 1 + 27 files changed, 275 insertions(+), 43 deletions(-) create mode 100644 muyu-modules/muyu-company/muyu-company-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-modules/muyu-modules-many/muyu-modules-many-remote/pom.xml create mode 100644 muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/RemoteManyEnterpriseService.java create mode 100644 muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/factory/RemoteManyEnterpriseFallbackFactory.java create mode 100644 muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/rabbitmq/MessageConsumer.java create mode 100644 muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/mapper/ManyEnterpriseMapper.xml 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 99bae27..c4bf7d1 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 @@ -24,5 +24,6 @@ public class ServiceNameConstants { * 文件服务的serviceid */ public static final String FILE_SERVICE = "ruoyi-file"; + public static final String MANY_ENTERPRISE = "ruoyi-many"; } diff --git a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/ManyDataSource.java b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/ManyDataSource.java index b3d00e1..d90fb4a 100644 --- a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/ManyDataSource.java +++ b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/ManyDataSource.java @@ -57,7 +57,6 @@ public class ManyDataSource { return list; } - @Bean @Primary public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { @@ -69,6 +68,7 @@ public class ManyDataSource { .forEach(dataSourceInfo -> { dataSourceMap.put(dataSourceInfo.getKey(), druidDataSourceFactory.create(dataSourceInfo)); }); + //设置动态数据源 DynamicDataSource dynamicDataSource = new DynamicDataSource(); // dynamicDataSource.setDefaultTargetDataSource(masterDataSource()); diff --git a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/constents/DatasourceContent.java b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/constents/DatasourceContent.java index 176ebf0..b1d6dbf 100644 --- a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/constents/DatasourceContent.java +++ b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/constents/DatasourceContent.java @@ -7,7 +7,7 @@ package com.muyu.clw.common.many.datasource.constents; */ public class DatasourceContent { - public final static String DATASOURCE_URL = "jdbc:mysql://{}:{}/car?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; + public final static String DATASOURCE_URL = "jdbc:mysql://{}:{}/car?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&failOverReadOnly=false"; public final static String USER_NAME = "root"; diff --git a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/factory/DruidDataSourceFactory.java b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/factory/DruidDataSourceFactory.java index 35966fa..c88a8ad 100644 --- a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/factory/DruidDataSourceFactory.java +++ b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/factory/DruidDataSourceFactory.java @@ -29,13 +29,8 @@ public class DruidDataSourceFactory { druidDataSource.setPassword(dataSourceInfo.getPassword()); druidDataSource.setBreakAfterAcquireFailure(true); druidDataSource.setConnectionErrorRetryAttempts(0); - try { - druidDataSource.getConnection(2000); - log.info("{} -> 数据源连接成功", dataSourceInfo.getKey()); - return druidDataSource; - } catch (SQLException throwables) { - log.error("数据源 {} 连接失败,用户名:{},密码 {}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword()); - return null; - } + druidDataSource.setMaxActive(20); // 设置最大活动连接数为 20 + log.info( "{}->数据源连接成功", dataSourceInfo.getKey()); + return druidDataSource; } } diff --git a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/role/DynamicDataSource.java b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/role/DynamicDataSource.java index a37663d..08b04f7 100644 --- a/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/role/DynamicDataSource.java +++ b/muyu-common/muyu-common-saas/src/main/java/com/muyu/clw/common/many/datasource/role/DynamicDataSource.java @@ -6,6 +6,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import lombok.extern.log4j.Log4j2; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; import java.util.Map; @@ -20,6 +21,7 @@ import java.util.Map; @Data @AllArgsConstructor @NoArgsConstructor +@Log4j2 public class DynamicDataSource extends AbstractRoutingDataSource { //备份所有数据源信息,备份的是个 指针 !!! private Map defineTargetDataSources; @@ -40,6 +42,7 @@ public class DynamicDataSource extends AbstractRoutingDataSource { */ public void put(String key, DruidDataSource value) { defineTargetDataSources.put(key, value); + log.info("都有哪些数据:{}",defineTargetDataSources); } /** * 决定当前线程使用哪个数据源 diff --git a/muyu-common/muyu-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-common/muyu-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index b9a11b8..6e837b5 100644 --- a/muyu-common/muyu-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/muyu-common/muyu-common-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,3 @@ -com.muyu.common.system.remote.factory.RemoteUserFallbackFactory -com.muyu.common.system.remote.factory.RemoteLogFallbackFactory com.muyu.common.system.remote.factory.RemoteFileFallbackFactory +com.muyu.common.system.remote.factory.RemoteLogFallbackFactory +com.muyu.common.system.remote.factory.RemoteUserFallbackFactory diff --git a/muyu-modules/muyu-company/muyu-company-common/src/main/java/com/muyu/domain/Enterprise.java b/muyu-modules/muyu-company/muyu-company-common/src/main/java/com/muyu/domain/Enterprise.java index f4e57e3..57033bf 100644 --- a/muyu-modules/muyu-company/muyu-company-common/src/main/java/com/muyu/domain/Enterprise.java +++ b/muyu-modules/muyu-company/muyu-company-common/src/main/java/com/muyu/domain/Enterprise.java @@ -1,5 +1,6 @@ package com.muyu.domain; +import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; @@ -26,7 +27,7 @@ import com.muyu.common.core.web.domain.BaseEntity; @NoArgsConstructor @AllArgsConstructor @TableName("enterprise") -public class Enterprise extends BaseEntity +public class Enterprise extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; diff --git a/muyu-modules/muyu-company/muyu-company-server/pom.xml b/muyu-modules/muyu-company/muyu-company-server/pom.xml index 6cdb696..c879b40 100644 --- a/muyu-modules/muyu-company/muyu-company-server/pom.xml +++ b/muyu-modules/muyu-company/muyu-company-server/pom.xml @@ -107,5 +107,9 @@ com.muyu muyu-common-system + + org.springframework.boot + spring-boot-starter-amqp + diff --git a/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/mapper/EnterpriseMapper.java b/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/mapper/EnterpriseMapper.java index 7bd633e..24f9702 100644 --- a/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/mapper/EnterpriseMapper.java +++ b/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/mapper/EnterpriseMapper.java @@ -11,8 +11,7 @@ import com.muyu.domain.Enterprise; * @author wan * @date 2024-05-31 */ -public interface EnterpriseMapper extends BaseMapper -{ +public interface EnterpriseMapper extends BaseMapper { /** * 查询企业列表 * diff --git a/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/service/impl/EnterpriseServiceImpl.java b/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/service/impl/EnterpriseServiceImpl.java index a36bdea..45d8602 100644 --- a/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/service/impl/EnterpriseServiceImpl.java +++ b/muyu-modules/muyu-company/muyu-company-server/src/main/java/com/muyu/authentication/service/impl/EnterpriseServiceImpl.java @@ -6,7 +6,9 @@ import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.Date; import java.util.List; +import java.util.UUID; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.databind.ObjectMapper; @@ -17,6 +19,7 @@ import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.remote.RemoteUserService; import com.muyu.domain.vo.EnterpriseReq; import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; @@ -192,8 +195,11 @@ public class EnterpriseServiceImpl extends ServiceImpl { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + }); + + } } } diff --git a/muyu-modules/muyu-company/muyu-company-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-company/muyu-company-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..b9a11b8 --- /dev/null +++ b/muyu-modules/muyu-company/muyu-company-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,3 @@ +com.muyu.common.system.remote.factory.RemoteUserFallbackFactory +com.muyu.common.system.remote.factory.RemoteLogFallbackFactory +com.muyu.common.system.remote.factory.RemoteFileFallbackFactory diff --git a/muyu-modules/muyu-company/muyu-company-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-company/muyu-company-server/src/main/resources/bootstrap.yml index 24ce843..ba1172f 100644 --- a/muyu-modules/muyu-company/muyu-company-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-company/muyu-company-server/src/main/resources/bootstrap.yml @@ -4,6 +4,17 @@ server: # Spring spring: + rabbitmq: + username: guest + password: guest + virtualHost: / + port: 5672 + host: 101.34.243.166 + listener: + simple: + prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确认消息已发送到队列(Queue) application: # 应用名称 name: ruoyi-company diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-common/src/main/java/com/muyu/many/domain/Enterprise.java b/muyu-modules/muyu-modules-many/muyu-modules-many-common/src/main/java/com/muyu/many/domain/Enterprise.java index 7c35455..681e249 100644 --- a/muyu-modules/muyu-modules-many/muyu-modules-many-common/src/main/java/com/muyu/many/domain/Enterprise.java +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-common/src/main/java/com/muyu/many/domain/Enterprise.java @@ -8,9 +8,11 @@ import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import java.io.Serializable; import java.util.Date; /** @@ -19,12 +21,13 @@ import java.util.Date; * @author wan * @date 2024-05-31 */ +@EqualsAndHashCode(callSuper = true) @Data @SuperBuilder @NoArgsConstructor @AllArgsConstructor @TableName("enterprise") -public class Enterprise extends BaseEntity +public class Enterprise extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -74,25 +77,20 @@ public class Enterprise extends BaseEntity @Excel(name = "企业入驻平台时期", width = 30, dateFormat = "yyyy-MM-dd") private Date registrationDate; - /** 企业认证id */ - @Excel(name = "企业认证id") - private Long certificationId; - /** 认证时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "认证时间", width = 30, dateFormat = "yyyy-MM-dd") private Date authenticationDate; + /** 审核状态 */ + @Excel(name = "审核状态") + private Integer examineStatus; + /** 服务级别 */ @Excel(name = "服务级别") private Integer serviceLevel; - /** 开通服务id */ - @Excel(name = "开通服务id") - private Long openServerId; - - /** 增值服务id */ - @Excel(name = "增值服务id") - private Long addServerId; - + /** 开通服务级别*/ + @Excel(name = "开通服务级别") + private String openServerId; } diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-remote/pom.xml b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/pom.xml new file mode 100644 index 0000000..0ab83a8 --- /dev/null +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + com.muyu + clw-server + 3.6.3 + ../../../pom.xml + + + muyu-modules-many-remote + + + 17 + 17 + UTF-8 + + + + + com.muyu + muyu-common-core + + + com.muyu + muyu-modules-many-common + 3.6.3 + + + diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/RemoteManyEnterpriseService.java b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/RemoteManyEnterpriseService.java new file mode 100644 index 0000000..4902c3f --- /dev/null +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/RemoteManyEnterpriseService.java @@ -0,0 +1,28 @@ +package com.muyu.remote; + +import com.muyu.remote.factory.RemoteManyEnterpriseFallbackFactory; +import com.muyu.common.core.constant.ServiceNameConstants; +import com.muyu.common.core.domain.Result; +import com.muyu.domain.Enterprise; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; + +/** + * 远程调用 多数据数据 + * + * @author AnNan.Wang + * @ClassName: RemoteManyEnterpriseService + * @createTime: 2024/6/10 14:33 + */ +@FeignClient( + contextId = "remoteManyEnterpriseService", + value = ServiceNameConstants.MANY_ENTERPRISE, + fallbackFactory = RemoteManyEnterpriseFallbackFactory.class +) +public interface RemoteManyEnterpriseService { + + @PostMapping("/manyEnterprise/manyEnterpriseAdd") + public Result manyEnterpriseAdd(@RequestBody Enterprise enterprise,@RequestHeader("ent_code")String key); +} diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/factory/RemoteManyEnterpriseFallbackFactory.java b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/factory/RemoteManyEnterpriseFallbackFactory.java new file mode 100644 index 0000000..e237977 --- /dev/null +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/java/com/muyu/remote/factory/RemoteManyEnterpriseFallbackFactory.java @@ -0,0 +1,34 @@ +package com.muyu.remote.factory; + + +import com.muyu.domain.Enterprise; +import com.muyu.remote.RemoteManyEnterpriseService; +import com.muyu.common.core.domain.Result; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestHeader; + +/** + * 用户服务降级处理 + * + * @author muyu + */ + +@Component +public class RemoteManyEnterpriseFallbackFactory implements FallbackFactory { + private static final Logger log = LoggerFactory.getLogger(RemoteManyEnterpriseFallbackFactory.class); + + @Override + public RemoteManyEnterpriseService create (Throwable throwable) { + log.error("多数据源调用失败:{}", throwable.getMessage()); + return new RemoteManyEnterpriseService() { + + @Override + public Result manyEnterpriseAdd(Enterprise enterprise,String key) { + return Result.error("Enterprise多数据源调用失败:{}",throwable.getMessage()); + } + }; + } +} diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..547b6b0 --- /dev/null +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.remote.factory.RemoteManyEnterpriseFallbackFactory diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/pom.xml b/muyu-modules/muyu-modules-many/muyu-modules-many-server/pom.xml index 0f06911..4e76e59 100644 --- a/muyu-modules/muyu-modules-many/muyu-modules-many-server/pom.xml +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/pom.xml @@ -84,12 +84,6 @@ compile - - com.muyu - muyu-modules-many-common - 3.6.3 - compile - com.muyu muyu-common-core @@ -120,5 +114,13 @@ dynamic-datasource-spring-boot-starter 4.3.0 + + org.springframework.amqp + spring-rabbit + + + com.muyu + muyu-modules-many-remote + diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/controller/ManyEnterpriseController.java b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/controller/ManyEnterpriseController.java index 4b1433f..a3e7b48 100644 --- a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/controller/ManyEnterpriseController.java +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/controller/ManyEnterpriseController.java @@ -28,4 +28,11 @@ public class ManyEnterpriseController { manyEnterpriseService.AllList(headerValue) ); } + +// @PostMapping("/manyEnterpriseAdd") +// public Result manyEnterpriseAdd(@RequestBody Enterprise enterprise,@RequestHeader("ent_code")String key){ +// return Result.success( +// manyEnterpriseService.manyEnterpriseAdd(enterprise,key) +// ); +// } } diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/mapper/ManyEnterpriseMapper.java b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/mapper/ManyEnterpriseMapper.java index 6d958a9..a64981f 100644 --- a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/mapper/ManyEnterpriseMapper.java +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/mapper/ManyEnterpriseMapper.java @@ -1,7 +1,7 @@ package com.muyu.authentication.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.many.domain.Enterprise; +import com.muyu.many.domain.Enterprise ; /** * mapper 实现层 @@ -11,4 +11,5 @@ import com.muyu.many.domain.Enterprise; * @createTime: 2024/6/6 15:52 */ public interface ManyEnterpriseMapper extends BaseMapper { + int enterpriseInsert(Enterprise enterprise); } diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/rabbitmq/MessageConsumer.java b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/rabbitmq/MessageConsumer.java new file mode 100644 index 0000000..0b3b299 --- /dev/null +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/rabbitmq/MessageConsumer.java @@ -0,0 +1,57 @@ +package com.muyu.authentication.rabbitmq; + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.fastjson.JSON; +import com.muyu.authentication.controller.ManyEnterpriseController; + +import com.muyu.authentication.service.impl.ManyEnterpriseServiceImpl; +import com.muyu.clw.common.many.datasource.domain.model.DataSourceInfo; +import com.muyu.clw.common.many.datasource.factory.DruidDataSourceFactory; +import com.muyu.clw.common.many.datasource.role.DynamicDataSource; +import com.muyu.common.core.utils.SpringUtils; +import com.muyu.many.domain.Enterprise ; +import com.muyu.remote.RemoteManyEnterpriseService; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Log4j2 +@Component +public class MessageConsumer { + + @Autowired + private ManyEnterpriseServiceImpl manyEnterpriseService; + + @RabbitListener(queues = "text1") + public void receiveMessage(String message) { + // 在这里处理接收到的消息,并将其写入MySQL数据库 + log.info("message:{}",message); + DruidDataSourceFactory dataSourceFactory = SpringUtils.getBean(DruidDataSourceFactory.class); + DynamicDataSource druidDataSource = SpringUtils.getBean(DynamicDataSource.class); + + Enterprise parse = JSON.parseObject(message, Enterprise.class); + String substring = parse.getContactPhone().substring(parse.getContactPhone().length() - 4); + String host="123.56.102.11"; + Integer post= Math.toIntExact(3306 + parse.getId()); + String key="ent_" + substring; + log.info("parse:{}",parse); + + DataSourceInfo dataSourceInfo = DataSourceInfo.hostAndPortBuild(key, host, post); + + DruidDataSource dataSource = dataSourceFactory.create(dataSourceInfo); + + druidDataSource.put(key,dataSource); + + new Thread(()->{ + try { + Thread.sleep(2000); + manyEnterpriseService.manyEnterpriseAdd(parse,key); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + }).start(); + + } + +} diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/ManyEnterpriseService.java b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/ManyEnterpriseService.java index 4ab5b08..c79d5b0 100644 --- a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/ManyEnterpriseService.java +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/ManyEnterpriseService.java @@ -1,7 +1,7 @@ package com.muyu.authentication.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.many.domain.Enterprise; +import com.muyu.many.domain.Enterprise ; import java.util.List; @@ -13,4 +13,7 @@ import java.util.List; public interface ManyEnterpriseService extends IService { List AllList(String headerValue); + +// String manyEnterpriseAdd(Enterprise enterprise,String key); + } diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/impl/ManyEnterpriseServiceImpl.java b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/impl/ManyEnterpriseServiceImpl.java index 29cb5ba..87d1811 100644 --- a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/impl/ManyEnterpriseServiceImpl.java +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/java/com/muyu/authentication/service/impl/ManyEnterpriseServiceImpl.java @@ -3,11 +3,9 @@ package com.muyu.authentication.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.authentication.mapper.ManyEnterpriseMapper; import com.muyu.authentication.service.ManyEnterpriseService; -import com.muyu.clw.common.many.datasource.ManyDataSource; -import com.muyu.clw.common.many.datasource.factory.DruidDataSourceFactory; import com.muyu.clw.common.many.datasource.holder.DynamicDataSourceHolder; -import com.muyu.clw.common.saas.domain.model.EntInfo; -import com.muyu.many.domain.Enterprise; +import com.muyu.many.domain.Enterprise ; +import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,7 +18,7 @@ import java.util.List; * @Author AnNan.Wang * @Date 2024/6/6 15:28 */ - +@Log4j2 @Service public class ManyEnterpriseServiceImpl extends ServiceImpl implements ManyEnterpriseService { @@ -38,4 +36,18 @@ public class ManyEnterpriseServiceImpl extends ServiceImpl 0) { + return "初始成功"; + }else { + return "初始失败"; + } + } + } diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..e832e10 --- /dev/null +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.authentication.rabbitmq.MessageConsumer diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/bootstrap.yml index 4e5c1f4..e5fbdfc 100644 --- a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/bootstrap.yml @@ -1,9 +1,19 @@ # Tomcat server: port: 9403 - # Spring spring: + rabbitmq: + username: guest + password: guest + virtualHost: / + port: 5672 + host: 101.34.243.166 + listener: + simple: + prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确 application: # 应用名称 name: ruoyi-many diff --git a/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/mapper/ManyEnterpriseMapper.xml b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/mapper/ManyEnterpriseMapper.xml new file mode 100644 index 0000000..3a4f2f1 --- /dev/null +++ b/muyu-modules/muyu-modules-many/muyu-modules-many-server/src/main/resources/mapper/ManyEnterpriseMapper.xml @@ -0,0 +1,13 @@ + + + + + + INSERT INTO enterprise + (`enterprise_name`, `legal_person`, `business_license_number`, `establishment_date`, `business_scope`, `address`, `contact_phone`, `email`, `status`, `registration_date`, `authentication_date`, `examine_status`, `service_level`, `open_server_id`) + VALUES + (#{enterpriseName}, #{legalPerson}, #{businessLicenseNumber}, #{establishmentDate}, #{businessScope}, #{address}, #{contactPhone}, #{email},#{status},#{registrationDate},#{authenticationDate},#{examineStatus},#{serviceLevel},#{openServerId}); + + diff --git a/muyu-modules/muyu-modules-many/pom.xml b/muyu-modules/muyu-modules-many/pom.xml index bcea6e6..f30248c 100644 --- a/muyu-modules/muyu-modules-many/pom.xml +++ b/muyu-modules/muyu-modules-many/pom.xml @@ -15,6 +15,7 @@ muyu-modules-many-common muyu-modules-many-server + muyu-modules-many-remote 17