Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
1344d134
Commit
1344d134
authored
Sep 19, 2023
by
tangwei
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
4f03bf93
c331193a
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
538 additions
and
383 deletions
+538
-383
pom.xml
amos-boot-data/amos-boot-data-housepvapi/pom.xml
+6
-0
HousevPVapiApplication.java
...rc/main/java/com/yeejoin/amos/HousevPVapiApplication.java
+4
-1
GolangRequestUtil.java
...eejoin/amos/api/householdapi/Utils/GolangRequestUtil.java
+193
-0
HouseholdPvUtils.java
...yeejoin/amos/api/householdapi/Utils/HouseholdPvUtils.java
+4
-5
TDengineTEST.java
...com/yeejoin/amos/api/householdapi/Utils/TDengineTEST.java
+0
-36
TdEngineUtils.java
...om/yeejoin/amos/api/householdapi/Utils/TdEngineUtils.java
+34
-34
GoLangConstant.java
...eejoin/amos/api/householdapi/constant/GoLangConstant.java
+7
-0
HouseholdTestController.java
.../api/householdapi/controller/HouseholdTestController.java
+18
-0
HouseholdPvApi.java
...api/face/orm/houseapi/entity/houseapi/HouseholdPvApi.java
+1
-4
HouseholdPvProducerInfo.java
...orm/houseapi/entity/houseapi/HouseholdPvProducerInfo.java
+1
-3
HouseholdPvApiMapper.java
...oldapi/face/orm/mapper/houseapi/HouseholdPvApiMapper.java
+2
-2
HouseholdPvProducerInfoMapper.java
...ce/orm/mapper/houseapi/HouseholdPvProducerInfoMapper.java
+2
-2
GoLangDataAcquisition.java
.../api/householdapi/face/service/GoLangDataAcquisition.java
+4
-0
HouseholdPvApiServiceImpl.java
...eholdapi/face/service/impl/HouseholdPvApiServiceImpl.java
+2
-2
HouseholdPvProducerInfoServiceImpl.java
...face/service/impl/HouseholdPvProducerInfoServiceImpl.java
+2
-3
ClusterDbConfig.java
...rc/main/java/com/yeejoin/amos/config/ClusterDbConfig.java
+73
-0
MasterDbConfig.java
...src/main/java/com/yeejoin/amos/config/MasterDbConfig.java
+92
-0
MysqHouselServerConfig.java
.../java/com/yeejoin/amos/config/MysqHouselServerConfig.java
+0
-92
MysqlServerConfig.java
.../main/java/com/yeejoin/amos/config/MysqlServerConfig.java
+0
-92
TDengineServerConfig.java
...in/java/com/yeejoin/amos/config/TDengineServerConfig.java
+0
-82
TdEngineConfig.java
...src/main/java/com/yeejoin/amos/config/TdEngineConfig.java
+73
-0
application-dev.properties
...-housepvapi/src/main/resources/application-dev.properties
+20
-25
No files found.
amos-boot-data/amos-boot-data-housepvapi/pom.xml
View file @
1344d134
...
@@ -187,6 +187,12 @@
...
@@ -187,6 +187,12 @@
<version>
5.1.10
</version>
<version>
5.1.10
</version>
<scope>
compile
</scope>
<scope>
compile
</scope>
</dependency>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-autoconfigure
</artifactId>
<version>
2.2.2
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
<plugins>
<plugins>
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/HousevPVapiApplication.java
View file @
1344d134
...
@@ -5,8 +5,11 @@ import java.net.InetAddress;
...
@@ -5,8 +5,11 @@ import java.net.InetAddress;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.Logger
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.web.servlet.ServletComponentScan
;
import
org.springframework.boot.web.servlet.ServletComponentScan
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
...
@@ -28,7 +31,6 @@ import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler;
...
@@ -28,7 +31,6 @@ import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler;
* @author gwb
* @author gwb
* @version $Id: OpenapiApplication.java, v 0.1 2021年9月27日 下午3:29:30 gwb Exp $
* @version $Id: OpenapiApplication.java, v 0.1 2021年9月27日 下午3:29:30 gwb Exp $
*/
*/
@SpringBootApplication
@EnableTransactionManagement
@EnableTransactionManagement
@EnableConfigurationProperties
@EnableConfigurationProperties
@ServletComponentScan
@ServletComponentScan
...
@@ -40,6 +42,7 @@ import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler;
...
@@ -40,6 +42,7 @@ import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler;
@MapperScan
(
value
=
{
"org.typroject.tyboot.*.*.face.orm.dao"
,
"com.yeejoin.amos.api.*.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.boot.biz.common.dao.mapper"
})
"org.typroject.tyboot.face.*.orm.dao*"
,
"com.yeejoin.amos.boot.biz.common.dao.mapper"
})
@ComponentScan
({
"org.typroject"
,
"com.yeejoin.amos"
})
@ComponentScan
({
"org.typroject"
,
"com.yeejoin.amos"
})
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
,
DataSourceTransactionManagerAutoConfiguration
.
class
})
public
class
HousevPVapiApplication
{
public
class
HousevPVapiApplication
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
HousevPVapiApplication
.
class
);
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
HousevPVapiApplication
.
class
);
public
static
void
main
(
String
[]
args
)
throws
Exception
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/Utils/GolangRequestUtil.java
0 → 100644
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
Utils
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.api.householdapi.constant.GoLangConstant
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto
;
import
com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.houseapi.HouseholdPvProducerInfo
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvProducerInfoServiceImpl
;
import
com.yeejoin.amos.component.influxdb.InfluxDbConnection
;
import
com.yeejoin.amos.openapi.enums.PVProducerInfoEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.component.cache.Redis
;
import
java.util.*
;
@Component
public
class
GolangRequestUtil
{
private
final
static
String
API_REDIS_PREFIX
=
"HOUSEHOLD_API_CACHE_"
;
@Autowired
private
HouseholdPvProducerInfoServiceImpl
householdPvProducerInfoServiceImpl
;
/**
* @return HashMap<String, Object> 发送请求前的准备 准备header信息
* @deprecated 根据厂商编码获取厂商的hearer
*/
public
HashMap
<
String
,
Object
>
getHeaderOfGolang
()
{
HashMap
<
String
,
Object
>
hashMap
=
new
HashMap
<>();
HashMap
<
String
,
String
>
hashMaphead
=
new
HashMap
<>();
String
url
=
GoLangConstant
.
baseurl
+
GoLangConstant
.
tokenurl
;
hashMap
.
put
(
"apiurl"
,
GoLangConstant
.
baseurl
);
hashMaphead
.
put
(
"Content-type"
,
"application/json;charset=UTF-8"
);
hashMaphead
.
put
(
"Authorization"
,
"API "
+
GoLangConstant
.
prodcerappid
);
hashMaphead
.
put
(
"Content-MD5"
,
null
);
hashMaphead
.
put
(
"Date"
,
GoLangHeaderUtils
.
getGMTTime
());
hashMap
.
put
(
"header"
,
hashMaphead
);
hashMap
.
put
(
"appsecret"
,
GoLangConstant
.
prodcerappsecret
);
return
hashMap
;
}
/**
* @return String 请求返回的response字符串
*/
public
String
getResPonse
(
String
apiurl
,
String
requestMethod
,
String
requestParmInfo
)
{
String
respone
=
""
;
String
params
=
""
;
JSONArray
jsonArray
=
null
;
HashMap
<
String
,
Object
>
producerInfo
=
getHeaderOfGolang
();
String
baseurl
=
(
String
)
producerInfo
.
get
(
"apiurl"
);
HashMap
<
String
,
String
>
headMap
=
(
HashMap
<
String
,
String
>)
producerInfo
.
get
(
"header"
);
String
orginalAuthorization
=
headMap
.
get
(
"Authorization"
)
+
":"
;
String
url
=
baseurl
+
apiurl
;
String
appsecret
=
(
String
)
producerInfo
.
get
(
"appsecret"
);
JLYHeaderMapHandler
(
params
,
headMap
,
orginalAuthorization
,
appsecret
,
apiurl
);
respone
=
sendRequest
(
requestMethod
,
url
,
requestParmInfo
,
headMap
);
return
respone
;
}
/**
* @param resultResovle 请求返回的解析规则 来源与数据库
* @param response 请求返回的字符串
* @return 解析后的数据
*/
public
JSONArray
handlerResponseByResultResolverule
(
String
resultResovle
,
String
response
)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
response
);
JSONArray
jsonArray
=
new
JSONArray
();
if
(
ObjectUtil
.
isNotEmpty
(
resultResovle
))
{
String
[]
rules
=
resultResovle
.
split
(
","
);
if
(
rules
.
length
>
0
)
{
for
(
int
i
=
0
;
i
<
rules
.
length
;
i
++)
{
try
{
jsonObject
=
(
JSONObject
)
jsonObject
.
get
(
rules
[
i
]);
if
(
jsonObject
==
null
)
{
jsonArray
=
(
JSONArray
)
jsonObject
.
get
(
rules
[
i
]);
}
}
catch
(
Exception
exception
)
{
jsonArray
=
(
JSONArray
)
jsonObject
.
get
(
rules
[
i
]);
}
}
}
if
(
jsonArray
.
size
()
==
0
)
{
jsonArray
.
add
(
jsonObject
);
}
}
return
jsonArray
;
}
/**
* @param seq apiID
* @param cacheField 要缓存的字段
* @param jsonArray 处理后的数据请求
* @param measurement 要在influxdb中存储的数
* @describe 该方法用于缓存需要缓存的字段 且将需要入库的数据进行入库
*/
public
void
handleResponseAndCacheData
(
String
seq
,
String
cacheField
,
JSONArray
jsonArray
,
String
measurement
,
String
produceID
)
{
String
apiID
=
API_REDIS_PREFIX
+
seq
;
List
list
=
new
ArrayList
();
List
saveList
=
new
ArrayList
();
if
(
jsonArray
.
size
()
>
0
)
{
for
(
Object
o
:
jsonArray
)
{
List
<
Map
<
String
,
Object
>>
lines
=
new
ArrayList
<>();
Map
<
String
,
Object
>
maps1
=
(
Map
<
String
,
Object
>)
o
;
LinkedHashMap
<
String
,
Object
>
sortHashMap
=
new
LinkedHashMap
<>();
sortHashMap
.
put
(
"station_list"
,
"station_list."
+
measurement
);
sortHashMap
.
put
(
"timestamp"
,
System
.
currentTimeMillis
());
sortHashMap
.
put
(
"value"
,
10.1
);
Set
<
String
>
keys
=
maps1
.
keySet
();
keys
.
forEach
((
key
)
->
{
maps1
.
put
(
key
,
ObjectUtils
.
isEmpty
(
maps1
.
get
(
key
))
?
"null"
:
maps1
.
get
(
key
).
toString
());
});
if
(!
ObjectUtils
.
isEmpty
(
"cacheField"
))
{
list
.
add
(
maps1
.
get
(
cacheField
));
}
sortHashMap
.
put
(
"tags"
,
maps1
);
lines
.
add
(
sortHashMap
);
// Map<String, String> maps2 = new HashMap<>();
// maps2.put("key", UUID.randomUUID().toString());
if
(!
ObjectUtils
.
isEmpty
(
measurement
))
{
// influxDbConnection.insert(measurement, maps2, maps1);
// log.error(JSONObject.toJSONString(lines));
// tdEngineUtils.writeDataIntoTdEngine(JSONObject.toJSONString(lines));
}
}
}
// tdEngineUtils.writeDataIntoTdEngine(lines.stream().map(s -> String.valueOf(s)).toArray(String[]::new));
if
(!
ObjectUtils
.
isEmpty
(
cacheField
))
{
saveList
=
Redis
.
getRedisTemplate
().
opsForList
().
range
(
apiID
,
0
,
-
1
);
if
(
saveList
.
size
()
==
0
)
{
Redis
.
getRedisTemplate
().
opsForList
().
leftPushAll
(
apiID
,
list
);
}
saveList
=
Redis
.
getRedisTemplate
().
opsForList
().
range
(
apiID
,
0
,
-
1
);
if
(
saveList
.
size
()
!=
list
.
size
())
{
Redis
.
getRedisTemplate
().
delete
(
apiID
);
Redis
.
getRedisTemplate
().
opsForList
().
leftPushAll
(
apiID
,
list
);
}
}
}
public
String
sendRequest
(
String
requestMethod
,
String
url
,
String
params
,
HashMap
<
String
,
String
>
headMap
)
{
String
respone
=
""
;
if
(
requestMethod
.
equals
(
"POST"
))
{
respone
=
HttpUtil
.
createPost
(
url
).
headerMap
(
headMap
,
false
).
body
(
params
).
execute
().
body
();
}
if
(
requestMethod
.
equals
(
"GET"
))
{
respone
=
HttpUtil
.
createGet
(
url
).
headerMap
(
headMap
,
true
).
body
(
params
).
execute
().
body
();
}
return
respone
;
}
/***
*
* @param params 参数字符窜
* @param headMap header头
* @param orginalAuthorization 原始的orginalAuthorization
* @param appsecret appsecret
* @desc 锦浪云请求参数及head头处理
*/
public
void
JLYHeaderMapHandler
(
String
params
,
HashMap
<
String
,
String
>
headMap
,
String
orginalAuthorization
,
String
appsecret
,
String
apiurl
)
{
String
contentMD5
=
GoLangHeaderUtils
.
getDigest
(
params
);
headMap
.
put
(
"Date"
,
GoLangHeaderUtils
.
getGMTTime
());
String
param
=
"POST"
+
"\n"
+
contentMD5
+
"\n"
+
"application/json"
+
"\n"
+
headMap
.
get
(
"Date"
)
+
"\n"
+
apiurl
;
String
sign
=
""
;
try
{
sign
=
GoLangHeaderUtils
.
HmacSHA1Encrypt
(
param
,
appsecret
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
headMap
.
put
(
"Content-MD5"
,
contentMD5
);
headMap
.
put
(
"Authorization"
,
orginalAuthorization
+
sign
);
}
public
Integer
getPagesize
(
String
pageSizeResovle
,
String
response
)
{
Integer
pageSize
=
0
;
String
[]
rules
=
pageSizeResovle
.
split
(
","
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
response
);
if
(
rules
.
length
>
0
)
{
for
(
int
i
=
0
;
i
<
rules
.
length
-
1
;
i
++)
{
jsonObject
=
(
JSONObject
)
jsonObject
.
get
(
rules
[
i
]);
}
}
pageSize
=
(
Integer
)
jsonObject
.
get
(
rules
[
rules
.
length
-
1
]);
return
pageSize
;
}
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/Utils/HouseholdPvUtils.java
View file @
1344d134
...
@@ -5,9 +5,8 @@ import cn.hutool.http.HttpUtil;
...
@@ -5,9 +5,8 @@ import cn.hutool.http.HttpUtil;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.base.Joiner
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto
;
import
com.yeejoin.amos.api.householdapi.face.orm.
entity
.HouseholdPvProducerInfo
;
import
com.yeejoin.amos.api.householdapi.face.orm.
houseapi.entity.houseapi
.HouseholdPvProducerInfo
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvProducerInfoServiceImpl
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvProducerInfoServiceImpl
;
import
com.yeejoin.amos.component.influxdb.InfluxDbConnection
;
import
com.yeejoin.amos.component.influxdb.InfluxDbConnection
;
...
@@ -30,8 +29,8 @@ public class HouseholdPvUtils {
...
@@ -30,8 +29,8 @@ public class HouseholdPvUtils {
private
HouseholdPvProducerInfoServiceImpl
householdPvProducerInfoServiceImpl
;
private
HouseholdPvProducerInfoServiceImpl
householdPvProducerInfoServiceImpl
;
@Autowired
@Autowired
private
HouseholdPvApiServiceImpl
householdPvApiServiceImpl
;
private
HouseholdPvApiServiceImpl
householdPvApiServiceImpl
;
@Autowired
//
@Autowired
private
TdEngineUtils
tdEngineUtils
;
//
private TdEngineUtils tdEngineUtils;
/**
/**
* @param code 厂商code
* @param code 厂商code
...
@@ -210,7 +209,7 @@ public class HouseholdPvUtils {
...
@@ -210,7 +209,7 @@ public class HouseholdPvUtils {
if
(!
ObjectUtils
.
isEmpty
(
measurement
))
{
if
(!
ObjectUtils
.
isEmpty
(
measurement
))
{
// influxDbConnection.insert(measurement, maps2, maps1);
// influxDbConnection.insert(measurement, maps2, maps1);
log
.
error
(
JSONObject
.
toJSONString
(
lines
));
log
.
error
(
JSONObject
.
toJSONString
(
lines
));
tdEngineUtils
.
writeDataIntoTdEngine
(
JSONObject
.
toJSONString
(
lines
));
//
tdEngineUtils.writeDataIntoTdEngine(JSONObject.toJSONString(lines));
}
}
}
}
}
}
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/Utils/TDengineTEST.java
deleted
100644 → 0
View file @
4f03bf93
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
Utils
;
import
com.taosdata.jdbc.SchemalessWriter
;
import
com.taosdata.jdbc.enums.SchemalessProtocolType
;
import
com.taosdata.jdbc.enums.SchemalessTimestampType
;
import
java.sql.Connection
;
import
java.sql.DriverManager
;
import
java.sql.SQLException
;
import
java.sql.Statement
;
public
class
TDengineTEST
{
// format: measurement,tag_set field_set timestamp
private
static
String
[]
lines
=
{
"sofarstationlist,name=屈伟东,regionLevel2=158044,regionLevel3=158144,regionLevel1=156913,contactPhone=null 1648432611249000"
,
// micro
// // seconds
// "meters,location=California.LosAngeles,groupid=2 current=11.8,voltage=221,phase=0.28 1648432611249000", // micro
// // seconds
// "meters,location=California.LosAngeles,groupid=2 current=13.4,voltage=223,phase=0.29 1648432611249500",
// "meters,location=California.LosAngeles,groupid=3 current=10.8,voltage=223,phase=0.29 1648432611249300",
// "meters,location=California.LosAngeles,groupid=3 current=11.3,voltage=221,phase=0.35 1648432611249800",
};
private
static
Connection
getConnection
()
throws
SQLException
,
ClassNotFoundException
{
// Class.forName("com.taosdata.jdbc.TSDBDriver");
String
jdbcUrl
=
"jdbc:TAOS-RS://139.9.170.47:6041/house_pv_data?user=root&password=taosdata"
;
return
DriverManager
.
getConnection
(
jdbcUrl
);
}
public
static
void
main
(
String
[]
args
)
throws
SQLException
,
ClassNotFoundException
{
try
(
Connection
conn
=
getConnection
())
{
SchemalessWriter
writer
=
new
SchemalessWriter
(
conn
);
writer
.
write
(
lines
,
SchemalessProtocolType
.
LINE
,
SchemalessTimestampType
.
MICRO_SECONDS
);
}
}
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/Utils/TdEngineUtils.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
Utils
;
//
package com.yeejoin.amos.api.householdapi.Utils;
//
import
com.taosdata.jdbc.SchemalessWriter
;
//
import com.taosdata.jdbc.SchemalessWriter;
import
com.taosdata.jdbc.enums.SchemalessProtocolType
;
//
import com.taosdata.jdbc.enums.SchemalessProtocolType;
import
com.taosdata.jdbc.enums.SchemalessTimestampType
;
//
import com.taosdata.jdbc.enums.SchemalessTimestampType;
import
org.springframework.beans.factory.annotation.Value
;
//
import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Component
;
//
import org.springframework.stereotype.Component;
//
import
java.sql.Connection
;
//
import java.sql.Connection;
import
java.sql.DriverManager
;
//
import java.sql.DriverManager;
import
java.sql.SQLException
;
//
import java.sql.SQLException;
//
@Component
//
@Component
public
class
TdEngineUtils
{
//
public class TdEngineUtils {
@Value
(
"${tdengine-server.jdbc-url}"
)
//
@Value("${tdengine-server.jdbc-url}")
private
String
url
;
//
private String url;
@Value
(
"${tdengine-server.username}"
)
//
@Value("${tdengine-server.username}")
private
String
user
;
//
private String user;
@Value
(
"${tdengine-server.password}"
)
//
@Value("${tdengine-server.password}")
private
String
password
;
//
private String password;
public
void
writeDataIntoTdEngine
(
String
lines
){
//
public void writeDataIntoTdEngine(String lines){
try
(
Connection
conn
=
this
.
getConnection
())
{
//
try (Connection conn = this.getConnection()) {
SchemalessWriter
writer
=
new
SchemalessWriter
(
conn
);
//
SchemalessWriter writer = new SchemalessWriter(conn);
writer
.
write
(
lines
,
SchemalessProtocolType
.
JSON
,
SchemalessTimestampType
.
NOT_CONFIGURED
);
//
writer.write(lines, SchemalessProtocolType.JSON, SchemalessTimestampType.NOT_CONFIGURED);
}
catch
(
Exception
e
)
{
//
} catch (Exception e) {
e
.
printStackTrace
();
//
e.printStackTrace();
}
//
}
}
//
}
public
Connection
getConnection
()
throws
SQLException
{
//
public Connection getConnection() throws SQLException {
String
jdbcUrl
=
String
.
format
(
url
,
user
,
password
);
//
String jdbcUrl = String.format(url, user, password);
return
DriverManager
.
getConnection
(
jdbcUrl
);
//
return DriverManager.getConnection(jdbcUrl);
}
//
}
//
}
//
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/constant/GoLangConstant.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
constant
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
constant
;
import
org.apache.xmlbeans.impl.xb.xsdschema.Public
;
public
class
GoLangConstant
{
public
class
GoLangConstant
{
public
static
String
baseurl
=
"https://api.ginlong.com:13333"
;
public
static
String
tokenurl
=
""
;
public
static
String
prodcerappid
=
"1300386381676732593"
;
public
static
String
prodcerappsecret
=
"9659623b4ebe432fae5d26bdc8a10217"
;
public
static
String
stationListUrl
=
"/v1/api/userStationList"
;
}
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/controller/HouseholdTestController.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
controller
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
controller
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.yeejoin.amos.api.householdapi.Utils.GolangRequestUtil
;
import
com.yeejoin.amos.api.householdapi.Utils.HouseholdPvUtils
;
import
com.yeejoin.amos.api.householdapi.Utils.HouseholdPvUtils
;
import
com.yeejoin.amos.api.householdapi.constant.GoLangConstant
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl
;
import
com.yeejoin.amos.api.householdapi.face.service.impl.HouseholdPvApiServiceImpl
;
...
@@ -34,6 +36,8 @@ import java.util.Map;
...
@@ -34,6 +36,8 @@ import java.util.Map;
public
class
HouseholdTestController
{
public
class
HouseholdTestController
{
@Autowired
@Autowired
private
HouseholdPvUtils
householdPvUtils
;
private
HouseholdPvUtils
householdPvUtils
;
@Autowired
GolangRequestUtil
golangRequestUtil
;
/**
/**
...
@@ -47,4 +51,18 @@ public class HouseholdTestController {
...
@@ -47,4 +51,18 @@ public class HouseholdTestController {
public
String
save
(
Long
seq
)
throws
IOException
{
public
String
save
(
Long
seq
)
throws
IOException
{
return
householdPvUtils
.
gerResponseByAPiID
(
seq
);
return
householdPvUtils
.
gerResponseByAPiID
(
seq
);
}
}
/**
* 新增户用光伏-厂商API haders
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@PostMapping
(
value
=
"/golangnew"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"锦浪云"
,
notes
=
"锦浪云"
)
public
String
golangnew
()
throws
IOException
{
HashMap
<
String
,
Object
>
requestInfo
=
new
HashMap
<>();
requestInfo
.
put
(
"pageNo"
,
1
);
requestInfo
.
put
(
"pageSize"
,
100
);
return
golangRequestUtil
.
getResPonse
(
GoLangConstant
.
stationListUrl
,
"POST"
,
JSON
.
toJSONString
(
requestInfo
));
}
}
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
entity
/HouseholdPvApi.java
→
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
houseapi/entity/houseapi
/HouseholdPvApi.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
entity
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
houseapi
.
entity
.
houseapi
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
/**
/**
* 户用光伏-厂商API haders
* 户用光伏-厂商API haders
*
*
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
entity
/HouseholdPvProducerInfo.java
→
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
houseapi/entity/houseapi
/HouseholdPvProducerInfo.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
entity
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
houseapi
.
entity
.
houseapi
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
...
@@ -7,8 +7,6 @@ import lombok.EqualsAndHashCode;
...
@@ -7,8 +7,6 @@ import lombok.EqualsAndHashCode;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
/**
/**
* 户用光伏-厂商信息表
* 户用光伏-厂商信息表
*
*
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
dao
/HouseholdPvApiMapper.java
→
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
mapper/houseapi
/HouseholdPvApiMapper.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
dao
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
mapper
.
houseapi
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.api.householdapi.face.orm.
entity
.HouseholdPvApi
;
import
com.yeejoin.amos.api.householdapi.face.orm.
houseapi.entity.houseapi
.HouseholdPvApi
;
/**
/**
* 户用光伏-厂商API haders Mapper 接口
* 户用光伏-厂商API haders Mapper 接口
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
dao
/HouseholdPvProducerInfoMapper.java
→
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/orm/
mapper/houseapi
/HouseholdPvProducerInfoMapper.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
dao
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
orm
.
mapper
.
houseapi
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.api.householdapi.face.orm.
entity
.HouseholdPvProducerInfo
;
import
com.yeejoin.amos.api.householdapi.face.orm.
houseapi.entity.houseapi
.HouseholdPvProducerInfo
;
/**
/**
* 户用光伏-厂商信息表 Mapper 接口
* 户用光伏-厂商信息表 Mapper 接口
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/service/GoLangDataAcquisition.java
0 → 100644
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
service
;
public
interface
GoLangDataAcquisition
{
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/service/impl/HouseholdPvApiServiceImpl.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
service
.
impl
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvApiDto
;
import
com.yeejoin.amos.api.householdapi.face.orm.
dao
.HouseholdPvApiMapper
;
import
com.yeejoin.amos.api.householdapi.face.orm.
mapper.houseapi
.HouseholdPvApiMapper
;
import
com.yeejoin.amos.api.householdapi.face.orm.
entity
.HouseholdPvApi
;
import
com.yeejoin.amos.api.householdapi.face.orm.
houseapi.entity.houseapi
.HouseholdPvApi
;
import
com.yeejoin.amos.api.householdapi.face.service.IHouseholdPvApiService
;
import
com.yeejoin.amos.api.householdapi.face.service.IHouseholdPvApiService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/api/householdapi/face/service/impl/HouseholdPvProducerInfoServiceImpl.java
View file @
1344d134
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
api
.
householdapi
.
face
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto
;
import
com.yeejoin.amos.api.householdapi.face.model.HouseholdPvProducerInfoDto
;
import
com.yeejoin.amos.api.householdapi.face.orm.
dao
.HouseholdPvProducerInfoMapper
;
import
com.yeejoin.amos.api.householdapi.face.orm.
mapper.houseapi
.HouseholdPvProducerInfoMapper
;
import
com.yeejoin.amos.api.householdapi.face.orm.
entity
.HouseholdPvProducerInfo
;
import
com.yeejoin.amos.api.householdapi.face.orm.
houseapi.entity.houseapi
.HouseholdPvProducerInfo
;
import
com.yeejoin.amos.api.householdapi.face.service.IHouseholdPvProducerInfoService
;
import
com.yeejoin.amos.api.householdapi.face.service.IHouseholdPvProducerInfoService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
...
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/config/ClusterDbConfig.java
0 → 100644
View file @
1344d134
package
com
.
yeejoin
.
amos
.
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.boot.module.hygf.api.mapper"
,
sqlSessionFactoryRef
=
"clusterSqlSessionFactory"
)
public
class
ClusterDbConfig
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
ClusterDbConfig
.
class
);
// 精确到 cluster 目录,以便跟其他数据源隔离
private
static
final
String
MAPPER_LOCATION
=
"classpath*:mapper/mysql/*.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.hygf.api.entity"
);
//mybatis 数据库字段与实体类属性驼峰映射配置
sessionFactory
.
getObject
().
getConfiguration
().
setMapUnderscoreToCamelCase
(
true
);
return
sessionFactory
.
getObject
();
}
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/config/MasterDbConfig.java
0 → 100644
View file @
1344d134
package
com
.
yeejoin
.
amos
.
config
;
import
com.alibaba.druid.pool.DruidDataSource
;
import
com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean
;
import
com.github.pagehelper.PageInterceptor
;
import
org.apache.ibatis.plugin.Interceptor
;
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.householdapi.face.orm.mapper.houseapi"
,
sqlSessionFactoryRef
=
"masterSqlSessionFactory1"
)
public
class
MasterDbConfig
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
MasterDbConfig
.
class
);
// 精确到 master 目录,以便跟其他数据源隔离
private
static
final
String
MAPPER_LOCATION
=
"classpath*:mapper/houseapi/*.xml"
;
@Value
(
"${spring.db1.datasource.url}"
)
private
String
dbUrl
;
@Value
(
"${spring.db1.datasource.username}"
)
private
String
username
;
@Value
(
"${spring.db1.datasource.password}"
)
private
String
password
;
@Value
(
"${spring.db1.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.api.householdapi.face.orm.houseapi.entity.houseapi"
);
//mybatis 数据库字段与实体类属性驼峰映射配置
sessionFactory
.
getObject
().
getConfiguration
().
setMapUnderscoreToCamelCase
(
true
);
//分页插件
Interceptor
interceptor
=
new
PageInterceptor
();
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
"helperDialect"
,
"mysql"
);
properties
.
setProperty
(
"offsetAsPageNum"
,
"true"
);
properties
.
setProperty
(
"rowBoundsWithCount"
,
"true"
);
properties
.
setProperty
(
"reasonable"
,
"true"
);
properties
.
setProperty
(
"supportMethodsArguments"
,
"true"
);
properties
.
setProperty
(
"params"
,
"pageNum=pageNum;pageSize=pageSize"
+
""
+
";"
);
interceptor
.
setProperties
(
properties
);
sessionFactory
.
setPlugins
(
new
Interceptor
[]
{
interceptor
});
return
sessionFactory
.
getObject
();
}
}
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/config/MysqHouselServerConfig.java
deleted
100644 → 0
View file @
4f03bf93
package
com
.
yeejoin
.
amos
.
config
;
import
com.baomidou.mybatisplus.core.config.GlobalConfig
;
import
com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
;
import
com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean
;
import
com.github.pagehelper.PageInterceptor
;
import
org.apache.ibatis.plugin.Interceptor
;
import
org.apache.ibatis.session.SqlSessionFactory
;
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.context.annotation.Primary
;
import
org.springframework.core.io.support.PathMatchingResourcePatternResolver
;
import
org.springframework.jdbc.datasource.DataSourceTransactionManager
;
import
javax.sql.DataSource
;
import
java.util.Properties
;
/**
* mysql配置类
* @author zhengwen
*/
@Configuration
@MapperScan
(
basePackages
=
{
"com.yeejoin.amos.boot.module.hygf.api.mapper"
},
sqlSessionTemplateRef
=
"mysqlSqlSessionTemplate"
)
public
class
MysqHouselServerConfig
{
private
static
final
String
MAPPER_LOCATION
=
"classpath*:mapper/mysql/*.xml"
;
@Bean
(
name
=
"mysqlDataSource"
)
@ConfigurationProperties
(
prefix
=
"spring.datasource.mysql-service"
)
@Primary
public
DataSource
mysqlDataSource
()
{
return
DataSourceBuilder
.
create
().
build
();
}
@Bean
(
name
=
"mysqlSqlSessionFactory"
)
@Primary
public
SqlSessionFactory
mysqlSqlSessionFactory
(
@Qualifier
(
"mysqlDataSource"
)
DataSource
dataSource
,
GlobalConfig
globalConfig
)
throws
Exception
{
//注意这里一定要用MybatisSqlSessionFactoryBean,如果用SqlSessionFactory,配置无效
MybatisSqlSessionFactoryBean
bean
=
new
MybatisSqlSessionFactoryBean
();
bean
.
setDataSource
(
dataSource
);
bean
.
setMapperLocations
(
new
PathMatchingResourcePatternResolver
().
getResources
(
MAPPER_LOCATION
));
//分页插件
Interceptor
interceptor
=
new
PageInterceptor
();
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
"helperDialect"
,
"mysql"
);
properties
.
setProperty
(
"offsetAsPageNum"
,
"true"
);
properties
.
setProperty
(
"rowBoundsWithCount"
,
"true"
);
properties
.
setProperty
(
"reasonable"
,
"true"
);
properties
.
setProperty
(
"supportMethodsArguments"
,
"true"
);
properties
.
setProperty
(
"params"
,
"pageNum=current;pageSize=size"
+
""
+
";"
);
interceptor
.
setProperties
(
properties
);
bean
.
setPlugins
(
new
Interceptor
[]
{
interceptor
,
paginationInterceptor
()
});
return
bean
.
getObject
();
}
@Bean
(
name
=
"mysqlTransactionManager"
)
@Primary
public
DataSourceTransactionManager
mysqlTransactionManager
(
@Qualifier
(
"mysqlDataSource"
)
DataSource
dataSource
)
{
return
new
DataSourceTransactionManager
(
dataSource
);
}
@Bean
(
name
=
"mysqlSqlSessionTemplate"
)
@Primary
public
SqlSessionTemplate
mysqlSqlSessionTemplate
(
@Qualifier
(
"mysqlSqlSessionFactory"
)
SqlSessionFactory
sqlSessionFactory
)
throws
Exception
{
return
new
SqlSessionTemplate
(
sqlSessionFactory
);
}
@Bean
public
PaginationInterceptor
paginationInterceptor
()
{
PaginationInterceptor
paginationInterceptor
=
new
PaginationInterceptor
();
paginationInterceptor
.
setDialectType
(
"mysql"
);
return
paginationInterceptor
;
}
}
\ No newline at end of file
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/config/MysqlServerConfig.java
deleted
100644 → 0
View file @
4f03bf93
package
com
.
yeejoin
.
amos
.
config
;
import
com.baomidou.mybatisplus.core.config.GlobalConfig
;
import
com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
;
import
com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean
;
import
com.github.pagehelper.PageInterceptor
;
import
org.apache.ibatis.plugin.Interceptor
;
import
org.apache.ibatis.session.SqlSessionFactory
;
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.context.annotation.Primary
;
import
org.springframework.core.io.support.PathMatchingResourcePatternResolver
;
import
org.springframework.jdbc.datasource.DataSourceTransactionManager
;
import
javax.sql.DataSource
;
import
java.util.Properties
;
/**
* mysql配置类
* @author zhengwen
*/
@Configuration
@MapperScan
(
basePackages
=
{
"com.yeejoin.amos.boot.module.hygf.api.mapper"
},
sqlSessionTemplateRef
=
"mysqlSqlSessionTemplate"
)
public
class
MysqlServerConfig
{
private
static
final
String
MAPPER_LOCATION
=
"classpath*:mapper/mysql/*.xml"
;
@Bean
(
name
=
"mysqlDataSource"
)
@ConfigurationProperties
(
prefix
=
"spring.datasource.mysql-service"
)
@Primary
public
DataSource
mysqlDataSource
()
{
return
DataSourceBuilder
.
create
().
build
();
}
@Bean
(
name
=
"mysqlSqlSessionFactory"
)
@Primary
public
SqlSessionFactory
mysqlSqlSessionFactory
(
@Qualifier
(
"mysqlDataSource"
)
DataSource
dataSource
,
GlobalConfig
globalConfig
)
throws
Exception
{
//注意这里一定要用MybatisSqlSessionFactoryBean,如果用SqlSessionFactory,配置无效
MybatisSqlSessionFactoryBean
bean
=
new
MybatisSqlSessionFactoryBean
();
bean
.
setDataSource
(
dataSource
);
bean
.
setMapperLocations
(
new
PathMatchingResourcePatternResolver
().
getResources
(
MAPPER_LOCATION
));
//分页插件
Interceptor
interceptor
=
new
PageInterceptor
();
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
"helperDialect"
,
"mysql"
);
properties
.
setProperty
(
"offsetAsPageNum"
,
"true"
);
properties
.
setProperty
(
"rowBoundsWithCount"
,
"true"
);
properties
.
setProperty
(
"reasonable"
,
"true"
);
properties
.
setProperty
(
"supportMethodsArguments"
,
"true"
);
properties
.
setProperty
(
"params"
,
"pageNum=current;pageSize=size"
+
""
+
";"
);
interceptor
.
setProperties
(
properties
);
bean
.
setPlugins
(
new
Interceptor
[]
{
interceptor
,
paginationInterceptor
()
});
return
bean
.
getObject
();
}
@Bean
(
name
=
"mysqlTransactionManager"
)
@Primary
public
DataSourceTransactionManager
mysqlTransactionManager
(
@Qualifier
(
"mysqlDataSource"
)
DataSource
dataSource
)
{
return
new
DataSourceTransactionManager
(
dataSource
);
}
@Bean
(
name
=
"mysqlSqlSessionTemplate"
)
@Primary
public
SqlSessionTemplate
mysqlSqlSessionTemplate
(
@Qualifier
(
"mysqlSqlSessionFactory"
)
SqlSessionFactory
sqlSessionFactory
)
throws
Exception
{
return
new
SqlSessionTemplate
(
sqlSessionFactory
);
}
@Bean
public
PaginationInterceptor
paginationInterceptor
()
{
PaginationInterceptor
paginationInterceptor
=
new
PaginationInterceptor
();
paginationInterceptor
.
setDialectType
(
"mysql"
);
return
paginationInterceptor
;
}
}
\ No newline at end of file
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/config/TDengineServerConfig.java
deleted
100644 → 0
View file @
4f03bf93
package
com
.
yeejoin
.
amos
.
config
;
import
com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
;
import
com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean
;
import
com.github.pagehelper.PageInterceptor
;
import
org.apache.ibatis.plugin.Interceptor
;
import
org.apache.ibatis.session.SqlSessionFactory
;
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.util.Properties
;
/**
* @description:
* @author: tw
* @createDate: 2023/9/19
*/
@Configuration
@MapperScan
(
basePackages
=
"com.xiaotian.datatrans.mapper.tdenginemapper"
,
sqlSessionTemplateRef
=
"tdengineSqlSessionTemplate"
)
public
class
TDengineServerConfig
{
private
static
final
String
MAPPER_LOCATION
=
"classpath*:mapper/tdengine/*.xml"
;
@Bean
(
name
=
"tdengineDataSource"
)
@ConfigurationProperties
(
prefix
=
"spring.datasource.tdengine-service"
)
public
DataSource
tdengineDataSource
()
{
return
DataSourceBuilder
.
create
().
build
();
}
@Bean
(
name
=
"tdengineSqlSessionFactory"
)
public
SqlSessionFactory
tdengineSqlSessionFactory
(
@Qualifier
(
"tdengineDataSource"
)
DataSource
dataSource
)
throws
Exception
{
MybatisSqlSessionFactoryBean
bean
=
new
MybatisSqlSessionFactoryBean
();
bean
.
setDataSource
(
dataSource
);
bean
.
setMapperLocations
(
new
PathMatchingResourcePatternResolver
().
getResources
(
MAPPER_LOCATION
));
//分页插件
Interceptor
interceptor
=
new
PageInterceptor
();
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
"helperDialect"
,
"mysql"
);
properties
.
setProperty
(
"offsetAsPageNum"
,
"true"
);
properties
.
setProperty
(
"rowBoundsWithCount"
,
"true"
);
properties
.
setProperty
(
"reasonable"
,
"true"
);
properties
.
setProperty
(
"supportMethodsArguments"
,
"true"
);
properties
.
setProperty
(
"params"
,
"pageNum=pageNum;pageSize=pageSize"
+
""
+
";"
);
interceptor
.
setProperties
(
properties
);
bean
.
setPlugins
(
new
Interceptor
[]
{
interceptor
,
paginationInterceptor
()});
return
bean
.
getObject
();
}
@Bean
(
name
=
"tdengineTransactionManager"
)
public
DataSourceTransactionManager
tdengineTransactionManager
(
@Qualifier
(
"tdengineDataSource"
)
DataSource
dataSource
)
{
return
new
DataSourceTransactionManager
(
dataSource
);
}
@Bean
(
name
=
"tdengineSqlSessionTemplate"
)
public
SqlSessionTemplate
tdengineSqlSessionTemplate
(
@Qualifier
(
"tdengineSqlSessionFactory"
)
SqlSessionFactory
sqlSessionFactory
)
throws
Exception
{
return
new
SqlSessionTemplate
(
sqlSessionFactory
);
}
@Bean
public
PaginationInterceptor
paginationInterceptor
()
{
PaginationInterceptor
paginationInterceptor
=
new
PaginationInterceptor
();
paginationInterceptor
.
setDialectType
(
"mysql"
);
return
paginationInterceptor
;
}
}
\ No newline at end of file
amos-boot-data/amos-boot-data-housepvapi/src/main/java/com/yeejoin/amos/config/TdEngineConfig.java
0 → 100644
View file @
1344d134
package
com
.
yeejoin
.
amos
.
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.householdapi.face.orm.mapper.tdengine"
,
sqlSessionFactoryRef
=
"taosSqlSessionFactory"
)
public
class
TdEngineConfig
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
TdEngineConfig
.
class
);
// 精确到 cluster 目录,以便跟其他数据源隔离
private
static
final
String
MAPPER_LOCATION
=
"classpath*:mapper/tdengine/*.xml"
;
@Value
(
"${spring.db3.datasource.url}"
)
private
String
dbUrl
;
@Value
(
"${spring.db3.datasource.username}"
)
private
String
username
;
@Value
(
"${spring.db3.datasource.password}"
)
private
String
password
;
@Value
(
"${spring.db3.datasource.driver-class-name}"
)
private
String
driverClassName
;
@Bean
(
name
=
"taosDataSource"
)
//声明其为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
=
"taosTransactionManager"
)
public
DataSourceTransactionManager
clusterTransactionManager
()
{
return
new
DataSourceTransactionManager
(
clusterDataSource
());
}
@Bean
(
name
=
"taosSqlSessionFactory"
)
public
SqlSessionFactory
clusterSqlSessionFactory
(
@Qualifier
(
"taosDataSource"
)
DataSource
culsterDataSource
)
throws
Exception
{
final
MybatisSqlSessionFactoryBean
sessionFactory
=
new
MybatisSqlSessionFactoryBean
();
sessionFactory
.
setDataSource
(
culsterDataSource
);
sessionFactory
.
setMapperLocations
(
new
PathMatchingResourcePatternResolver
()
.
getResources
(
TdEngineConfig
.
MAPPER_LOCATION
));
sessionFactory
.
setTypeAliasesPackage
(
"com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine"
);
//mybatis 数据库字段与实体类属性驼峰映射配置
sessionFactory
.
getObject
().
getConfiguration
().
setMapUnderscoreToCamelCase
(
true
);
return
sessionFactory
.
getObject
();
}
}
amos-boot-data/amos-boot-data-housepvapi/src/main/resources/application-dev.properties
View file @
1344d134
spring.application.name
=
AMOS-API-HOUSEPVAPI
spring.application.name
=
AMOS-API-HOUSEPVAPI
server.servlet.context-path
=
/housepvapi
server.servlet.context-path
=
/housepvapi
server.port
=
11006
server.port
=
11006
# jdbc_config
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
spring.datasource.url
=
jdbc:mysql://172.16.10.220:3306/amos_openapi?allowMultiQueries=true&serverTimezone=GMT%2B8
\
&characterEncoding=utf8
spring.datasource.username
=
root
spring.datasource.password
=
Yeejoin@2020
spring.datasource.type
=
com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle
=
5
spring.datasource.hikari.maximum-pool-size
=
15
spring.datasource.hikari.auto-commit
=
true
spring.datasource.hikari.idle-timeout
=
30000
spring.datasource.hikari.pool-name
=
DatebookHikariCP
spring.datasource.hikari.max-lifetime
=
1800000
spring.datasource.hikari.connection-timeout
=
30000
spring.datasource.hikari.connection-test-query
=
SELECT 1
# tdengine ?????
spring.datasource.tdengine-service.driver-class-name
=
com.taosdata.jdbc.TSDBDriver
spring.datasource.tdengine-service.jdbc-url
=
jdbc:TAOS://139.9.170.47:6041/house_pv_data?user=root&password=taosdata&timezone=GMT+8
spring.datasource.tdengine-service.username
=
root
spring.datasource.tdengine-service.password
=
taosdata
spring.datasource.tdengine-service.type
=
com.zaxxer.hikari.HikariDataSource
tdengine-server.driver-class-name
=
com.taosdata.jdbc.rs.RestfulDriver
## DB properties hygf
tdengine-server.jdbc-url
=
jdbc:TAOS-RS://139.9.170.47:6041/house_pv_data?user=%s&password=%s&timezone=GMT+8
## db1-production database
tdengine-server.username
=
root
spring.db1.datasource.type
:
com.alibaba.druid.pool.DruidDataSource
tdengine-server.password
=
taosdata
spring.db1.datasource.url
=
jdbc:mysql://172.16.10.220:3306/amos_?allowMultiQueries=true&serverTimezone=GMT%2B8&characterEncoding=utf8
spring.db1.datasource.username
=
root
spring.db1.datasource.password
=
Yeejoin@2020
spring.db1.datasource.driver-class-name
:
com.mysql.cj.jdbc.Driver
## db2-sync_data
spring.db2.datasource.type
:
com.alibaba.druid.pool.DruidDataSource
spring.db2.datasource.url
=
jdbc:mysql://172.16.10.220:3306/amos_openapi?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
## db3-taosiData
spring.db3.datasource.type
:
com.alibaba.druid.pool.DruidDataSource
spring.db3.datasource.url
=
jdbc:TAOS://139.9.170.47:6041/house_pv_data?user=root&password=taosdata&timezone=GMT%2B8&characterEncoding=utf8
spring.db3.datasource.username
=
root
spring.db3.datasource.password
=
taosdata
spring.db3.datasource.driver-class-name
:
com.taosdata.jdbc.TSDBDriver
# REDIS (RedisProperties)
# REDIS (RedisProperties)
spring.redis.database
=
1
spring.redis.database
=
1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment