2022年5月24日01:05:38 还原ApplicationStart,讲TDengine相关类型和配置归于同一个包

This commit is contained in:
wxy001
2022-05-24 01:06:40 +08:00
parent 81232fbb04
commit d032413a56
18 changed files with 125 additions and 167 deletions

View File

@@ -1,76 +0,0 @@
package com.ruoyi.iot.init;
//import com.ruoyi.mysql.config.TDengineConfig;
//import com.ruoyi.iot.tdengine.config.TDengineConfig;
import com.alibaba.druid.pool.DruidDataSource;
import com.ruoyi.iot.tdengine.config.TDengineConfig;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.mapper.DeviceMapper;
import com.ruoyi.iot.tdengine.mapper.TDDeviceLogMapper;
import org.mybatis.spring.SqlSessionTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
import java.util.Date;
/**
* 类名: ApplicationStarted
* 描述: TODO
* 时间: 2022/5/18,0018 1:41
* 开发人: wxy
*/
@Component
public class ApplicationStarted implements ApplicationRunner {
private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationStarted.class);
@Autowired
private TDengineConfig dengineConfig;
@Autowired
private TDDeviceLogMapper deviceLogMapper;
@Autowired
private DeviceMapper deviceMapper;
@Override
public void run(ApplicationArguments args) {
deviceMapper.selectDeviceByDeviceId(0L);
System.out.println("初始化MySql链接成功");
initTDengine();
System.out.println("初始化TDengine链接成功");
}
/**
* @Method
* @Description 开始初始化加载系统参数,创建数据库和超级表
* @Param null
* @return
* @date 2022/5/22,0022 14:27
* @author wxy
*
*/
public void initTDengine() {
try {
String dbName = dengineConfig.getDbName();
int db = deviceLogMapper.createDB(dbName);
deviceLogMapper.createSTable(dbName);
System.out.println(db);
} catch (Exception e) {
e.printStackTrace();
System.out.println("ERROR");
}
}
}

View File

@@ -3,16 +3,13 @@ package com.ruoyi.iot.mqtt;
import com.alibaba.fastjson.JSON;
import com.ruoyi.iot.domain.Device;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.log.service.ILogService;
import com.ruoyi.iot.tdengine.service.ILogService;
import com.ruoyi.iot.model.NtpModel;
import com.ruoyi.iot.model.ThingsModels.IdentityAndName;
import com.ruoyi.iot.model.ThingsModels.ThingsModelValueItem;
import com.ruoyi.iot.model.ThingsModels.ThingsModelValueRemarkItem;
import com.ruoyi.iot.model.ThingsModels.ThingsModelValuesInput;
import com.ruoyi.iot.service.IDeviceLogService;
import com.ruoyi.iot.service.IDeviceService;
import org.eclipse.paho.client.mqttv3.MqttAsyncClient;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;

View File

@@ -2,7 +2,7 @@ package com.ruoyi.iot.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.log.service.ILogService;
import com.ruoyi.iot.tdengine.service.ILogService;
import com.ruoyi.iot.mapper.DeviceLogMapper;
import com.ruoyi.iot.model.MonitorModel;
import com.ruoyi.iot.service.IDeviceLogService;

View File

@@ -11,19 +11,17 @@ import com.ruoyi.common.utils.ip.IpUtils;
import com.ruoyi.iot.domain.Device;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.domain.Product;
import com.ruoyi.iot.log.service.ILogService;
import com.ruoyi.iot.tdengine.service.ILogService;
import com.ruoyi.iot.mapper.DeviceLogMapper;
import com.ruoyi.iot.mapper.DeviceMapper;
import com.ruoyi.iot.mapper.DeviceUserMapper;
import com.ruoyi.iot.model.*;
import com.ruoyi.iot.model.ThingsModelItem.*;
import com.ruoyi.iot.model.ThingsModels.*;
import com.ruoyi.iot.service.IDeviceLogService;
import com.ruoyi.iot.service.IDeviceService;
import com.ruoyi.iot.service.IProductService;
import com.ruoyi.iot.service.IToolService;
import com.ruoyi.system.service.ISysUserService;
import org.checkerframework.checker.units.qual.A;
import org.quartz.SchedulerException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -2,7 +2,7 @@ package com.ruoyi.iot.tdengine.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.iot.tdengine.mapper.TDDeviceLogMapper;
import com.ruoyi.iot.tdengine.dao.TDDeviceLogMapper;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
@@ -31,7 +31,7 @@ import java.util.List;
* 开发人: wxy
*/
@Configuration
@MapperScan(basePackages = {"com.ruoyi.iot.tdengine.mapper"}, sqlSessionTemplateRef = "tdengineSqlSessionTemplate")
@MapperScan(basePackages = {"com.ruoyi.iot.tdengine.dao"}, sqlSessionTemplateRef = "tdengineSqlSessionTemplate")
@ConditionalOnProperty(name = "spring.datasource.druid.tdengine-server.enabled", havingValue = "true")
public class TDengineConfig {
@@ -64,16 +64,6 @@ public class TDengineConfig {
return new SqlSessionTemplate(sqlSessionFactory);
}
// @Bean
// @ConditionalOnProperty(name = "spring.datasource.druid.tdengine-server.enabled", havingValue = "true")
// public TDDeviceLogMapper genTdengineLogMapper(@Qualifier("tDengineDataSource") TDDeviceLogMapper mapper) {
// if(this.deviceLogMapper==null){
// this.deviceLogMapper=mapper;
// }
// return this.deviceLogMapper;
// }
public TDDeviceLogMapper getTDengineLogMapper() {
return deviceLogMapper;
}

View File

@@ -1,4 +1,4 @@
package com.ruoyi.iot.tdengine.mapper;
package com.ruoyi.iot.tdengine.dao;
import org.springframework.stereotype.Repository;

View File

@@ -1,11 +1,10 @@
package com.ruoyi.iot.tdengine.mapper;
package com.ruoyi.iot.tdengine.dao;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.model.MonitorModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.lang.management.MonitorInfo;
import java.util.Date;
import java.util.List;

View File

@@ -0,0 +1,79 @@
package com.ruoyi.iot.tdengine.init;
import com.ruoyi.iot.tdengine.config.TDengineConfig;
import com.ruoyi.iot.tdengine.dao.TDDeviceLogMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.ApplicationContext;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
/**
* 类名: ApplicationStarted
* 描述: TODO
* 时间: 2022/5/18,0018 1:41
* 开发人: wxy
*/
@Component
public class ApplicationStarted implements ApplicationRunner {
private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationStarted.class);
@Autowired
private ApplicationContext applicationContext;
@Override
public void run(ApplicationArguments args) {
//先获取TDengine的配置检测TDengine是否已经配置
if (containBean(TDengineConfig.class)) {
TDengineConfig tDengineConfig = applicationContext.getBean(TDengineConfig.class);
TDDeviceLogMapper tDDeviceLogMapper = applicationContext.getBean(TDDeviceLogMapper.class);
initTDengine(tDengineConfig, tDDeviceLogMapper);
System.out.println("初始化TDengine成功");
}else{
System.out.println("MySQL初始化成功");
}
}
/**
* @return
* @Method
* @Description 开始初始化加载系统参数, 创建数据库和超级表
* @Param null
* @date 2022/5/22,0022 14:27
* @author wxy
*/
public void initTDengine(TDengineConfig dengineConfig, TDDeviceLogMapper deviceLogMapper) {
try {
String dbName = dengineConfig.getDbName();
int db = deviceLogMapper.createDB(dbName);
deviceLogMapper.createSTable(dbName);
System.out.println(db);
} catch (Exception e) {
e.printStackTrace();
System.out.println("ERROR");
}
}
/**
* @return
* @Method containBean
* @Description 根据类判断是否有对应bean
* @Param 类
* @date 2022/5/22,0022 14:12
* @author wxy
*/
private boolean containBean(@Nullable Class<?> T) {
String[] beans = applicationContext.getBeanNamesForType(T);
if (beans == null || beans.length == 0) {
return false;
} else {
return true;
}
}
}

View File

@@ -1,4 +1,4 @@
package com.ruoyi.iot.log.service;
package com.ruoyi.iot.tdengine.service;
import com.ruoyi.iot.domain.DeviceLog;

View File

@@ -1,28 +1,17 @@
package com.ruoyi.iot.log.service.factory;
package com.ruoyi.iot.tdengine.service.factory;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.framework.config.MyBatisConfig;
import com.ruoyi.iot.log.service.impl.MySqlLogServiceImpl;
import com.ruoyi.iot.log.service.impl.TdengineLogServiceImpl;
import com.ruoyi.iot.model.MonitorModel;
import com.ruoyi.iot.tdengine.service.impl.MySqlLogServiceImpl;
import com.ruoyi.iot.tdengine.service.impl.TdengineLogServiceImpl;
import com.ruoyi.iot.tdengine.config.TDengineConfig;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.log.service.ILogService;
import com.ruoyi.iot.tdengine.service.ILogService;
import com.ruoyi.iot.mapper.DeviceLogMapper;
import com.ruoyi.iot.tdengine.mapper.TDDeviceLogMapper;
import com.ruoyi.iot.util.SnowflakeIdWorker;
import com.ruoyi.iot.tdengine.dao.TDDeviceLogMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.lang.Nullable;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 类名: DeviceLogServiceImpl

View File

@@ -1,10 +1,9 @@
package com.ruoyi.iot.log.service.impl;
package com.ruoyi.iot.tdengine.service.impl;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.log.service.ILogService;
import com.ruoyi.iot.tdengine.service.ILogService;
import com.ruoyi.iot.mapper.DeviceLogMapper;
import com.ruoyi.iot.model.MonitorModel;
import org.springframework.stereotype.Service;
import java.util.List;

View File

@@ -1,15 +1,12 @@
package com.ruoyi.iot.log.service.impl;
package com.ruoyi.iot.tdengine.service.impl;
import com.ruoyi.iot.domain.DeviceLog;
import com.ruoyi.iot.log.service.ILogService;
import com.ruoyi.iot.tdengine.service.ILogService;
import com.ruoyi.iot.model.MonitorModel;
import com.ruoyi.iot.tdengine.config.TDengineConfig;
import com.ruoyi.iot.tdengine.mapper.TDDeviceLogMapper;
import com.ruoyi.iot.tdengine.dao.TDDeviceLogMapper;
import com.ruoyi.iot.util.SnowflakeIdWorker;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import java.util.List;

View File

@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.iot.tdengine.mapper.DatabaseMapper">
<mapper namespace="com.ruoyi.iot.tdengine.dao.DatabaseMapper">
<!-- 创建数据库-->
<update id="createDB" parameterType="java.lang.String">

View File

@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.iot.tdengine.mapper.TDDeviceLogMapper">
<mapper namespace="com.ruoyi.iot.tdengine.dao.TDDeviceLogMapper">
<resultMap id="BaseResultMap" type="com.ruoyi.iot.domain.DeviceLog">
<id column="ts" property="ts"/>