diff --git a/DirectoryV3.xml b/DirectoryV3.xml new file mode 100644 index 0000000..78d1f24 --- /dev/null +++ b/DirectoryV3.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/muyu-modules/muyu-networking/muyu-networking-many-datasources/src/main/java/com/muyu/config/role/ManyDataSource.java b/muyu-modules/muyu-networking/muyu-networking-many-datasources/src/main/java/com/muyu/config/role/ManyDataSource.java deleted file mode 100644 index 497e1c4..0000000 --- a/muyu-modules/muyu-networking/muyu-networking-many-datasources/src/main/java/com/muyu/config/role/ManyDataSource.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.muyu.config.role; - -import com.alibaba.druid.pool.DruidDataSource; -import com.muyu.common.core.utils.SpringUtils; -import com.muyu.config.DynamicDataSource; -import com.muyu.config.domain.model.DataSourceInfo; -import com.muyu.config.domain.model.EntInfo; -import com.muyu.config.factory.DruidDataSourceFactory; -import lombok.AllArgsConstructor; -import lombok.extern.log4j.Log4j2; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Primary; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @ClassDescription: - * @JdkVersion: 17 - * @Author: zhangxu - * @Created: 2024/6/4 9:05 - */ -@Log4j2 -@Component -@AllArgsConstructor -public class ManyDataSource { - - @PostConstruct - public void init(){ - new Thread(()-> { - try { - Thread.sleep(5000); - } catch (InterruptedException ignored) {} - DruidDataSourceFactory druidDataSourceFactory = SpringUtils.getBean(DruidDataSourceFactory.class); - DynamicDataSource dynamicDataSource =SpringUtils.getBean(DynamicDataSource.class); - - EntInfo entInfo = EntInfo.builder() - .entCode("ent_4587") - .ip("115.159.67.205") - .port(3307) - .build(); - DataSourceInfo dataSourceInfo = DataSourceInfo.getDataSourceInfo(entInfo.getEntCode(), entInfo.getIp(), entInfo.getPort()); - DruidDataSource druidDataSource = druidDataSourceFactory.create(dataSourceInfo); - dynamicDataSource.put(dataSourceInfo.getKey(),druidDataSource); - }).start(); - - } - - - private List dataSourceInfoList(){ - List list = new ArrayList<>(); - list.add( - EntInfo.builder() - .entCode("ent_4587") - .ip("115.159.67.205") - .port(3307) - .build() - ); - return list; - - } - - @Bean - @Primary - public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { - Map map = new HashMap<>(); - dataSourceInfoList().stream() - .map(entInfo -> DataSourceInfo.getDataSourceInfo(entInfo.getEntCode(),entInfo.getIp(),entInfo.getPort())) - .forEach(dataSourceInfo -> { - map.put(dataSourceInfo.getKey(),druidDataSourceFactory.create(dataSourceInfo)); - }); - - //设置动态数据源 - DynamicDataSource dynamicDataSource = new DynamicDataSource(); - dynamicDataSource.setTargetDataSources(map); - dynamicDataSource.setDefaultTargetDataSource(map); - return dynamicDataSource; - - - } - - - - - - -} diff --git a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/interceptor/SaasInterceptor.java b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/interceptor/SaasInterceptor.java deleted file mode 100644 index ef3a798..0000000 --- a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/interceptor/SaasInterceptor.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.muyu.networking.interceptor; - - -import com.muyu.networking.service.DataSourceService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.AsyncHandlerInterceptor; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * @ClassName SaasInterceptor - * @Author GuanTieLin - * @Date 2024/6/3 21:09 - */ -@Component -public class SaasInterceptor implements AsyncHandlerInterceptor { - - @Autowired - private DataSourceService changeDataSourceService; - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - // 解决跨域问题 - //1.如果请求不是动态的,handler对象不是HandlerMethod的实例(静态页面).放行 - //2.如果请求是跨域请求(请求方法是:OPTIONS),handler对象不是HandlerMethod - if (!(handler instanceof HandlerMethod)) { - return true; - } - String datasourceCode = request.getHeader("datasource-code"); - if(datasourceCode==null){ - throw new RuntimeException("请求不合法"); - } - changeDataSourceService.changeDS(Long.valueOf(datasourceCode)); - return true; - } - - @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { - // 切换为默认数据源 - changeDataSourceService.toDefaultDS(); - } - - -} - diff --git a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/mapper/SongMapper.java b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/mapper/SongMapper.java index a27b8cc..1749cd6 100644 --- a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/mapper/SongMapper.java +++ b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/mapper/SongMapper.java @@ -1,17 +1,17 @@ -package com.muyu.networking.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.domain.datasources.SongInfo; -import org.apache.ibatis.annotations.Mapper; - -/** - * songMapper接口 - * - * @author - * @date - */ -@Mapper -public interface SongMapper extends BaseMapper { // song_info对象 -} - +//package com.muyu.networking.mapper; +// +// +//import com.baomidou.mybatisplus.core.mapper.BaseMapper; +//import com.muyu.domain.datasources.SongInfo; +//import org.apache.ibatis.annotations.Mapper; +// +///** +// * songMapper接口 +// * +// * @author +// * @date +// */ +//@Mapper +//public interface SongMapper extends BaseMapper { // song_info对象 +//} +// diff --git a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/opFen/SysUserNet.java b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/opFen/SysUserNet.java deleted file mode 100644 index 666b8ed..0000000 --- a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/opFen/SysUserNet.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.muyu.networking.opFen; - -import com.muyu.common.core.domain.Result; -import com.muyu.common.system.domain.SysUser; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; - -/** - * @ClassDescription: - * @JdkVersion: 17 - * @Author: zhangxu - * @Created: 2024/5/27 15:11 - */ -@FeignClient("muyu-system") -public interface SysUserNet { - - @PostMapping("/system/user") - public Result add (@Validated @RequestBody SysUser user); -} diff --git a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/SongService.java b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/SongService.java index 61b5d1e..e88de30 100644 --- a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/SongService.java +++ b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/SongService.java @@ -1,23 +1,23 @@ -package com.muyu.networking.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.domain.datasources.SongInfo; - -import java.util.List; - -/** 多数据源 - * songService接口 - * - * @author - * @date 2024-05-16 - */ -public interface SongService extends IService { // song_info对象 - /** - * 查询song列表 - * - * @return song集合 - */ - public List list(); // song_info对象 - -} - +//package com.muyu.networking.service; +// +//import com.baomidou.mybatisplus.extension.service.IService; +//import com.muyu.domain.datasources.SongInfo; +// +//import java.util.List; +// +///** 多数据源 +// * songService接口 +// * +// * @author +// * @date 2024-05-16 +// */ +//public interface SongService extends IService { // song_info对象 +// /** +// * 查询song列表 +// * +// * @return song集合 +// */ +// public List list(); // song_info对象 +// +//} +// diff --git a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/impl/SongServiceImpl.java b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/impl/SongServiceImpl.java index a1b6054..dc15522 100644 --- a/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/impl/SongServiceImpl.java +++ b/muyu-modules/muyu-networking/muyu-networking-service/src/main/java/com/muyu/networking/service/impl/SongServiceImpl.java @@ -1,35 +1,35 @@ -package com.muyu.networking.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.domain.datasources.SongInfo; -import com.muyu.networking.mapper.SongMapper; -import com.muyu.networking.service.SongService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** 多数据源 - * songService业务层处理 - * - * @author - * @date 2024-05-16 - */ -@Slf4j -@Service -public class SongServiceImpl extends ServiceImpl implements SongService { // song_info对象 | songService接口 - - /** - * 查询song列表 - * - * @return song - */ - @Override // 查询song列表 - public List list() { // song_info对象 - return this.list(new LambdaQueryWrapper<>()); - } - -} - +//package com.muyu.networking.service.impl; +// +//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +// +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +//import com.muyu.domain.datasources.SongInfo; +//import com.muyu.networking.mapper.SongMapper; +//import com.muyu.networking.service.SongService; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.stereotype.Service; +// +//import java.util.List; +// +///** 多数据源 +// * songService业务层处理 +// * +// * @author +// * @date 2024-05-16 +// */ +//@Slf4j +//@Service +//public class SongServiceImpl extends ServiceImpl implements SongService { // song_info对象 | songService接口 +// +// /** +// * 查询song列表 +// * +// * @return song +// */ +// @Override // 查询song列表 +// public List list() { // song_info对象 +// return this.list(new LambdaQueryWrapper<>()); +// } +// +//} +// diff --git a/muyu-modules/muyu-networking/muyu-networking-service/src/main/resources/a b/muyu-modules/muyu-networking/muyu-networking-service/src/main/resources/a new file mode 100644 index 0000000..ff75f29 --- /dev/null +++ b/muyu-modules/muyu-networking/muyu-networking-service/src/main/resources/a @@ -0,0 +1,7 @@ +在过去的几年里,Java开发者们为了构建一个企业应用常常需要将许多的框架组合起来使用,例如Hibernate、SpringMVC和Spring等,这样的过程往往会耗费大量时间且复杂。这也就是Spring Boot应运而生的原因。 + +Spring Boot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。 + +SpringBoot是一个快速开发的框架,能过快速整合第三方框架,他是如何快速整合的呢?其实他是的基本原来是Maven依赖关系,Maven的集成,完全采用注解化,简化XML配置,内嵌HTTP服务器(Tomcate,jetty),默认嵌入Tomcate,最终以Java应用程序进行执行 + + diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/VehicleApplication.java b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/VehicleApplication.java new file mode 100644 index 0000000..7692932 --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/VehicleApplication.java @@ -0,0 +1,26 @@ +package com.muyu.vehicle; + +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; +import com.muyu.common.security.annotation.EnableCustomConfig; +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.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; + +/** 业务平台启动器 + * @ClassDescription: + * @JdkVersion: 17 + * @Author: zhangxu + * @Created: 2024/6/6 19:39 + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication(exclude = {DynamicDataSourceAutoConfiguration.class, DataSourceAutoConfiguration.class}) +public class VehicleApplication { + public static void main(String[] args) { + SpringApplication.run(VehicleApplication.class, args); + } +} + diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/SongController.java b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/SongController.java new file mode 100644 index 0000000..efdd724 --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/controller/SongController.java @@ -0,0 +1,37 @@ +//package com.muyu.vehicle.controller; +// +// +//import com.muyu.common.core.domain.Result; +//import com.muyu.domain.datasources.SongInfo; +// +//import com.muyu.vehicle.service.SongService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.GetMapping; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import java.util.List; +// +///** 多数据源 +// * songController +// * +// * @author 张zhangxu +// * @date 2024-05-16 +// */ +//@RestController +//@RequestMapping("/song") +//public class SongController { +// +// @Autowired +// private SongService songService; // songService接口 +// +// /** +// * 查询歌曲列表 +// */ +// @GetMapping("/list") +// public Result> list() { // song_info对象 +// return Result.success(songService.list()); // 查询song列表 +// } +// +//} +// diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/interceptor/WebMvcConfig.java b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/interceptor/WebMvcConfig.java new file mode 100644 index 0000000..15588f3 --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/interceptor/WebMvcConfig.java @@ -0,0 +1,36 @@ +//package com.muyu.vehicle.interceptor; +// +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +// +///** +// * 拦截器配置 +// * +// * @author zhangxu +// */ +//@Configuration +//public class WebMvcConfig implements WebMvcConfigurer { +// /** +// * 不需要拦截地址 +// */ +// public static final String[] excludeUrls = {"/login", "/logout", "/refresh","/enterprise"}; +// +// @Override +// public void addInterceptors (InterceptorRegistry registry) { +// registry.addInterceptor(getSaasInterceptor()) // 自定义请求头拦截器 +// .addPathPatterns("/networking/**") +// .excludePathPatterns(excludeUrls) // 不需要拦截地址 +// .order(-10); +// } +// +// /** +// * 自定义请求头拦截器 +// */ +// @Bean +// public SaasInterceptor getSaasInterceptor() { +// return new SaasInterceptor(); +// } +//} +// diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/SongMapper.java b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/SongMapper.java new file mode 100644 index 0000000..7bb1f61 --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/mapper/SongMapper.java @@ -0,0 +1,17 @@ +package com.muyu.vehicle.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.domain.datasources.SongInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + * songMapper接口 + * + * @author + * @date + */ +@Mapper +public interface SongMapper extends BaseMapper { // song_info对象 +} + diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/SongService.java b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/SongService.java new file mode 100644 index 0000000..f08e850 --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/java/com/muyu/vehicle/service/SongService.java @@ -0,0 +1,22 @@ +package com.muyu.vehicle.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.domain.datasources.SongInfo; + +import java.util.List; + +/** 多数据源 + * songService接口 + * + * @author + * @date 2024-05-16 + */ +public interface SongService extends IService { // song_info对象 + /** + * 查询song列表 + * + * @return song集合 + */ + public List list(); // song_info对象 + +} + diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/META-INF.spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/META-INF.spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..2a23e6d --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/META-INF.spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.muyu.vehicle.interceptor.WebMvcConfig diff --git a/muyu-modules/muyu-networking/muyu-networking-many-datasources/src/main/resources/banner.txt b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/banner.txt similarity index 100% rename from muyu-modules/muyu-networking/muyu-networking-many-datasources/src/main/resources/banner.txt rename to muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/banner.txt diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/bootstrap.yml b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..4e9498c --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/bootstrap.yml @@ -0,0 +1,40 @@ +# Tomcat +server: + port: 9205 + +# Spring +spring: + rabbitmq: + username: guest + password: guest + virtualHost: / + port: 5672 + host: 115.159.67.205 + listener: + simple: + prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条 + publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) + publisher-returns: true #确认消息已发送到队列(Queue) + application: + # 应用名称 + name: muyu-vehicle + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 115.159.67.205:8848 + config: + # 配置中心地址 + server-addr: 115.159.67.205:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + +logging: + level: + com.muyu-vehicle.mapper: DEBUG diff --git a/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/logback.xml b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/logback.xml new file mode 100644 index 0000000..6638be6 --- /dev/null +++ b/muyu-modules/muyu-vehicle/muyu-vehicle-service/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + +