Browse Source

Merge pull request 'master' (#41) from master into V3

Reviewed-on: http://git.lrdaiot.cn:9000/thing/thing_api/pulls/41
qingyuan_dev_new
夏超 1 year ago
parent
commit
0e931245da
  1. 150
      application/src/main/resources/application.yml
  2. 18
      common/orm/src/main/java/com/thing/common/orm/config/MyBatisFlexConfig.java
  3. 2
      common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgService.java
  4. 6
      common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgServiceImpl.java
  5. 4
      common/tskv/src/main/java/com/thing/common/tskv/service/tskv/TsKvPgServiceImpl.java
  6. 9
      modules/thing/src/main/java/com/thing/sys/biz/service/impl/SysUserServiceImpl.java
  7. 2
      modules/thing/src/main/java/com/thing/sys/oss/service/impl/SysOssServiceImpl.java
  8. 2
      pom.xml

150
application/src/main/resources/application.yml

@ -13,6 +13,35 @@ spring:
max-file-size: 100MB max-file-size: 100MB
max-request-size: 100MB max-request-size: 100MB
enabled: true enabled: true
task:
execution:
pool:
max-size: 12
core-size: 6
keep-alive: 60s
queue-capacity: 100
allow-core-thread-timeout: true
thread-name-prefix: Async-线程池--
shutdown:
await-termination: true
await-termination-period: 3s
datasource:
type: com.zaxxer.hikari.HikariDataSource
hikari:
# 最大连接池数量
maximum-pool-size: 20
# 最小空闲线程数量
minimum-idle: 10
# 配置获取连接等待超时的时间
connectionTimeout: 30000
# 校验超时时间
validationTimeout: 5000
# 空闲连接存活最大时间,默认10分钟
idleTimeout: 600000
# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟
maxLifetime: 1800000
# 多久检查一次连接的活性
keepaliveTime: 30000
messages: messages:
encoding: UTF-8 encoding: UTF-8
basename: i18n/messages basename: i18n/messages
@ -22,53 +51,23 @@ spring:
port: 7963 port: 7963
password: Sddt8888! password: Sddt8888!
database: 5 database: 5
#项目入口签名
title:
sign: ck #企业签名
technical:
phone:
map-bucket: geojson #地图文件路径
queue:
type: in-memory # 队列类型: inMemory / disruptor
inMemory:
maxSize: 500
pollInterval: 100
disruptor:
maximumPoolSize: 8
bufferSize: 256 # 指定ringbuffer字节大小,当前值将乘1024
partitions:
hash_function_name: murmur3_128 # murmur3_32, murmur3_128 or sha256
core:
topic: queue_core
poll-interval: 1000
partitions: 30
debug: false
log-interval: 300
rabbitmq:
exchange_name:
host: localhost
port: 5673
virtual_host: /
username: guest
password: guest
automatic_recovery_enabled: false
connection_timeout: 60000
handshake_timeout: 10000
queue-properties:
core: x-max-length-bytes:1048576000;x-message-ttl:604800000
#数据源配置
#tskv遥测数据数据源配置
database: database:
ts_kv: ts_kv:
type: postgresql # 时序数据存储类型 clickhouse/timescale/postgresql/tidb/mysql
type: timescale # 时序数据存储类型 clickhouse/timescale/postgresql/tidb/mysql
latest: latest:
type: postgresql # 最新数据存储类型 postgresql/timescale/mysql/tidb/clickhouse
type: timescale # 最新数据存储类型 postgresql/timescale/mysql/tidb/clickhouse
save_maximumPoolSize: 12 save_maximumPoolSize: 12
# 数据源及mybatis、mybatis-flex配置 # 数据源及mybatis、mybatis-flex配置
mybatis-flex: mybatis-flex:
#是否开启审计日志打印
auditEnable: false
#mapper 包扫描路径
typeAliasesPackage: com.thing.**.mapper typeAliasesPackage: com.thing.**.mapper
#mapper 扫描路径
mapperLocations: classpath*:/mapper/**/*.xml mapperLocations: classpath*:/mapper/**/*.xml
#本部分(Configuration)的配置都为 MyBatis 原生支持的配置,有关配置请参考:https://mybatis.org/mybatis-3/zh/configuration.html#%E8%AE%BE%E7%BD%AE%EF%BC%88settings%EF%BC%89
#本部分(Configuration)的配置都为 MyBatis 原生支持的配置
configuration: configuration:
mapUnderscoreToCamelCase: true mapUnderscoreToCamelCase: true
autoMappingBehavior: FULL autoMappingBehavior: FULL
@ -78,25 +77,29 @@ mybatis-flex:
print-banner: true print-banner: true
normal-value-of-logic-delete: 0 normal-value-of-logic-delete: 0
deleted-value-of-logic-delete: 1 deleted-value-of-logic-delete: 1
#数据眼配置
datasource: datasource:
pg:
#物管理数据源
pg-thing:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
url: jdbc:postgresql://192.168.188.185:5432/thing_v2
url: jdbc:postgresql://127.0.0.1:25432/pub_guowang_v1
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
username: postgres username: postgres
password: sddt8888 password: sddt8888
postgresql:
#遥测数据数据眼
pg-tskv:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
url: jdbc:postgresql://192.168.188.185:5432/thing_v2
url: jdbc:postgresql://127.0.0.1:25432/pub_guowang_v1
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
username: postgres username: postgres
password: sddt8888 password: sddt8888
sqlServer:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:sqlserver://127.0.0.1:1433;databaseName=销售生产其他
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: czj
password: 1234
#其他第三方数据接入,或业务需要追加数据源
# sqlServer:
# type: com.zaxxer.hikari.HikariDataSource
# url: jdbc:sqlserver://127.0.0.1:1433;databaseName=销售生产其他
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: czj
# password: 1234
# 区间统计计算相关配置 # 区间统计计算相关配置
calculate: calculate:
@ -111,6 +114,21 @@ calculate:
start_yy: 1 #年 用量统计开始的月份(1-12) start_yy: 1 #年 用量统计开始的月份(1-12)
maximumPoolSize: 12 maximumPoolSize: 12
#物管理相关配置
thing:
#项目入口签名
title:
#企业签名
sign: ck
#座机
technical:
#联系电话
phone:
#地图文件路径
map-bucket: geojson
# token 过期时间 30天
token:
expire: 2592000
# 产品碳足迹 相关配置 # 产品碳足迹 相关配置
carbon: carbon:
syncButton: false syncButton: false
@ -120,12 +138,6 @@ carbon:
api: api:
secret: nba!w^0@01 secret: nba!w^0@01
#物管理相关配置
thing:
# token 过期时间 30天
token:
expire: 2592000
##数据解析配置 ##数据解析配置
nashorn: nashorn:
# JS Eval max request timeout. 0 - no timeout # JS Eval max request timeout. 0 - no timeout
@ -155,7 +167,37 @@ aviator:
# Max loop count to prevent too much CPU consumption. If it's value is zero or negative, it means # Max loop count to prevent too much CPU consumption. If it's value is zero or negative, it means
# no limitation on loop count.Default is zero. # no limitation on loop count.Default is zero.
max_loop_count: 1000 max_loop_count: 1000
#队列相关配置 #队列相关配置
queue:
type: in-memory # 队列类型: inMemory / disruptor
inMemory:
maxSize: 500
pollInterval: 100
disruptor:
maximumPoolSize: 8
bufferSize: 256 # 指定ringbuffer字节大小,当前值将乘1024
partitions:
hash_function_name: murmur3_128 # murmur3_32, murmur3_128 or sha256
core:
topic: queue_core
poll-interval: 1000
partitions: 30
debug: false
log-interval: 300
rabbitmq:
exchange_name:
host: localhost
port: 5673
virtual_host: /
username: guest
password: guest
automatic_recovery_enabled: false
connection_timeout: 60000
handshake_timeout: 10000
queue-properties:
core: x-max-length-bytes:1048576000;x-message-ttl:604800000
transport: transport:
# Enable/disable http/mqtt/... transport protocols (has higher priority than certain protocol's 'enabled' property) # Enable/disable http/mqtt/... transport protocols (has higher priority than certain protocol's 'enabled' property)
api_enabled: true api_enabled: true

18
common/orm/src/main/java/com/thing/common/orm/config/MyBatisFlexConfig.java

@ -5,8 +5,6 @@ import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.audit.AuditManager; import com.mybatisflex.core.audit.AuditManager;
import com.mybatisflex.core.audit.ConsoleMessageCollector; import com.mybatisflex.core.audit.ConsoleMessageCollector;
import com.mybatisflex.core.keygen.KeyGenerators; import com.mybatisflex.core.keygen.KeyGenerators;
import com.mybatisflex.core.mybatis.FlexConfiguration;
import com.mybatisflex.spring.boot.ConfigurationCustomizer;
import com.mybatisflex.spring.boot.MyBatisFlexCustomizer; import com.mybatisflex.spring.boot.MyBatisFlexCustomizer;
import com.thing.common.orm.entity.BaseDateEntity; import com.thing.common.orm.entity.BaseDateEntity;
import com.thing.common.orm.entity.BaseEntity; import com.thing.common.orm.entity.BaseEntity;
@ -15,9 +13,8 @@ import com.thing.common.orm.entity.BaseTenantEntity;
import com.thing.common.orm.listener.EntityInsertListener; import com.thing.common.orm.listener.EntityInsertListener;
import com.thing.common.orm.listener.EntityUpdateListener; import com.thing.common.orm.listener.EntityUpdateListener;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.logging.nologging.NoLoggingImpl;
import org.apache.ibatis.logging.stdout.StdOutImpl;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -29,11 +26,12 @@ import org.springframework.context.annotation.Configuration;
@Slf4j @Slf4j
@Configuration @Configuration
@MapperScan(value = {"com.thing.**.mapper"}) @MapperScan(value = {"com.thing.**.mapper"})
public class MyBatisFlexConfig implements ConfigurationCustomizer, MyBatisFlexCustomizer {
@Override
public void customize(FlexConfiguration configuration) {
configuration.setLogImpl(NoLoggingImpl.class);
}
public class MyBatisFlexConfig implements MyBatisFlexCustomizer {
@Value("${mybatis-flex.auditEnable:false}")
private Boolean auditEnable;
/** /**
* Mybatis-Flex自定义初始化配置 * Mybatis-Flex自定义初始化配置
@ -54,7 +52,7 @@ public class MyBatisFlexConfig implements ConfigurationCustomizer, MyBatisFlexCu
globalConfig.registerUpdateListener(new EntityUpdateListener(), BaseEntity.class, BaseDateEntity.class, BaseInfoEntity.class, BaseTenantEntity.class); globalConfig.registerUpdateListener(new EntityUpdateListener(), BaseEntity.class, BaseDateEntity.class, BaseInfoEntity.class, BaseTenantEntity.class);
// 开启审计功能 // 开启审计功能
AuditManager.setAuditEnable(true);
AuditManager.setAuditEnable(auditEnable);
AuditManager.setMessageCollector(new ConsoleMessageCollector()); AuditManager.setMessageCollector(new ConsoleMessageCollector());
} }

2
common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgService.java

@ -4,7 +4,7 @@ import com.mybatisflex.annotation.UseDataSource;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import com.thing.common.tskv.entity.TsKvLatestPg; import com.thing.common.tskv.entity.TsKvLatestPg;
@UseDataSource("postgresql")
@UseDataSource("pg-tskv")
public interface LatestPgService extends IService<TsKvLatestPg>, LatestBaseService { public interface LatestPgService extends IService<TsKvLatestPg>, LatestBaseService {
} }

6
common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgServiceImpl.java

@ -13,7 +13,6 @@ import com.thing.common.tskv.entity.TsKvLatestPg;
import com.thing.common.tskv.mapper.TsKvLatestPgMapper; import com.thing.common.tskv.mapper.TsKvLatestPgMapper;
import com.thing.common.tskv.service.DatabaseType; import com.thing.common.tskv.service.DatabaseType;
import com.thing.common.tskv.service.LatestNativeSQL; import com.thing.common.tskv.service.LatestNativeSQL;
import com.thing.common.tskv.service.latest.LatestPgService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -23,14 +22,11 @@ import org.springframework.stereotype.Service;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.IntStream;
import static com.thing.common.tskv.entity.table.TsKvLatestPgTableDef.TS_KV_LATEST_PG;
@Slf4j @Slf4j
@Service @Service
@ConditionalOnExpression("'${database.latest.type}'=='timescale' || '${database.latest.type}'=='postgresql'")
@ConditionalOnExpression("'${database.latest.type}'=='timescale' || '${database.latest.type}'=='pg-tskv'")
public class LatestPgServiceImpl extends ServiceImpl<TsKvLatestPgMapper, TsKvLatestPg> implements LatestPgService { public class LatestPgServiceImpl extends ServiceImpl<TsKvLatestPgMapper, TsKvLatestPg> implements LatestPgService {
@Override @Override

4
common/tskv/src/main/java/com/thing/common/tskv/service/tskv/TsKvPgServiceImpl.java

@ -46,8 +46,8 @@ import static com.thing.common.util.time.DaXiaUtils.getAmStartTime;
@Slf4j @Slf4j
@Service @Service
@UseDataSource("postgresql")
@ConditionalOnExpression("'${database.ts_kv.type}'=='timescale' || '${database.ts_kv.type}'=='postgresql'")
@UseDataSource("pg-tskv")
@ConditionalOnExpression("'${database.ts_kv.type}'=='timescale' || '${database.ts_kv.type}'=='pg-tskv'")
public class TsKvPgServiceImpl extends ServiceImpl<TsKvPgMapper, TsKvPg> implements TsKvPgService { public class TsKvPgServiceImpl extends ServiceImpl<TsKvPgMapper, TsKvPg> implements TsKvPgService {
@Value("${calculate.am_total.offset:24}") @Value("${calculate.am_total.offset:24}")
private int offset; private int offset;

9
modules/thing/src/main/java/com/thing/sys/biz/service/impl/SysUserServiceImpl.java

@ -7,7 +7,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryChain;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.thing.common.core.constants.Constant; import com.thing.common.core.constants.Constant;
import com.thing.common.core.enumeration.SuperAdminEnum; import com.thing.common.core.enumeration.SuperAdminEnum;
@ -67,17 +66,17 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUserEn
private final SysRoleService sysRoleService; private final SysRoleService sysRoleService;
private static final String WECHAT_BIND_PARAMS = "WECHAT_BIND_PARAMS"; private static final String WECHAT_BIND_PARAMS = "WECHAT_BIND_PARAMS";
@Value("${spring.title}")
@Value("${thing.title}")
private String title; private String title;
@Value("${spring.sign}")
@Value("${thing.sign}")
private String sign; private String sign;
@Value("${spring.technical}")
@Value("${thing.technical}")
private String technical ; private String technical ;
@Value("${spring.phone}")
@Value("${thing.phone}")
private String phone ; private String phone ;
@Override @Override

2
modules/thing/src/main/java/com/thing/sys/oss/service/impl/SysOssServiceImpl.java

@ -25,7 +25,7 @@ import java.util.stream.Collectors;
@Primary @Primary
public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOssEntity> implements SysOssService { public class SysOssServiceImpl extends BaseServiceImpl<SysOssMapper, SysOssEntity> implements SysOssService {
@Value("${spring.map-bucket}")
@Value("${thing.map-bucket}")
private String mapBucket; private String mapBucket;
@Override @Override

2
pom.xml

@ -40,7 +40,7 @@
<commons.beanutils.version>1.9.4</commons.beanutils.version> <commons.beanutils.version>1.9.4</commons.beanutils.version>
<easypoi.version>4.1.0</easypoi.version> <easypoi.version>4.1.0</easypoi.version>
<jakarta.validation.version>3.0.2</jakarta.validation.version> <jakarta.validation.version>3.0.2</jakarta.validation.version>
<mybatis-flex.version>1.9.5</mybatis-flex.version>
<mybatis-flex.version>1.9.7</mybatis-flex.version>
<clickhouse.version>0.5.0</clickhouse.version> <clickhouse.version>0.5.0</clickhouse.version>
<postgresql.driver.version>42.6.0</postgresql.driver.version> <postgresql.driver.version>42.6.0</postgresql.driver.version>
<mysql.version>8.2.0</mysql.version> <mysql.version>8.2.0</mysql.version>

Loading…
Cancel
Save