Commit 19f1338c authored by zhangsen's avatar zhangsen

数据源添加,跳转业务添加

parent 897732cb
...@@ -142,6 +142,12 @@ ...@@ -142,6 +142,12 @@
<artifactId>jettison</artifactId> <artifactId>jettison</artifactId>
<version>1.3.7</version> <version>1.3.7</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
...@@ -39,7 +39,7 @@ import java.net.InetAddress; ...@@ -39,7 +39,7 @@ import java.net.InetAddress;
@EnableEurekaClient @EnableEurekaClient
@EnableScheduling @EnableScheduling
@MapperScan(value = { "org.typroject.tyboot.*.*.face.orm.dao", "com.yeejoin.amos.api.*.face.orm.dao", "org.typroject.tyboot.face.*.orm.dao*", @MapperScan(value = { "org.typroject.tyboot.*.*.face.orm.dao", "com.yeejoin.amos.api.*.face.orm.dao", "org.typroject.tyboot.face.*.orm.dao*",
"com.yeejoin.amos.api.*.mapper","com.yeejoin.amos.boot.biz.common.dao.mapper" }) "com.yeejoin.amos.api.*.mapper","com.yeejoin.amos.boot.biz.common.dao.mapper", "com.yeejoin.amos.api.*.mapper2" })
@ComponentScan({ "org.typroject", "com.yeejoin.amos" }) @ComponentScan({ "org.typroject", "com.yeejoin.amos" })
public class AlarmApplication { public class AlarmApplication {
......
package com.yeejoin.amos.api.alarm.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
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;
/**
* 从数据源配置
* 若需要配置更多数据源 , 直接在yml中添加数据源配置再增加相应的新的数据源配置类即可
*/
@Configuration
@MapperScan(basePackages = "com.yeejoin.amos.api.alarm.mapper2", sqlSessionFactoryRef = "clusterSqlSessionFactory")
public class ClusterDbConfig {
private Logger logger = LoggerFactory.getLogger(ClusterDbConfig.class);
// 精确到 cluster 目录,以便跟其他数据源隔离
private static final String MAPPER_LOCATION = "classpath*:mapper/cluster/*.xml";
@Value("${spring.db2.datasource.url}")
private String dbUrl;
@Value("${spring.db2.datasource.username}")
private String username;
@Value("${spring.db2.datasource.password}")
private String password;
@Value("${spring.db2.datasource.driver-class-name}")
private String driverClassName;
@Bean(name = "clusterDataSource2") //声明其为Bean实例
public DataSource clusterDataSource() {
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(this.dbUrl);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
return datasource;
}
@Bean(name = "clusterTransactionManager")
public DataSourceTransactionManager clusterTransactionManager() {
return new DataSourceTransactionManager(clusterDataSource());
}
@Bean(name = "clusterSqlSessionFactory")
public SqlSessionFactory clusterSqlSessionFactory(@Qualifier("clusterDataSource2") DataSource culsterDataSource)
throws Exception {
final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
sessionFactory.setDataSource(culsterDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources(ClusterDbConfig.MAPPER_LOCATION));
sessionFactory.setTypeAliasesPackage("com.yeejoin.amos.boot.module.jxiop.biz.entity2");
//mybatis 数据库字段与实体类属性驼峰映射配置
sessionFactory.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
return sessionFactory.getObject();
}
}
package com.yeejoin.amos.api.alarm.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
import java.util.Properties;
@Configuration
@MapperScan(basePackages = "com.yeejoin.amos.api.alarm.mapper", sqlSessionFactoryRef = "masterSqlSessionFactory1")
public class MasterDbConfig {
private Logger logger = LoggerFactory.getLogger(MasterDbConfig.class);
// 精确到 master 目录,以便跟其他数据源隔离
private static final String MAPPER_LOCATION = "classpath*:mapper/*.xml";
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driver-class-name}")
private String driverClassName;
@Bean(name="masterDataSource") //声明其为Bean实例
@Primary //在同样的DataSource中,首先使用被标注的DataSource
public DataSource masterDataSource() {
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(this.dbUrl);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
return datasource;
}
@Bean(name = "masterTransactionManager")
@Primary
public DataSourceTransactionManager masterTransactionManager() {
return new DataSourceTransactionManager(masterDataSource());
}
@Bean(name = "masterSqlSessionFactory1")
@Primary
public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
throws Exception {
final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
sessionFactory.setDataSource(masterDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources(MasterDbConfig.MAPPER_LOCATION));
sessionFactory.setTypeAliasesPackage("com.yeejoin.amos.boot.module.jxiop.api.entity");
//mybatis 数据库字段与实体类属性驼峰映射配置
sessionFactory.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
return sessionFactory.getObject();
}
}
...@@ -19,6 +19,7 @@ public class BizInfo { ...@@ -19,6 +19,7 @@ public class BizInfo {
private String warningTime; private String warningTime;
private String warningObjectName; private String warningObjectName;
private String warningObjectType; private String warningObjectType;
private String warningObjectLinkUrl;
public BizInfo(String sourceAttributionDesc, public BizInfo(String sourceAttributionDesc,
String sourceAttribution, String sourceAttribution,
...@@ -26,7 +27,8 @@ public class BizInfo { ...@@ -26,7 +27,8 @@ public class BizInfo {
String warningObjectCode, String warningObjectCode,
String warningTime, String warningTime,
String warningObjectName, String warningObjectName,
String warningObjectType) { String warningObjectType,
String warningObjectLinkUrl) {
this.sourceAttributionDesc = sourceAttributionDesc; this.sourceAttributionDesc = sourceAttributionDesc;
this.sourceAttribution = sourceAttribution; this.sourceAttribution = sourceAttribution;
this.dynamicDetails = dynamicDetails; this.dynamicDetails = dynamicDetails;
...@@ -34,5 +36,6 @@ public class BizInfo { ...@@ -34,5 +36,6 @@ public class BizInfo {
this.warningTime = warningTime; this.warningTime = warningTime;
this.warningObjectName = warningObjectName; this.warningObjectName = warningObjectName;
this.warningObjectType = warningObjectType; this.warningObjectType = warningObjectType;
this.warningObjectLinkUrl = warningObjectLinkUrl;
} }
} }
...@@ -23,10 +23,11 @@ public class WarningDto { ...@@ -23,10 +23,11 @@ public class WarningDto {
String warningObjectCode, String warningObjectCode,
String warningTime, String warningTime,
String warningObjectName, String warningObjectName,
String warningObjectType String warningObjectType,
String warningObjectLinkUrl
) { ) {
this.bizInfo = new BizInfo( sourceAttributionDesc, sourceAttribution, dynamicDetails, warningObjectCode, warningTime, warningObjectName,warningObjectType); this.bizInfo = new BizInfo( sourceAttributionDesc, sourceAttribution, dynamicDetails, warningObjectCode, warningTime, warningObjectName,warningObjectType, warningObjectLinkUrl);
this.indexKey = indexKey; this.indexKey = indexKey;
this.indexValue = indexValue; this.indexValue = indexValue;
this.traceId = traceId; this.traceId = traceId;
......
package com.yeejoin.amos.api.alarm.entity2;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
@TableName("jump_config")
public class JumpConfig {
@TableField("id")
private Integer id;
@TableField("url")
private String url;
@TableField("type")
private String type;
}
package com.yeejoin.amos.api.alarm.mapper2;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.alarm.entity2.JumpConfig;
public interface JumpConfigMapper extends BaseMapper<JumpConfig> {
}
...@@ -8,8 +8,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -8,8 +8,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.api.alarm.dto.DynamicDetails; import com.yeejoin.amos.api.alarm.dto.DynamicDetails;
import com.yeejoin.amos.api.alarm.dto.TabContent; import com.yeejoin.amos.api.alarm.dto.TabContent;
import com.yeejoin.amos.api.alarm.dto.WarningDto; import com.yeejoin.amos.api.alarm.dto.WarningDto;
import com.yeejoin.amos.api.alarm.entity2.JumpConfig;
import com.yeejoin.amos.api.alarm.entity.PointSystem; import com.yeejoin.amos.api.alarm.entity.PointSystem;
import com.yeejoin.amos.api.alarm.mapper.PointSystemMapper; import com.yeejoin.amos.api.alarm.mapper.PointSystemMapper;
import com.yeejoin.amos.api.alarm.mapper2.JumpConfigMapper;
import com.yeejoin.amos.api.alarm.service.IPointSystemService; import com.yeejoin.amos.api.alarm.service.IPointSystemService;
import com.yeejoin.amos.api.alarm.utils.HttpContentTypeUtil; import com.yeejoin.amos.api.alarm.utils.HttpContentTypeUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -47,6 +49,22 @@ public class PointSystemServiceImpl extends ServiceImpl<PointSystemMapper, Point ...@@ -47,6 +49,22 @@ public class PointSystemServiceImpl extends ServiceImpl<PointSystemMapper, Point
@Autowired @Autowired
protected EmqKeeper emqKeeper; protected EmqKeeper emqKeeper;
@Autowired
private JumpConfigMapper jumpConfigMapper;
public String getJumpUrlByInfo(String objectName) {
List<JumpConfig> jumpConfigs = jumpConfigMapper.selectList(null);
String jumpUrl = null;
for (JumpConfig jumpConfig : jumpConfigs) {
if (jumpConfig.getType().equals("默认")) {
jumpUrl = jumpConfig.getUrl();
}
if (objectName.contains(jumpConfig.getType())) {
return jumpConfig.getUrl();
}
}
return jumpUrl;
}
@Async("equipAsyncExecutor") @Async("equipAsyncExecutor")
public void sendWarningAsync( String date){ public void sendWarningAsync( String date){
...@@ -135,7 +153,8 @@ public class PointSystemServiceImpl extends ServiceImpl<PointSystemMapper, Point ...@@ -135,7 +153,8 @@ public class PointSystemServiceImpl extends ServiceImpl<PointSystemMapper, Point
warningObjectCode, warningObjectCode,
time , time ,
(String)eqdata.get("kksms"), (String)eqdata.get("kksms"),
"equip" "equip",
getJumpUrlByInfo((String)eqdata.get("kksms"))
); );
return WarningDto; return WarningDto;
......
...@@ -17,6 +17,16 @@ spring.datasource.hikari.connection-timeout= 60000 ...@@ -17,6 +17,16 @@ spring.datasource.hikari.connection-timeout= 60000
spring.datasource.hikari.connection-test-query= SELECT 1 spring.datasource.hikari.connection-test-query= SELECT 1
## db2-sync_data
spring.db2.datasource.type: com.alibaba.druid.pool.DruidDataSource
spring.db2.datasource.url=jdbc:mysql://139.9.173.44:3306/jxiop_sync_data?allowMultiQueries=true&serverTimezone=GMT%2B8&characterEncoding=utf8
spring.db2.datasource.username=root
spring.db2.datasource.password=Yeejoin@2020
spring.db2.datasource.driver-class-name: com.mysql.cj.jdbc.Driver
# REDIS (RedisProperties) # REDIS (RedisProperties)
spring.redis.database=1 spring.redis.database=1
spring.redis.host=172.16.10.220 spring.redis.host=172.16.10.220
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment