新增:利元亨现场增加外部数据获取公共模块
This commit is contained in:
142
outbridge/pom.xml
Normal file
142
outbridge/pom.xml
Normal file
@@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.sdm</groupId>
|
||||
<artifactId>SDM</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>outbridge</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>outbridge</name>
|
||||
<description>outbridge</description>
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<spring-boot.version>3.3.5</spring-boot.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
<version>4.1.4</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-loadbalancer</artifactId>
|
||||
<version>4.1.4</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<!-- FTP -->
|
||||
<dependency>
|
||||
<groupId>commons-net</groupId>
|
||||
<artifactId>commons-net</artifactId>
|
||||
<version>3.11.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--aop-->
|
||||
<dependency>
|
||||
<groupId>org.aspectj</groupId>
|
||||
<artifactId>aspectjrt</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.auth0</groupId>
|
||||
<artifactId>java-jwt</artifactId>
|
||||
<version>4.4.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Spring Boot 3.x 适配:Jakarta EE Servlet API(仅编译期依赖) -->
|
||||
<dependency>
|
||||
<groupId>jakarta.servlet</groupId>
|
||||
<artifactId>jakarta.servlet-api</artifactId>
|
||||
<version>5.0.0</version> <!-- 与 Spring Boot 3.x 兼容,对应 Servlet 5.0 规范 -->
|
||||
<scope>provided</scope> <!-- 关键:运行时由 web 模块的容器(如 Tomcat)提供实现 -->
|
||||
</dependency>
|
||||
|
||||
<!-- 引入模块common -->
|
||||
<dependency>
|
||||
<groupId>com.sdm</groupId>
|
||||
<artifactId>common</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- <plugin>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
|
||||
<!-- <!–命名可执行jar名字,默认可执行Jar包与普通jar命名相同,前者会将后者覆盖,可执行Jar不能够被其他模块引用–>-->
|
||||
<!-- <configuration>-->
|
||||
<!-- <classifier>exec</classifier>-->
|
||||
<!-- </configuration>-->
|
||||
<!-- </plugin>-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>17</source>
|
||||
<target>17</target>
|
||||
<encoding>UTF-8</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- <plugin>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
|
||||
<!-- <configuration>-->
|
||||
<!-- <excludes>-->
|
||||
<!-- <exclude>-->
|
||||
<!-- <groupId>org.projectlombok</groupId>-->
|
||||
<!-- <artifactId>lombok</artifactId>-->
|
||||
<!-- </exclude>-->
|
||||
<!-- </excludes>-->
|
||||
<!-- <includeSystemScope>true</includeSystemScope>-->
|
||||
<!-- </configuration>-->
|
||||
<!-- </plugin>-->
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -1,5 +1,4 @@
|
||||
// common模块:com.xxx.common.config.CommonConfig
|
||||
package com.sdm.common.config;
|
||||
package com.sdm.outbridge.config; //// common模块:com.xxx.common.config.CommonConfig
|
||||
|
||||
import org.springframework.boot.env.YamlPropertySourceLoader;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.sdm.outbridge.config;
|
||||
|
||||
import com.baomidou.mybatisplus.core.MybatisConfiguration;
|
||||
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 第二个数据源的MyBatis-Plus配置
|
||||
* 扫描专属的Mapper包,使用独立的数据源
|
||||
*/
|
||||
@Configuration
|
||||
// 扫描第二个数据源的Mapper包,指定专属的sqlSessionFactory
|
||||
@MapperScan(
|
||||
basePackages = "com.sdm.outbridge.dao",
|
||||
sqlSessionFactoryRef = "secondSqlSessionFactory"
|
||||
)
|
||||
public class SecondMybatisPlusConfig {
|
||||
|
||||
/**
|
||||
* 初始化第二个数据源
|
||||
*/
|
||||
@Bean(name = "secondDataSource")
|
||||
@ConfigurationProperties(prefix = "spring.datasource.second") // 对应yml中的second数据源配置
|
||||
public DataSource secondDataSource() {
|
||||
return DataSourceBuilder.create().build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 第二个数据源的事务管理器
|
||||
* 非Primary,因为原有动态数据源已标记为Primary
|
||||
*/
|
||||
@Bean(name = "secondTransactionManager")
|
||||
public DataSourceTransactionManager secondTransactionManager(
|
||||
@Qualifier("secondDataSource") DataSource dataSource) {
|
||||
return new DataSourceTransactionManager(dataSource);
|
||||
}
|
||||
|
||||
/**
|
||||
* 第二个数据源的SqlSessionFactory
|
||||
*/
|
||||
@Bean(name = "secondSqlSessionFactory")
|
||||
public MybatisSqlSessionFactoryBean secondSqlSessionFactory(
|
||||
@Qualifier("secondDataSource") DataSource dataSource) throws IOException {
|
||||
MybatisSqlSessionFactoryBean fb = new MybatisSqlSessionFactoryBean();
|
||||
// 设置第二个数据源的Mapper.xml路径(建议独立存放,避免冲突)
|
||||
fb.setMapperLocations(new PathMatchingResourcePatternResolver()
|
||||
.getResources("classpath*:mapper/second/*.xml"));
|
||||
// 绑定第二个数据源
|
||||
fb.setDataSource(dataSource);
|
||||
// 开启下划线转驼峰(和原有配置保持一致)
|
||||
MybatisConfiguration configuration = new MybatisConfiguration();
|
||||
configuration.setMapUnderscoreToCamelCase(true);
|
||||
fb.setConfiguration(configuration);
|
||||
// 如需分页插件,可在此添加(和原有配置一致)
|
||||
// fb.setPlugins(new MybatisPlusInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)));
|
||||
return fb;
|
||||
}
|
||||
|
||||
/**
|
||||
* 第二个数据源的SqlSessionTemplate(可选,MyBatis-Plus可自动适配,建议添加)
|
||||
*/
|
||||
@Bean(name = "secondSqlSessionTemplate")
|
||||
public SqlSessionTemplate secondSqlSessionTemplate(
|
||||
@Qualifier("secondSqlSessionFactory") MybatisSqlSessionFactoryBean sqlSessionFactory) throws Exception {
|
||||
return new SqlSessionTemplate(sqlSessionFactory.getObject());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.sdm.outbridge.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sdm.outbridge.entity.ViewLyricconfig;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-11-05
|
||||
*/
|
||||
public interface ViewLyricConfigMapper extends BaseMapper<ViewLyricconfig> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.sdm.outbridge.entity;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 测试查询视图
|
||||
* </p>
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-12-01
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("view_lyricconfig")
|
||||
@Schema(description = "测试查询视图")
|
||||
public class ViewLyricconfig implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "自增主键")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "占位符英文名称")
|
||||
@TableField("keyEnName")
|
||||
private String keyEnName;
|
||||
|
||||
@Schema(description = "占位符中文名称")
|
||||
@TableField("keyCnName")
|
||||
private String keyCnName;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@TableField(value = "createTime", fill = FieldFill.INSERT)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonIgnore
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
public class HkCloudSignObject {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
public class LyricAttachmentInfo {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
public class LyricProjectBaseInfo {
|
||||
public String project_num;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.mode;
|
||||
|
||||
import io.netty.channel.ChannelHandler;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
public class LyricTodoEntity {
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.sdm.outbridge.service.impl.lyric;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.outbridge.dao.ViewLyricConfigMapper;
|
||||
import com.sdm.outbridge.entity.ViewLyricconfig;
|
||||
import com.sdm.outbridge.service.lyric.IViewLyricConfigService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ViewLyricConfigServiceImpl extends ServiceImpl<ViewLyricConfigMapper, ViewLyricconfig> implements IViewLyricConfigService {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.sdm.outbridge.service.lyric;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.outbridge.entity.ViewLyricconfig;
|
||||
|
||||
/* 这个接口只是测试的 */
|
||||
public interface IViewLyricConfigService extends IService<ViewLyricconfig> {
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.sdm.common.service.lyric;
|
||||
package com.sdm.outbridge.service.lyric;
|
||||
|
||||
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.alibaba.fastjson2.JSONWriter;
|
||||
import com.fasterxml.jackson.databind.ser.SerializerFactory;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.utils.HttpUtil;
|
||||
import com.sdm.outbridge.mode.HkUploadFileReq;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.http.client.config.RequestConfig;
|
||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||
@@ -1,3 +1,13 @@
|
||||
spring:
|
||||
application:
|
||||
name: pbs
|
||||
datasource:
|
||||
second:
|
||||
username: root
|
||||
password: mysql
|
||||
jdbc-url: jdbc:mysql://192.168.65.161:3306/spdm_baseline?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
# 测试开发环境
|
||||
#appKey : 380ad3deb578424c9ca5178383f732c1
|
||||
#appSecret : 805c316f35024b8b9566ca67b4991c42
|
||||
13
pbs/pom.xml
13
pbs/pom.xml
@@ -30,6 +30,19 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!--外部系统交互-->
|
||||
<dependency>
|
||||
<groupId>com.sdm</groupId>
|
||||
<artifactId>outbridge</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter</artifactId>
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
@SpringBootApplication(scanBasePackages = {"com.sdm.pbs","com.sdm.common"})
|
||||
@SpringBootApplication(scanBasePackages = {"com.sdm.pbs","com.sdm.common","com.sdm.outbridge"})
|
||||
@EnableDiscoveryClient
|
||||
@EnableScheduling
|
||||
@EnableFeignClients(basePackages = "com.sdm.common.feign")
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.sdm.pbs.controller;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.outbridge.entity.ViewLyricconfig;
|
||||
import com.sdm.outbridge.service.lyric.IViewLyricConfigService;
|
||||
import com.sdm.pbs.model.entity.SimulationCommandPlaceholder;
|
||||
import com.sdm.pbs.service.ISimulationCommandPlaceholderService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/sec")
|
||||
@Tag(name = "测试外部模块系统交互", description = "测试外部模块系统交互")
|
||||
public class TestSecondDbController {
|
||||
|
||||
@Autowired
|
||||
private ISimulationCommandPlaceholderService simulationCommandPlaceholderService;
|
||||
|
||||
@Autowired
|
||||
private IViewLyricConfigService viewLyricConfigService;
|
||||
|
||||
|
||||
@GetMapping("/testSec")
|
||||
@Operation(summary = "测试多数据源")
|
||||
public SdmResponse<String> testSec() {
|
||||
// 查询主数据源
|
||||
List<SimulationCommandPlaceholder> placeholders = simulationCommandPlaceholderService.lambdaQuery().list();
|
||||
// 查询从数据源
|
||||
List<ViewLyricconfig> seconds = viewLyricConfigService.lambdaQuery().list();
|
||||
System.out.println(JSONObject.toJSONString(placeholders));
|
||||
System.out.println(JSONObject.toJSONString(seconds));
|
||||
return SdmResponse.success(JSONObject.toJSONString(seconds));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user