项目适配瀚高

This commit is contained in:
2025-12-25 19:20:05 +08:00
parent ceae2f0039
commit d12617f2a6
36 changed files with 590 additions and 404 deletions

View File

@@ -43,10 +43,12 @@
<scope>test</scope>
</dependency>
<!-- Mysql驱动 -->
<!-- 翰高 JDBC 驱动 -->
<!-- https://mvnrepository.com/artifact/com.highgo/HgdbJdbc -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<groupId>com.highgo</groupId>
<artifactId>HgdbJdbc</artifactId>
<version>6.2.4</version>
</dependency>
<!-- 核心模块-->

View File

@@ -1,7 +1,7 @@
package com.ltgk.smartFishingPort.web.controller.common;
import com.google.code.kaptcha.Producer;
import com.ltgk.smartFishingPort.common.config.RuoYiConfig;
import com.ltgk.smartFishingPort.common.config.SmartFishingPortConfig;
import com.ltgk.smartFishingPort.common.constant.CacheConstants;
import com.ltgk.smartFishingPort.common.constant.Constants;
import com.ltgk.smartFishingPort.common.core.domain.AjaxResult;
@@ -40,7 +40,7 @@ public class CaptchaController
@Autowired
private ISysConfigService configService;
/**
/*
* 生成验证码
*/
@GetMapping("/captchaImage")
@@ -62,7 +62,7 @@ public class CaptchaController
BufferedImage image = null;
// 生成验证码
String captchaType = RuoYiConfig.getCaptchaType();
String captchaType = SmartFishingPortConfig.getCaptchaType();
if ("math".equals(captchaType))
{
String capText = captchaProducerMath.createText();

View File

@@ -1,6 +1,6 @@
package com.ltgk.smartFishingPort.web.controller.common;
import com.ltgk.smartFishingPort.common.config.RuoYiConfig;
import com.ltgk.smartFishingPort.common.config.SmartFishingPortConfig;
import com.ltgk.smartFishingPort.common.core.domain.AjaxResult;
import com.ltgk.smartFishingPort.common.utils.StringUtils;
import com.ltgk.smartFishingPort.common.utils.file.FileUploadUtils;
@@ -53,7 +53,7 @@ public class CommonController
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
String filePath = RuoYiConfig.getDownloadPath() + fileName;
String filePath = SmartFishingPortConfig.getDownloadPath() + fileName;
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, realFileName);
@@ -78,7 +78,7 @@ public class CommonController
try
{
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
String filePath = SmartFishingPortConfig.getUploadPath();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName;
@@ -104,7 +104,7 @@ public class CommonController
try
{
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
String filePath = SmartFishingPortConfig.getUploadPath();
List<String> urls = new ArrayList<String>();
List<String> fileNames = new ArrayList<String>();
List<String> newFileNames = new ArrayList<String>();
@@ -146,7 +146,7 @@ public class CommonController
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
}
// 本地资源路径
String localPath = RuoYiConfig.getProfile();
String localPath = SmartFishingPortConfig.getProfile();
// 数据库资源地址
String downloadPath = localPath + FileUtils.stripPrefix(resource);
// 下载名称

View File

@@ -1,6 +1,6 @@
package com.ltgk.smartFishingPort.web.controller.system;
import com.ltgk.smartFishingPort.common.config.RuoYiConfig;
import com.ltgk.smartFishingPort.common.config.SmartFishingPortConfig;
import com.ltgk.smartFishingPort.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,7 +16,7 @@ public class SysIndexController
{
/** 系统基础配置 */
@Autowired
private RuoYiConfig ruoyiConfig;
private SmartFishingPortConfig ruoyiConfig;
/**
* 访问首页,提示语

View File

@@ -1,7 +1,7 @@
package com.ltgk.smartFishingPort.web.controller.system;
import com.ltgk.smartFishingPort.common.annotation.Log;
import com.ltgk.smartFishingPort.common.config.RuoYiConfig;
import com.ltgk.smartFishingPort.common.config.SmartFishingPortConfig;
import com.ltgk.smartFishingPort.common.core.controller.BaseController;
import com.ltgk.smartFishingPort.common.core.domain.AjaxResult;
import com.ltgk.smartFishingPort.common.core.domain.entity.SysUser;
@@ -123,13 +123,13 @@ public class SysProfileController extends BaseController
if (!file.isEmpty())
{
LoginUser loginUser = getLoginUser();
String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION, true);
String avatar = FileUploadUtils.upload(SmartFishingPortConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION, true);
if (userService.updateUserAvatar(loginUser.getUserId(), avatar))
{
String oldAvatar = loginUser.getUser().getAvatar();
if (StringUtils.isNotEmpty(oldAvatar))
{
FileUtils.deleteFile(RuoYiConfig.getProfile() + FileUtils.stripPrefix(oldAvatar));
FileUtils.deleteFile(SmartFishingPortConfig.getProfile() + FileUtils.stripPrefix(oldAvatar));
}
AjaxResult ajax = AjaxResult.success();
ajax.put("imgUrl", avatar);

View File

@@ -1,6 +1,6 @@
package com.ltgk.smartFishingPort.web.core.config;
import com.ltgk.smartFishingPort.common.config.RuoYiConfig;
import com.ltgk.smartFishingPort.common.config.SmartFishingPortConfig;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,7 +28,7 @@ public class SwaggerConfig
{
/** 系统基础配置 */
@Autowired
private RuoYiConfig ruoyiConfig;
private SmartFishingPortConfig ruoyiConfig;
/** 是否开启swagger */
@Value("${swagger.enabled}")

View File

@@ -13,7 +13,7 @@ spring:
# username: root
# password: password
master:
url: jdbc:mysql://119.167.138.11:3306/smart_fishing_port?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://119.167.138.11:3306/kechuang_erqi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: ltgk
password: litugaoke01!
# 从库数据源

View File

@@ -0,0 +1,108 @@
# 数据源配置
spring:
data:
solr:
host: http://198.16.74.212:8983/solr
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.highgo.jdbc.Driver # 翰高驱动(或 org.postgresql.Driver
druid:
# 主库数据源
master:
url: jdbc:highgo://198.16.74.212:5866/haishiju?currentSchema=public # 端口5866指定schema
username: kechuang # 翰高用户名
password: Litugaoke01! # 翰高密码d
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置连接超时时间
connectTimeout: 30000
# 配置网络超时时间
socketTimeout: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: ruoyi
login-password: 123456
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
url:
picFile: http://198.16.74.209:6060
sdk:
loginDHUrl: http://192.168.1.18:6450/dhsdk/rest/sdk/init
attachTrafficDHUrl: http://192.168.1.18:6450/dhsdk/rest/sdk/attachTraffic
attachAlarmChanDHByAccountUrl: http://localhost:6450/dhsdk/rest/sdk/attachAlarmChanByAccount
attachAlarmChanHKByAccountUrl: http://localhost:6350/hksdk/rest/sdk/attachAlarmChanByAccount
hk:
getPtzCfgUrl: http://198.16.74.211:6350/hksdk/rest/sdk/getPtzCfg
setPtzCfgUrl: http://198.16.74.211:6350/hksdk/rest/sdk/setPtzCfg
setupAlarmChanUrl: http://198.16.74.211:6350/hksdk/rest/sdk/setupAlarmChan
file:
base: /file
image: /file/image
kml: /files/kml/
sysLog:
logFilePath: file/log/ # 系统操作日志备份文件夹
path:
rootPath: file/ # 文件存储的跟路径,绝对路径-直接使用,相对路径-项目运行目录下
filePattern: YYYY-MM/ # 存储目录的格式,日期格式YYYYMMddHHmmss,按照日期格式化来进行,为根目录下的一级
mysqlhome: J://MYSQL5.7//bin//
sql: ${server.servlet.context-path}/file/sql
#数据库备份时间间隔
database:
backup:
interval: 3 # 单位天
jwt:
tokenKey: Auth
duration: 18000
drone:
url: http://198.16.74.210:30812/openapi/v0.1/
key: eyJhbGciOiJIUzUxMiIsImNyaXQiOlsidHlwIiwiYWxnIiwia2lkIl0sImtpZCI6IjU3YmQyNmEwLTYyMDktNGE5My1hNjg4LWY4NzUyYmU1ZDE5MSIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiIiwiZXhwIjoyMDc1OTQ3NzIyLCJuYmYiOjE3NjA0MTQ5MjIsIm9yZ2FuaXphdGlvbl91dWlkIjoiOWRmMjlmYTgtNGI5OS00MThlLWJhMmQtMGY5ZWY5ZWVlMzkyIiwicHJvamVjdF91dWlkIjoiIiwic3ViIjoiZmgyIiwidXNlcl9pZCI6IjE3NjA0MTQxMDkzNTcwMDI0MjkifQ.DC_aS37W2fkqOjCtfvysDfhTn-4XVn3_IrXBnPD9rICGyrIBKBG3oPldeW_pqele5H_gCn1EgM0KXcbDgvq-dw
url2: http://198.16.74.210:30812/openapi/v0.9/
url3: http://198.16.74.210:63302/
rocketmq:
name-server: 198.16.74.211:9876
producer:
group: collect
topic: point-topic
# 温州大致范围
geoJson: 119.6203422546387,27.68292003880313;119.800415040,27.962869020;119.948730470,27.999251730;120.132751460,27.999251730;120.305786130,28.011376570;120.375137330,28.144659670;120.337371830,28.336417060;120.321578980,28.378110320;120.312652590,28.425825960;120.336685180,28.440921370;120.4183960,28.574271040;120.443801880,28.592962710;120.490493770,28.58874230;120.568771360,28.547132060;120.628509520,28.584521720;120.701293950,28.619487110;120.747299190,28.62069260;120.797424320,28.596580060;120.957412720,28.520589410;121.098175050,28.544719370;121.168212890,28.518779440;121.259536740,28.41072840;121.242657720,28.38772010;121.222457890,28.374787540;121.214561460,28.349410190;121.210098270,28.325840080;121.202459340,28.273166160;121.153106690,28.266287160;121.149673460,28.214869550;121.139373780,28.153741130;121.058349610,28.038652480;121.127700810,28.013195180;121.260223390,27.99682660;121.198425290,27.827842780;121.18194580,27.72486720;121.254730220,27.610538530;121.140747070,27.414442970;120.886688230,27.004078760;120.40191650,27.137368360;120.252227780,27.372986830;120.0503540,27.315654240;119.766082760,27.286366590;119.6733856201172,27.43455578758766;119.6150207519531,27.59350062636446;119.6126174926758,27.63396131658914;119.6151924133301,27.65935568886939;119.6203422546387,27.68292003880313

View File

@@ -1,5 +1,5 @@
# 项目相关配置
smartFishingPort:
smart-fishing-port:
# 名称
name: SmartFishingPort
# 版本
@@ -19,7 +19,7 @@ server:
port: 6061
servlet:
# 应用的访问路径
context-path: /
context-path: /api
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
@@ -36,6 +36,10 @@ logging:
level:
com.ltgk.smartFishingPort: debug
org.springframework: warn
# SolrJ 核心请求日志打印完整请求URL和参数
org.apache.solr.client.solrj.impl.HttpSolrClient: DEBUG
# Spring Data Solr 核心日志(可选,打印构建的查询对象)
org.springframework.data.solr.core: DEBUG
# 用户配置
user:
@@ -52,7 +56,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: druid
active: highgoprod
# 文件上传
servlet:
multipart:
@@ -68,11 +72,11 @@ spring:
# redis 配置
redis:
# 地址
host: 119.167.138.11
host: 198.16.74.211
# 端口默认为6379
port: 6379
# 数据库索引
database: 0
database: 1
# 密码
password: litugaoke01!
# 连接超时时间
@@ -117,7 +121,7 @@ swagger:
# 是否开启swagger
enabled: true
# 请求前缀
pathMapping: /dev-api
pathMapping: /api
# 防盗链配置
referer:

View File

@@ -1,31 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/smartFishingPortApplication/logs" />
<property name="log.path" value="./logs"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
@@ -33,16 +33,16 @@
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
@@ -50,16 +50,16 @@
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用户访问日志输出 -->
<!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file>
<file>${log.path}/sys-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
@@ -70,23 +70,23 @@
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ltgk.smartFishingPort" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<!-- 系统模块日志级别控制 -->
<logger name="com.ltgk.smartFishingPort" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
<appender-ref ref="console"/>
</root>
<!--系统用户操作日志-->
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
<!--系统用户操作日志-->
<logger name="sys-user" level="info">
<appender-ref ref="sys-user"/>
</logger>