更新框架

This commit is contained in:
2026-01-08 11:01:01 +08:00
parent 732bae82fb
commit bec147e5f1
19 changed files with 50 additions and 161 deletions

24
ry.bat
View File

@@ -1,21 +1,21 @@
@echo off
rem jarƽ<72><C6BD>Ŀ¼
set AppName=ruoyi.jar
rem jarƽ<72><C6BD>Ŀ¼
set AppName=worn.jar
rem JVM<56><4D><EFBFBD><EFBFBD>
rem JVM<56><4D><EFBFBD><EFBFBD>
set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
ECHO.
ECHO. [1] <20><><EFBFBD><EFBFBD>%AppName%
ECHO. [2] <20>ر<EFBFBD>%AppName%
ECHO. [3] <20><><EFBFBD><EFBFBD>%AppName%
ECHO. [4] <20><><EFBFBD><EFBFBD>״̬ %AppName%
ECHO. [5] <20><> <20><>
ECHO. [1] <20><><EFBFBD><EFBFBD>%AppName%
ECHO. [2] <20>ر<EFBFBD>%AppName%
ECHO. [3] <20><><EFBFBD><EFBFBD>%AppName%
ECHO. [4] <20><><EFBFBD><EFBFBD>״̬ %AppName%
ECHO. [5] <20><> <20><>
ECHO.
ECHO.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
ECHO.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>:
set /p ID=
IF "%id%"=="1" GOTO start
IF "%id%"=="2" GOTO stop
@@ -35,11 +35,11 @@ PAUSE
start javaw %JVM_OPTS% -jar %AppName%
echo starting<6E><67><EFBFBD><EFBFBD>
echo starting<6E><67><EFBFBD><EFBFBD>
echo Start %AppName% success...
goto:eof
rem <20><><EFBFBD><EFBFBD>stopͨ<70><CDA8>jps<70><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pid<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
rem <20><><EFBFBD><EFBFBD>stopͨ<70><CDA8>jps<70><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
:stop
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
set pid=%%a
@@ -48,7 +48,7 @@ rem
if not defined pid (echo process %AppName% does not exists) else (
echo prepare to kill %image_name%
echo start kill %pid% ...
rem <20><><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD>ID<49><44>kill<6C><6C><EFBFBD><EFBFBD>
rem <20><><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD>ID<49><44>kill<6C><6C><EFBFBD><EFBFBD>
taskkill /f /pid %pid%
)
goto:eof

2
ry.sh
View File

@@ -1,6 +1,6 @@
#!/bin/sh
# ./ry.sh start 启动 stop 停止 restart 重启 status 状态
AppName=target/ruoyi.jar
AppName=target/worn.jar
# JVM参数
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"

View File

@@ -158,16 +158,16 @@ public class Constants
/**
* 自动识别json对象白名单配置仅允许解析的包名范围越小越安全
*/
public static final String[] JSON_WHITELIST_STR = { "com.ruoyi" };
public static final String[] JSON_WHITELIST_STR = { "com.shzg" };
/**
* 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)
*/
public static final String[] JOB_WHITELIST_STR = { "com.ruoyi.framework.task" };
public static final String[] JOB_WHITELIST_STR = { "com.shzg.framework.task" };
/**
* 定时任务违规的字符
*/
public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.framework.config", "com.ruoyi.project.tool" };
"org.springframework", "org.apache", "com.shzg.common.utils.file", "com.shzg.framework.config", "com.shzg.project.tool" };
}

View File

