chore(deps): 更新Spring Boot版本并优化项目配置
- 将Spring Boot父版本从3.5.9升级到3.5.10 - 修复文件上传路径中用户名前缺少斜杠的问题
This commit is contained in:
+1
-1
@@ -50,7 +50,7 @@ public class KitFileLocalUploadHelper {
|
||||
if (StrUtil.isBlank(currentUserName)) {
|
||||
return PATH_MAC.replace("${appName}", SystemConst.CURRENT_APP_NAME).replace("${username}", "");
|
||||
}
|
||||
return PATH_MAC.replace("${appName}", SystemConst.CURRENT_APP_NAME).replace("${username}", currentUserName);
|
||||
return PATH_MAC.replace("${appName}", SystemConst.CURRENT_APP_NAME).replace("${username}", "/" + currentUserName);
|
||||
}
|
||||
return PATH_LINUX.replace("${appName}", SystemConst.CURRENT_APP_NAME);
|
||||
}
|
||||
|
||||
+4
-4
@@ -62,12 +62,12 @@ public class KitWsServer {
|
||||
* @param message 客户端发送过来的消息
|
||||
*/
|
||||
@OnMessage
|
||||
public void onMessage(String message, Session session) {
|
||||
public void onMessage(String message, Session session) throws IOException {
|
||||
KitWsMessage wsMessage = JSON.parseObject(message, KitWsMessage.class);
|
||||
String bizCode = wsMessage.getBizCode();
|
||||
Object data = wsMessage.getData();
|
||||
log.info("收到来 sid={} 的信息: message={}, bizCode={}, data={}", sid, message, bizCode,
|
||||
JSON.toJSONString(data));
|
||||
log.info("收到来 sid={} 的信息: message={}, bizCode={}, data={}", sid, message, bizCode, JSON.toJSONString(data));
|
||||
session.getBasicRemote().sendText(message);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,7 +102,7 @@ public class KitWsServer {
|
||||
/**
|
||||
* 精准推送消息
|
||||
*/
|
||||
public void sendMessage(KitWsMessage message, @PathParam("sid") String sid) {
|
||||
public void sendMessage(KitWsMessage message, @PathParam("sid") String sid) throws IOException {
|
||||
String body = JSON.toJSONString(message);
|
||||
// log.info("推送消息到{}, 推送内容:{}", sid, message);
|
||||
try {
|
||||
|
||||
+8
@@ -71,6 +71,14 @@ public class SystemMenuController {
|
||||
return ResponseEntity.ok(systemMenuTbs);
|
||||
}
|
||||
|
||||
@ApiOperation("返回全部的菜单")
|
||||
@PostMapping(value = "/listRoleMenuByPid")
|
||||
@PreAuthorize("@el.check('menu:list','roles:list')")
|
||||
public ResponseEntity<List<SystemMenuTb>> listRoleMenuByPid(@RequestParam Long pid) {
|
||||
List<SystemMenuTb> systemMenuTbs = systemMenuService.listMenuByPid(pid, true);
|
||||
return ResponseEntity.ok(systemMenuTbs);
|
||||
}
|
||||
|
||||
@ApiOperation("根据菜单ID返回所有子节点ID, 包含自身ID")
|
||||
@PostMapping(value = "/listChildMenuSetByMenuId")
|
||||
@PreAuthorize("@el.check('menu:list','roles:list')")
|
||||
|
||||
@@ -25,7 +25,7 @@ import java.util.List;
|
||||
public class GenCode {
|
||||
|
||||
private static final String ADDR = "127.0.0.1";
|
||||
private static final Integer PORT = 23306;
|
||||
private static final Integer PORT = 3306;
|
||||
private static final String DATABASE_NAME = "cutejava";
|
||||
private static final String DATABASE_USER = "root";
|
||||
private static final String DATABASE_PWD = "kd123456";
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2021-2026 Odboy
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.odboy.util;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class KitDateUtilTest {
|
||||
|
||||
@Test
|
||||
public void testGetWeekDay() {
|
||||
SimpleDateFormat simpleDateformat = new SimpleDateFormat("E");
|
||||
assertEquals(simpleDateformat.format(new Date()), KitDateUtil.getWeekDay());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Copyright 2021-2026 Odboy
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.odboy.util;
|
||||
|
||||
/**
|
||||
* 钉钉 Teambition 实际工时数计算
|
||||
*/
|
||||
public class WorkTimeTests {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// 总工作时长(时)
|
||||
double totalHour = 11;
|
||||
// 实际工作时长(天),一天8小时工作制
|
||||
double actualHour = totalHour / 8.0;
|
||||
System.err.println("actualHour=" + actualHour + " 天");
|
||||
}
|
||||
}
|
||||
@@ -19,8 +19,8 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<!-- <version>3.3.13</version>-->
|
||||
<version>3.5.9</version>
|
||||
<!-- <version>3.3.13</version>-->
|
||||
<version>3.5.10</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
@@ -40,7 +40,6 @@
|
||||
<undertow.version>2.3.22.Final</undertow.version>
|
||||
<freemarker.version>2.3.34</freemarker.version>
|
||||
<p6spy.version>3.9.1</p6spy.version>
|
||||
<knife4j.version>4.5.0</knife4j.version>
|
||||
<mysql.version>9.5.0</mysql.version>
|
||||
<ip2region.version>3.5.7</ip2region.version>
|
||||
<!-- <springaop.version>1.9.7</springaop.version>-->
|
||||
@@ -189,7 +188,7 @@
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
|
||||
<version>${knife4j.version}</version>
|
||||
<version>4.5.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Mysql依赖包 -->
|
||||
|
||||
@@ -19,7 +19,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.context;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
+8
-4
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.context;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@@ -38,10 +39,13 @@ public class BootApplication {
|
||||
String port = env.getProperty("server.port");
|
||||
String path = StrUtil.isEmpty(env.getProperty("config.servlet.context-path")) ? ""
|
||||
: env.getProperty("config.servlet.context-path");
|
||||
log.info("\n----------------------------------------------------------\n\t" +
|
||||
"Application is running! Access URLs:\n\t" + "Local: \t\thttp://localhost:" + port + path + "/\n\t" +
|
||||
"External: \thttp://" + ip + ":" + port + path + "/\n\t" + "Swagger文档: \thttp://" + ip + ":" + port +
|
||||
path + "/doc.html\n" + "----------------------------------------------------------");
|
||||
log.info(
|
||||
"----------------------------------------------------------\n"+
|
||||
"\tApplication is running! Access URLs:\n"+
|
||||
"\tLocal: \t\thttp://localhost:{}{}\n"+
|
||||
"\tExternal: \thttp://{}:{}{}\n"+
|
||||
"\tSwagger文档: \thttp://{}:{}{}/doc.html\n"+
|
||||
"----------------------------------------------------------", port, path, ip, port, path, ip, port, path);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.logging;
|
||||
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.monitor.service;
|
||||
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.mybatisplus.config;
|
||||
|
||||
/**
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.mybatisplus.config;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.mybatisplus.config;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.mybatisplus.config;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.mybatisplus.config;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
|
||||
+4
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.mybatisplus.config;
|
||||
|
||||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
|
||||
@@ -49,12 +50,15 @@ public class RemoveDruidAdConfig {
|
||||
*/
|
||||
@Bean
|
||||
public FilterRegistrationBean<Filter> removeDruidAdFilterRegistrationBean(DruidStatProperties properties) {
|
||||
|
||||
// 获取web监控页面的参数
|
||||
DruidStatProperties.StatViewServlet config = properties.getStatViewServlet();
|
||||
// 提取common.js的配置路径
|
||||
String pattern = config.getUrlPattern() != null ? config.getUrlPattern() : "/druid/*";
|
||||
String commonJsPattern = pattern.replaceAll("\\*", "js/common.js");
|
||||
|
||||
final String filePath = "support/http/resources/js/common.js";
|
||||
|
||||
//创建filter进行过滤
|
||||
Filter filter = new Filter() {
|
||||
@Override
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.quartz.config;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.server.config;
|
||||
|
||||
import cn.odboy.framework.properties.AppProperties;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.server.converters;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
|
||||
+1
@@ -47,6 +47,7 @@ public class UndertowWebSocketConfig implements WebServerFactoryCustomizer<Under
|
||||
int bufferSize = 1024;
|
||||
int maxPoolSize = calculateMaxPoolSize(processorCount);
|
||||
int threadLocalCacheSize = calculateThreadLocalCacheSize(processorCount);
|
||||
|
||||
factory.addDeploymentInfoCustomizers(deploymentInfo -> {
|
||||
WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();
|
||||
webSocketDeploymentInfo.setBuffers(
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.websocket.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.websocket.context;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.websocket.context;
|
||||
|
||||
import cn.odboy.base.KitObject;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.websocket.model;
|
||||
|
||||
import cn.odboy.base.KitObject;
|
||||
|
||||
+1
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.framework.websocket.util;
|
||||
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
|
||||
-1
@@ -17,7 +17,6 @@ package cn.odboy.system.controller;
|
||||
|
||||
import cn.odboy.base.KitPageArgs;
|
||||
import cn.odboy.base.KitPageResult;
|
||||
import cn.odboy.base.KitSelectOptionVo;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.model.request.SystemQueryUserArgs;
|
||||
import cn.odboy.system.dal.model.request.SystemUpdateUserPasswordArgs;
|
||||
|
||||
+1
-2
@@ -65,8 +65,7 @@ public class SystemAuthService {
|
||||
KitValidUtil.isNull(loginArgs);
|
||||
|
||||
// 密码解密
|
||||
String password =
|
||||
KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), loginArgs.getPassword());
|
||||
String password = KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), loginArgs.getPassword());
|
||||
// 校验验证码
|
||||
systemCaptchaService.validate(loginArgs.getUuid(), loginArgs.getCode());
|
||||
// 查询用户信息
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy;
|
||||
|
||||
import cn.odboy.framework.mybatisplus.core.KitMpCmdGenUtil;
|
||||
@@ -23,8 +24,8 @@ import java.util.List;
|
||||
*/
|
||||
public class GenCode {
|
||||
|
||||
private static final String ADDR = "192.168.100.128";
|
||||
private static final Integer PORT = 23306;
|
||||
private static final String ADDR = "127.0.0.1";
|
||||
private static final Integer PORT = 3306;
|
||||
private static final String DATABASE_NAME = "cutejava";
|
||||
private static final String DATABASE_USER = "root";
|
||||
private static final String DATABASE_PWD = "kd123456";
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy;
|
||||
|
||||
import cn.odboy.framework.monitor.service.KitHealthCheckPointService;
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
@@ -35,12 +36,15 @@ public class MyBatisMapperTests {
|
||||
public void testMapper1() {
|
||||
// SELECT * FROM system_user WHERE (create_time > '2025-08-18T14:48:18.400+0800');
|
||||
systemUserMapper.selectList(new LambdaQueryWrapper<SystemUserTb>().gt(SystemUserTb::getCreateTime, new Date()));
|
||||
|
||||
// SELECT * FROM system_user WHERE (create_time > '2025-08-18T14:50:16.786+0800');
|
||||
systemUserMapper.selectList(
|
||||
new LambdaQueryWrapper<SystemUserTb>().gt(SystemUserTb::getCreateTime, DateTime.now()));
|
||||
|
||||
// SELECT * FROM system_user WHERE (create_time > '2025-08-18 14:53:46');
|
||||
systemUserMapper.selectList(new LambdaQueryWrapper<SystemUserTb>().gt(SystemUserTb::getCreateTime,
|
||||
DateUtil.formatDateTime(new Date())));
|
||||
|
||||
// SELECT * FROM system_user WHERE (create_time > '2025-08-18');
|
||||
systemUserMapper.selectList(
|
||||
new LambdaQueryWrapper<SystemUserTb>().gt(SystemUserTb::getCreateTime, DateUtil.formatDate(new Date())));
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.util;
|
||||
|
||||
import static cn.odboy.util.KitDesEncryptUtil.desDecrypt;
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.odboy.util;
|
||||
|
||||
import static cn.odboy.util.KitFileUtil.getPrefix;
|
||||
|
||||
Reference in New Issue
Block a user