test:(修改了配置跟依赖,加动态数据源修改)

dev
zhang xu 2024-06-17 22:19:36 +08:00
parent 2d46bb9375
commit f1ddab1137
19 changed files with 156 additions and 34 deletions

View File

@ -1,6 +1,6 @@
package com.muyu.common.datasource.annotation;
import com.muyu.common.datasource.annotation;
import com.baomidou.dynamic.datasource.annotation.DS;
import java.lang.annotation.*;

View File

@ -18,17 +18,12 @@
</properties>
<dependencies>
<!-- MuYu Common Core-->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-networking-common</artifactId>
<version>3.6.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,33 @@
package com.muyu.common.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/10 20:40
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("etn_info")
public class EntInfo {
@TableId(type = IdType.AUTO)
private Long id;
private String entCode;
private String ip;
private Long port;
}

View File

@ -3,11 +3,12 @@ package com.muyu.common.system.remote;
import com.muyu.common.core.constant.SecurityConstants;
import com.muyu.common.core.constant.ServiceNameConstants;
import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.EntInfo;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.domain.datasources.EntInfo;
//import com.muyu.domain.datasources.EntInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

View File

@ -1,11 +1,12 @@
package com.muyu.common.system.remote.factory;
import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.EntInfo;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.remote.RemoteUserService;
import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.domain.datasources.EntInfo;
//import com.muyu.domain.datasources.EntInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@ -36,6 +37,8 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
return Result.error("获取用户失败:{}", throwable.getMessage());
}
@Override
public Result<List<EntInfo>> list() {
return Result.error("获取失败");

View File

@ -14,9 +14,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomConfig
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication()
@SpringBootApplication
public class MuYuJobApplication {
public static void main (String[] args) {
SpringApplication.run(MuYuJobApplication.class, args);
}
}

View File

@ -53,6 +53,8 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>

View File

@ -104,10 +104,16 @@
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-datascope</artifactId>
</dependency>
<!-- MuYu Common Log -->
<dependency>

View File

@ -7,6 +7,7 @@ package com.muyu.networking.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -23,10 +24,19 @@ import com.muyu.domain.datasources.Datasource;
import com.muyu.networking.mapper.EnterpriseMapper;
import com.muyu.networking.service.EnterpriseService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.IllegalFormatCodePointException;
import java.util.List;
import java.util.UUID;
@ -40,6 +50,7 @@ import java.util.UUID;
*/
@Service
@DS("networking")
@Log4j2
public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper,Enterprise> implements EnterpriseService
{
@ -121,7 +132,13 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper,Enterpr
public int updateEnterprise(Enterprise enterprise)
{
enterprise.setUpdateTime(DateUtils.getNowDate());
return enterpriseMapper.updateEnterprise(enterprise);
int i = enterpriseMapper.updateEnterprise(enterprise);
if (i>0){
initialize(enterprise);
}else {
log.info("修改失败");
}
return i;
}
/**
@ -156,6 +173,58 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper,Enterpr
return 0;
}
public void initialize(Enterprise enterprise)
{
String postUrl="jiangmu";
HashMap<String, String> hashMap = new HashMap<>();
String contactPhone = enterprise.getContactPhone();
String phone=contactPhone.substring(contactPhone.length()-4);
String entId ="ent_id"+enterprise.getId();
hashMap.put("entId",entId);
long port=3306+enterprise.getId();
hashMap.put("mysqlPort",String.valueOf(port));
//创建连接与设置连接参数
URL url = null;
try {
url = new URL(postUrl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Charset","UTF-8");
//POST 请求JSON 数据,必须设置
httpConn.setRequestProperty("Content-Type","application/json");
//默认代开是ture
httpConn.setDoOutput(true);
//从HTTPUrLConnection 获取输入流
OutputStream outputStream = httpConn.getOutputStream();
outputStream.write(JSON.toJSONString(hashMap).getBytes());
outputStream.flush();
//发起Http调用
if (httpConn.getResponseCode()!= 200){
throw new RuntimeException("请求失败");
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
String s = bufferedReader.readLine();
log.info("从服务端返回结果{}",s);
httpConn.disconnect();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
//public void DockerMySQLExample() throws IOException {
// //配置docker 客户端配置

View File

@ -19,12 +19,12 @@ spring:
config:
# 配置中心地址
server-addr: 122.152.211.1:8848
namespace: networking
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
namespace: networking
logging:
level:

View File

@ -72,6 +72,13 @@
<artifactId>muyu-common-log</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-ds.version}</version>
</dependency>
<!-- MuYu Common Swagger -->
<dependency>
<groupId>com.muyu</groupId>

View File

@ -19,12 +19,12 @@ spring:
config:
# 配置中心地址
server-addr: 122.152.211.1:8848
namespace: networking
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
namespace: networking
logging:
level:
com.muyu.system.mapper: DEBUG

View File

@ -5,9 +5,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu</artifactId>
<artifactId>muyu-vehicle</artifactId>
<version>3.6.3</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<artifactId>muyu-vehicle-common</artifactId>

View File

@ -5,9 +5,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu</artifactId>
<artifactId>muyu-vehicle</artifactId>
<version>3.6.3</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<artifactId>muyu-vehicle-service</artifactId>
@ -76,16 +76,7 @@
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-datascope</artifactId>
</dependency>
<!-- MuYu Common Log -->
<dependency>
@ -104,6 +95,12 @@
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-ds.version}</version>
</dependency>
</dependencies>

View File

@ -6,8 +6,9 @@ import com.alibaba.fastjson.JSON;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.SpringUtils;
import com.muyu.common.system.domain.EntInfo;
import com.muyu.common.system.remote.RemoteUserService;
import com.muyu.domain.datasources.EntInfo;
import com.muyu.vehicle.myDatasource.domain.DataSourceInfo;
import com.muyu.vehicle.myDatasource.domain.EnterpriseInfo;
import com.muyu.vehicle.myDatasource.factory.DruidDataSourceFactory;

View File

@ -23,7 +23,7 @@ public class DataSourceAsp {
@Autowired
private RemoteUserService remoteUserService;
@Pointcut("execution(public * com.car.client.controller.*Controller.*(..))")
@Pointcut("execution(public * com.muyu.vehicle.controller.*(..))")
public void pointcut() {
}

View File

@ -12,7 +12,7 @@ public class DatasourceConstant {
public final static String USER_NAME = "root";
public final static String PASSWORD = "sal75-z";
public final static String PASSWORD = "122.152.211.1";
}

View File

@ -14,7 +14,9 @@ spring:
simple:
prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条
publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange)
publisher-returns: true #确认消息已发送到队列(Queue)
publisher-returns: true #确认消息已发送到队列(Queue)
main:
allow-circular-references: true
application:
# 应用名称
name: muyu-vehicle

View File

@ -5,12 +5,16 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu</artifactId>
<artifactId>muyu-modules</artifactId>
<version>3.6.3</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>muyu-vehicle</artifactId>
<packaging>pom</packaging>
<modules>
<module>muyu-vehicle-common</module>
<module>muyu-vehicle-service</module>
</modules>
<properties>
<maven.compiler.source>17</maven.compiler.source>
@ -18,4 +22,5 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>