@@ -14,7 +14,7 @@ import com.shzg.common.utils.DateUtils;
import com.shzg.common.utils.StringUtils;
import com.shzg.common.utils.uuid.IdUtils;
import com.shzg.common.utils.uuid.Seq;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
/**
* 文件上传工具类
@@ -36,7 +36,7 @@ public class FileUploadUtils
/**
* 默认上传的地址
*/
private static String defaultBaseDir = RuoYiConfig.getProfile();
private static String defaultBaseDir = WornConfig.getProfile();
public static void setDefaultBaseDir(String defaultBaseDir)
{
@@ -170,7 +170,7 @@ public class FileUploadUtils
public static final String getPathFileName(String uploadDir, String fileName) throws IOException
{
int dirLastIndex = RuoYiConfig.getProfile().length() + 1;
int dirLastIndex = WornConfig.getProfile().length() + 1;
String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
}

View File

@@ -18,7 +18,7 @@ import com.shzg.common.constant.Constants;
import com.shzg.common.utils.DateUtils;
import com.shzg.common.utils.StringUtils;
import com.shzg.common.utils.uuid.IdUtils;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
/**
* 文件处理工具类
@@ -74,7 +74,7 @@ public class FileUtils
*/
public static String writeImportBytes(byte[] data) throws IOException
{
return writeBytes(data, RuoYiConfig.getImportPath());
return writeBytes(data, WornConfig.getImportPath());
}
/**

View File

@@ -11,7 +11,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.shzg.common.constant.Constants;
import com.shzg.common.utils.StringUtils;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
/**
* 图片处理工具类
@@ -79,7 +79,7 @@ public class ImageUtils
else
{
// 本机地址
String localPath = RuoYiConfig.getProfile();
String localPath = WornConfig.getProfile();
String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX);
in = new FileInputStream(downloadPath);
}

View File

@@ -7,7 +7,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.shzg.common.constant.Constants;
import com.shzg.common.utils.StringUtils;
import com.shzg.common.utils.http.HttpUtils;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
/**
* 获取地址类
@@ -31,7 +31,7 @@ public class AddressUtils
{
return "内网IP";
}
if (RuoYiConfig.isAddressEnabled())
if (WornConfig.isAddressEnabled())
{
try
{

View File

@@ -83,7 +83,7 @@ import com.shzg.framework.aspectj.lang.annotation.Excel;
import com.shzg.framework.aspectj.lang.annotation.Excel.ColumnType;
import com.shzg.framework.aspectj.lang.annotation.Excel.Type;
import com.shzg.framework.aspectj.lang.annotation.Excels;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
import com.shzg.framework.web.domain.AjaxResult;
/**
@@ -1482,7 +1482,7 @@ public class ExcelUtil<T>
*/
public String getAbsoluteFile(String filename)
{
String downloadPath = RuoYiConfig.getDownloadPath() + filename;
String downloadPath = WornConfig.getDownloadPath() + filename;
File desc = new File(downloadPath);
if (!desc.getParentFile().exists())
{

View File

@@ -63,7 +63,7 @@ public class CaptchaConfig
// KAPTCHA_SESSION_KEY
properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCodeMath");
// 验证码文本生成器
properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.ruoyi.framework.config.KaptchaTextCreator");
properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.shzg.framework.config.KaptchaTextCreator");
// 验证码文本字符间距 默认为2
properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_SPACE, "3");
// 验证码文本字符长度 默认为5

View File

@@ -30,7 +30,7 @@ public class ResourcesConfig implements WebMvcConfigurer
{
/** 本地文件上传路径 */
registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**")
.addResourceLocations("file:" + RuoYiConfig.getProfile() + "/");
.addResourceLocations("file:" + WornConfig.getProfile() + "/");
/** swagger配置 */
registry.addResourceHandler("/swagger-ui/**")

View File

@@ -1,111 +0,0 @@
package com.shzg.framework.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* 读取项目相关配置
*
* @author ruoyi
*/
@Component
@ConfigurationProperties(prefix = "ruoyi")
public class RuoYiConfig
{
/** 项目名称 */
private String name;
/** 版本 */
private String version;
/** 版权年份 */
private String copyrightYear;
/** 上传路径 */
private static String profile;
/** 获取地址开关 */
private static boolean addressEnabled;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getVersion()
{
return version;
}
public void setVersion(String version)
{
this.version = version;
}
public String getCopyrightYear()
{
return copyrightYear;
}
public void setCopyrightYear(String copyrightYear)
{
this.copyrightYear = copyrightYear;
}
public static String getProfile()
{
return profile;
}
public void setProfile(String profile)
{
RuoYiConfig.profile = profile;
}
public static boolean isAddressEnabled()
{
return addressEnabled;
}
public void setAddressEnabled(boolean addressEnabled)
{
RuoYiConfig.addressEnabled = addressEnabled;
}
/**
* 获取导入上传路径
*/
public static String getImportPath()
{
return getProfile() + "/import";
}
/**
* 获取头像上传路径
*/
public static String getAvatarPath()
{
return getProfile() + "/avatar";
}
/**
* 获取下载路径
*/
public static String getDownloadPath()
{
return getProfile() + "/download/";
}
/**
* 获取上传路径
*/
public static String getUploadPath()
{
return getProfile() + "/upload";
}
}

View File

@@ -31,7 +31,7 @@ public class SwaggerConfig
{
/** 系统基础配置 */
@Autowired
private RuoYiConfig ruoyiConfig;
private WornConfig wornConfig;
/** 是否开启swagger */
@Value("${swagger.enabled}")
@@ -112,13 +112,13 @@ public class SwaggerConfig
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("标题:若依管理系统_接口文档")
.title("标题:Worn管理系统_接口文档")
// 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息
.contact(new Contact(ruoyiConfig.getName(), null, null))
.contact(new Contact(wornConfig.getName(), null, null))
// 版本
.version("版本号:" + ruoyiConfig.getVersion())
.version("版本号:" + wornConfig.getVersion())
.build();
}
}

View File

@@ -16,7 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
import com.shzg.common.utils.StringUtils;
import com.shzg.common.utils.file.FileUploadUtils;
import com.shzg.common.utils.file.FileUtils;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
import com.shzg.framework.config.ServerConfig;
import com.shzg.framework.web.domain.AjaxResult;
@@ -52,7 +52,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 = WornConfig.getDownloadPath() + fileName;
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, realFileName);
@@ -77,7 +77,7 @@ public class CommonController
try
{
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
String filePath = WornConfig.getUploadPath();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName;
@@ -103,7 +103,7 @@ public class CommonController
try
{
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
String filePath = WornConfig.getUploadPath();
List<String> urls = new ArrayList<String>();
List<String> fileNames = new ArrayList<String>();
List<String> newFileNames = new ArrayList<String>();
@@ -145,7 +145,7 @@ public class CommonController
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
}
// 本地资源路径
String localPath = RuoYiConfig.getProfile();
String localPath = WornConfig.getProfile();
// 数据库资源地址
String downloadPath = localPath + FileUtils.stripPrefix(resource);
// 下载名称

View File

@@ -4,19 +4,19 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.shzg.common.utils.StringUtils;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
/**
* 首页
*
* @author ruoyi
* @author shzg
*/
@RestController
public class SysIndexController
{
/** 系统基础配置 */
@Autowired
private RuoYiConfig ruoyiConfig;
private WornConfig wornConfig;
/**
* 访问首页,提示语
@@ -24,6 +24,6 @@ public class SysIndexController
@RequestMapping("/")
public String index()
{
return StringUtils.format("欢迎使用{}后台管理框架当前版本v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion());
return StringUtils.format("欢迎使用{}后台管理框架当前版本v{},请通过前端地址访问。", wornConfig.getName(), wornConfig.getVersion());
}
}

View File

@@ -18,7 +18,7 @@ import com.shzg.common.utils.file.FileUtils;
import com.shzg.common.utils.file.MimeTypeUtils;
import com.shzg.framework.aspectj.lang.annotation.Log;
import com.shzg.framework.aspectj.lang.enums.BusinessType;
import com.shzg.framework.config.RuoYiConfig;
import com.shzg.framework.config.WornConfig;
import com.shzg.framework.security.LoginUser;
import com.shzg.framework.security.service.TokenService;
import com.shzg.framework.web.controller.BaseController;
@@ -128,13 +128,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(WornConfig.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(WornConfig.getProfile() + FileUtils.stripPrefix(oldAvatar));
}
AjaxResult ajax = AjaxResult.success();
ajax.put("imgUrl", avatar);

View File

@@ -48,7 +48,7 @@ spring:
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: ruoyi
login-username: worn
login-password: 123456
filter:
stat:

View File

@@ -139,9 +139,9 @@ xss:
# 代码生成
gen:
# 作者
author: ruoyi
author: shzg
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.ruoyi.project.system
packageName: com.shzg.project.system
# 自动去除表前缀默认是true
autoRemovePre: false
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)

View File

@@ -1,4 +1,4 @@
Application Version: ${ruoyi.version}
Application Version: ${worn.version}
Spring Boot Version: ${spring-boot.version}
////////////////////////////////////////////////////////////////////
// _ooOoo_ //

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/ruoyi/logs" />
<property name="log.path" value="/home/worn/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />