diff --git a/ruoyi-admin/pom.xml b/jiajiakang-admin/pom.xml similarity index 84% rename from ruoyi-admin/pom.xml rename to jiajiakang-admin/pom.xml index ae5fd0bf3..2ee6d463b 100644 --- a/ruoyi-admin/pom.xml +++ b/jiajiakang-admin/pom.xml @@ -1,114 +1,114 @@ - - - - ruoyi - com.ruoyi - 3.4.0 - - 4.0.0 - jar - ruoyi-admin - - - web服务入口 - - - - - - - org.springframework.boot - spring-boot-devtools - true - - - - - io.springfox - springfox-swagger2 - - - - - io.swagger - swagger-annotations - 1.5.21 - - - - io.swagger - swagger-models - 1.5.21 - - - - - io.springfox - springfox-swagger-ui - - - - - mysql - mysql-connector-java - - - - - com.ruoyi - ruoyi-framework - - - - - com.ruoyi - ruoyi-quartz - - - - - com.ruoyi - ruoyi-generator - - - - - com.ruoyi - ruoyi-demo - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - 2.1.1.RELEASE - - true - - - - - repackage - - - - - - org.apache.maven.plugins - maven-war-plugin - 3.1.0 - - false - ${project.artifactId} - - - - ${project.artifactId} - - + + + + jiajiakang + com.jiajiakang + 3.4.0 + + 4.0.0 + jar + jiajiakang-admin + + + web服务入口 + + + + + + + org.springframework.boot + spring-boot-devtools + true + + + + + io.springfox + springfox-swagger2 + + + + + io.swagger + swagger-annotations + 1.5.21 + + + + io.swagger + swagger-models + 1.5.21 + + + + + io.springfox + springfox-swagger-ui + + + + + mysql + mysql-connector-java + + + + + com.jiajiakang + jiajiakang-framework + + + + + com.jiajiakang + jiajiakang-quartz + + + + + com.jiajiakang + jiajiakang-generator + + + + + com.jiajiakang + jiajiakang-demo + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + 2.1.1.RELEASE + + true + + + + + repackage + + + + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + false + ${project.artifactId} + + + + ${project.artifactId} + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/jiajiakang-admin/src/main/java/com/jiajiakang/RuoYiApplication.java similarity index 96% rename from ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/RuoYiApplication.java index 4c87cc8d8..421f08ec3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/RuoYiApplication.java @@ -1,4 +1,4 @@ -package com.ruoyi; +package com.jiajiakang; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiServletInitializer.java b/jiajiakang-admin/src/main/java/com/jiajiakang/RuoYiServletInitializer.java similarity index 95% rename from ruoyi-admin/src/main/java/com/ruoyi/RuoYiServletInitializer.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/RuoYiServletInitializer.java index 6de67dc76..15b1306a6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiServletInitializer.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/RuoYiServletInitializer.java @@ -1,4 +1,4 @@ -package com.ruoyi; +package com.jiajiakang; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/common/CaptchaController.java similarity index 93% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/common/CaptchaController.java index b170b1d4f..66e8cd53d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/common/CaptchaController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.common; +package com.jiajiakang.web.controller.common; import java.util.concurrent.TimeUnit; @@ -11,14 +11,14 @@ import cn.hutool.captcha.generator.MathGenerator; import cn.hutool.captcha.generator.RandomGenerator; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; -import com.ruoyi.common.core.text.Convert; +import com.jiajiakang.common.core.text.Convert; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.redis.RedisCache; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.redis.RedisCache; import javax.annotation.Resource; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/common/CommonController.java similarity index 90% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/common/CommonController.java index e0c728fac..9568f8e01 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/common/CommonController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.common; +package com.jiajiakang.web.controller.common; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -10,13 +10,13 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.file.FileUploadUtils; -import com.ruoyi.common.utils.file.FileUtils; -import com.ruoyi.framework.config.ServerConfig; +import com.jiajiakang.common.config.RuoYiConfig; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.file.FileUploadUtils; +import com.jiajiakang.common.utils.file.FileUtils; +import com.jiajiakang.framework.config.ServerConfig; /** * 通用请求处理 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/CacheController.java similarity index 91% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/CacheController.java index fa9c623f2..f2abb0b98 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/CacheController.java @@ -1,53 +1,53 @@ -package com.ruoyi.web.controller.monitor; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisCallback; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.utils.StringUtils; - -/** - * 缓存监控 - * - * @author ruoyi - */ -@RestController -@RequestMapping("/monitor/cache") -public class CacheController -{ - @Autowired - private RedisTemplate redisTemplate; - - @PreAuthorize("@ss.hasPermi('monitor:cache:list')") - @GetMapping() - public AjaxResult getInfo() throws Exception - { - Properties info = (Properties) redisTemplate.execute((RedisCallback) connection -> connection.info()); - Properties commandStats = (Properties) redisTemplate.execute((RedisCallback) connection -> connection.info("commandstats")); - Object dbSize = redisTemplate.execute((RedisCallback) connection -> connection.dbSize()); - - Map result = new HashMap<>(3); - result.put("info", info); - result.put("dbSize", dbSize); - - List> pieList = new ArrayList<>(); - commandStats.stringPropertyNames().forEach(key -> { - Map data = new HashMap<>(2); - String property = commandStats.getProperty(key); - data.put("name", StringUtils.removeStart(key, "cmdstat_")); - data.put("value", StringUtils.substringBetween(property, "calls=", ",usec")); - pieList.add(data); - }); - result.put("commandStats", pieList); - return AjaxResult.success(result); - } -} +package com.jiajiakang.web.controller.monitor; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisCallback; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.utils.StringUtils; + +/** + * 缓存监控 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/cache") +public class CacheController +{ + @Autowired + private RedisTemplate redisTemplate; + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @GetMapping() + public AjaxResult getInfo() throws Exception + { + Properties info = (Properties) redisTemplate.execute((RedisCallback) connection -> connection.info()); + Properties commandStats = (Properties) redisTemplate.execute((RedisCallback) connection -> connection.info("commandstats")); + Object dbSize = redisTemplate.execute((RedisCallback) connection -> connection.dbSize()); + + Map result = new HashMap<>(3); + result.put("info", info); + result.put("dbSize", dbSize); + + List> pieList = new ArrayList<>(); + commandStats.stringPropertyNames().forEach(key -> { + Map data = new HashMap<>(2); + String property = commandStats.getProperty(key); + data.put("name", StringUtils.removeStart(key, "cmdstat_")); + data.put("value", StringUtils.substringBetween(property, "calls=", ",usec")); + pieList.add(data); + }); + result.put("commandStats", pieList); + return AjaxResult.success(result); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ServerController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/ServerController.java similarity index 80% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ServerController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/ServerController.java index cc805ad89..8b4417c76 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ServerController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/ServerController.java @@ -1,11 +1,11 @@ -package com.ruoyi.web.controller.monitor; +package com.jiajiakang.web.controller.monitor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.framework.web.domain.Server; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.framework.web.domain.Server; /** * 服务器监控 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysLogininforController.java similarity index 81% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysLogininforController.java index 339f24286..e4c028110 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysLogininforController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.monitor; +package com.jiajiakang.web.controller.monitor; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -8,14 +8,14 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.domain.SysLogininfor; -import com.ruoyi.system.service.ISysLogininforService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.system.domain.SysLogininfor; +import com.jiajiakang.system.service.ISysLogininforService; /** * 系统访问记录 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysOperlogController.java similarity index 80% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysOperlogController.java index 0332a14a9..601ec1aca 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysOperlogController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.monitor; +package com.jiajiakang.web.controller.monitor; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -8,14 +8,14 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.domain.SysOperLog; -import com.ruoyi.system.service.ISysOperLogService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.system.domain.SysOperLog; +import com.jiajiakang.system.service.ISysOperLogService; /** * 操作日志记录 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysUserOnlineController.java similarity index 82% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysUserOnlineController.java index 9b157ea73..74740d728 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/monitor/SysUserOnlineController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.monitor; +package com.jiajiakang.web.controller.monitor; import java.util.ArrayList; import java.util.Collection; @@ -11,17 +11,17 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.SysUserOnline; -import com.ruoyi.system.service.ISysUserOnlineService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.core.redis.RedisCache; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.domain.SysUserOnline; +import com.jiajiakang.system.service.ISysUserOnlineService; /** * 在线用户监控 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysConfigController.java similarity index 86% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysConfigController.java index fb39a336a..30ffd6811 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysConfigController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -12,17 +12,17 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.annotation.RepeatSubmit; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.domain.SysConfig; -import com.ruoyi.system.service.ISysConfigService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.annotation.RepeatSubmit; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.system.domain.SysConfig; +import com.jiajiakang.system.service.ISysConfigService; /** * 参数配置 信息操作处理 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDeptController.java similarity index 91% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDeptController.java index 480816abe..73d362d91 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDeptController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.Iterator; import java.util.List; @@ -14,15 +14,15 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysDept; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.service.ISysDeptService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysDept; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.service.ISysDeptService; /** * 部门信息 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDictDataController.java similarity index 84% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDictDataController.java index 91bd67db2..2293ec42b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDictDataController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.ArrayList; import java.util.List; @@ -13,17 +13,17 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.service.ISysDictDataService; -import com.ruoyi.system.service.ISysDictTypeService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysDictData; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.system.service.ISysDictDataService; +import com.jiajiakang.system.service.ISysDictTypeService; /** * 数据字典信息 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDictTypeController.java similarity index 87% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDictTypeController.java index a4e0b2b14..6539815cc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysDictTypeController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -12,16 +12,16 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysDictType; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.service.ISysDictTypeService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysDictType; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.system.service.ISysDictTypeService; /** * 数据字典信息 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysLoginController.java similarity index 77% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysLoginController.java index 997c5821d..0f4b0411a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysLoginController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import java.util.Set; @@ -7,17 +7,17 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysMenu; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginBody; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.framework.web.service.SysLoginService; -import com.ruoyi.framework.web.service.SysPermissionService; -import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.service.ISysMenuService; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysMenu; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.model.LoginBody; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.framework.web.service.SysLoginService; +import com.jiajiakang.framework.web.service.SysPermissionService; +import com.jiajiakang.framework.web.service.TokenService; +import com.jiajiakang.system.service.ISysMenuService; /** * 登录验证 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysMenuController.java similarity index 87% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysMenuController.java index 2ee723833..679b783f6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysMenuController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -12,19 +12,19 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysMenu; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.service.ISysMenuService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysMenu; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.framework.web.service.TokenService; +import com.jiajiakang.system.service.ISysMenuService; /** * 菜单信息 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysNoticeController.java similarity index 85% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysNoticeController.java index 224e594d9..90e0959f1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysNoticeController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -12,14 +12,14 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.system.domain.SysNotice; -import com.ruoyi.system.service.ISysNoticeService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.system.domain.SysNotice; +import com.jiajiakang.system.service.ISysNoticeService; /** * 公告 信息操作处理 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysPostController.java similarity index 87% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysPostController.java index 0c73ea8d7..cba4b4b28 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysPostController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -12,16 +12,16 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.domain.SysPost; -import com.ruoyi.system.service.ISysPostService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.system.domain.SysPost; +import com.jiajiakang.system.service.ISysPostService; /** * 岗位信息操作处理 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysProfileController.java similarity index 86% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysProfileController.java index c2f3f2279..ef5ab06fe 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysProfileController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.io.IOException; import org.springframework.beans.factory.annotation.Autowired; @@ -10,18 +10,18 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.file.FileUploadUtils; -import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.service.ISysUserService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.config.RuoYiConfig; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.file.FileUploadUtils; +import com.jiajiakang.framework.web.service.TokenService; +import com.jiajiakang.system.service.ISysUserService; /** * 个人信息 业务处理 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysRoleController.java similarity index 86% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysRoleController.java index a06f8489b..9fa254579 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysRoleController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -12,22 +12,22 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.framework.web.service.SysPermissionService; -import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.service.ISysRoleService; -import com.ruoyi.system.service.ISysUserService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.framework.web.service.SysPermissionService; +import com.jiajiakang.framework.web.service.TokenService; +import com.jiajiakang.system.service.ISysRoleService; +import com.jiajiakang.system.service.ISysUserService; /** * 角色信息 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysUserController.java similarity index 88% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysUserController.java index 02346f12d..4df041e9a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/system/SysUserController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.system; +package com.jiajiakang.web.controller.system; import java.util.List; import java.util.stream.Collectors; @@ -14,23 +14,23 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.service.ISysPostService; -import com.ruoyi.system.service.ISysRoleService; -import com.ruoyi.system.service.ISysUserService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.framework.web.service.TokenService; +import com.jiajiakang.system.service.ISysPostService; +import com.jiajiakang.system.service.ISysRoleService; +import com.jiajiakang.system.service.ISysUserService; /** * 用户信息 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/SwaggerController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/tool/SwaggerController.java similarity index 82% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/SwaggerController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/tool/SwaggerController.java index e901fedd7..fd5d4c129 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/SwaggerController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/tool/SwaggerController.java @@ -1,24 +1,24 @@ -package com.ruoyi.web.controller.tool; - -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import com.ruoyi.common.core.controller.BaseController; - -/** - * swagger 接口 - * - * @author ruoyi - */ -@Controller -@RequestMapping("/tool/swagger") -public class SwaggerController extends BaseController -{ - @PreAuthorize("@ss.hasPermi('tool:swagger:view')") - @GetMapping() - public String index() - { - return redirect("/swagger-ui.html"); - } -} +package com.jiajiakang.web.controller.tool; + +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import com.jiajiakang.common.core.controller.BaseController; + +/** + * swagger 接口 + * + * @author ruoyi + */ +@Controller +@RequestMapping("/tool/swagger") +public class SwaggerController extends BaseController +{ + @PreAuthorize("@ss.hasPermi('tool:swagger:view')") + @GetMapping() + public String index() + { + return redirect("/swagger-ui.html"); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/tool/TestController.java similarity index 95% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/tool/TestController.java index 9c6e6b5e9..803fe6fbc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/controller/tool/TestController.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.tool; +package com.jiajiakang.web.controller.tool; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -11,9 +11,9 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiModel; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/jiajiakang-admin/src/main/java/com/jiajiakang/web/core/config/SwaggerConfig.java similarity index 97% rename from ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java rename to jiajiakang-admin/src/main/java/com/jiajiakang/web/core/config/SwaggerConfig.java index 127378563..580cbd1d6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java +++ b/jiajiakang-admin/src/main/java/com/jiajiakang/web/core/config/SwaggerConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.core.config; +package com.jiajiakang.web.core.config; import java.util.ArrayList; import java.util.List; @@ -6,7 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.ruoyi.common.config.RuoYiConfig; +import com.jiajiakang.common.config.RuoYiConfig; import io.swagger.annotations.ApiOperation; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; @@ -58,7 +58,7 @@ public class SwaggerConfig // 扫描所有有注解的api,用这种方式更灵活 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // 扫描指定包中的swagger注解 - // .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger")) + // .apis(RequestHandlerSelectors.basePackage("com.jiajiakang.project.tool.swagger")) // 扫描所有 .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build() diff --git a/ruoyi-admin/src/main/resources/META-INF/spring-devtools.properties b/jiajiakang-admin/src/main/resources/META-INF/spring-devtools.properties similarity index 100% rename from ruoyi-admin/src/main/resources/META-INF/spring-devtools.properties rename to jiajiakang-admin/src/main/resources/META-INF/spring-devtools.properties diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/jiajiakang-admin/src/main/resources/application-dev.yml similarity index 100% rename from ruoyi-admin/src/main/resources/application-dev.yml rename to jiajiakang-admin/src/main/resources/application-dev.yml diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/jiajiakang-admin/src/main/resources/application-prod.yml similarity index 100% rename from ruoyi-admin/src/main/resources/application-prod.yml rename to jiajiakang-admin/src/main/resources/application-prod.yml diff --git a/ruoyi-admin/src/main/resources/application.yml b/jiajiakang-admin/src/main/resources/application.yml similarity index 98% rename from ruoyi-admin/src/main/resources/application.yml rename to jiajiakang-admin/src/main/resources/application.yml index 963614d57..03dc0372a 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/jiajiakang-admin/src/main/resources/application.yml @@ -55,7 +55,7 @@ server: # 日志配置 logging: level: - com.ruoyi: @logging.level@ + com.jiajiakang: @logging.level@ org.springframework: warn # Spring配置 @@ -94,7 +94,7 @@ mybatis-plus: # 对应的 XML 文件位置 mapperLocations: classpath*:mapper/**/*Mapper.xml # 实体扫描,多个package用逗号或者分号分隔 - typeAliasesPackage: com.ruoyi.**.domain + typeAliasesPackage: com.jiajiakang.**.domain # 针对 typeAliasesPackage,如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象 #typeAliasesSuperType: Class # 如果配置了该属性,SqlSessionFactoryBean 会把该包下面的类注册为对应的 TypeHandler diff --git a/ruoyi-admin/src/main/resources/banner.txt b/jiajiakang-admin/src/main/resources/banner.txt similarity index 100% rename from ruoyi-admin/src/main/resources/banner.txt rename to jiajiakang-admin/src/main/resources/banner.txt diff --git a/ruoyi-admin/src/main/resources/i18n/messages.properties b/jiajiakang-admin/src/main/resources/i18n/messages.properties similarity index 100% rename from ruoyi-admin/src/main/resources/i18n/messages.properties rename to jiajiakang-admin/src/main/resources/i18n/messages.properties diff --git a/ruoyi-admin/src/main/resources/logback.xml b/jiajiakang-admin/src/main/resources/logback.xml similarity index 98% rename from ruoyi-admin/src/main/resources/logback.xml rename to jiajiakang-admin/src/main/resources/logback.xml index f27bff9af..7ff1a6e94 100644 --- a/ruoyi-admin/src/main/resources/logback.xml +++ b/jiajiakang-admin/src/main/resources/logback.xml @@ -73,7 +73,7 @@ - + diff --git a/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml b/jiajiakang-admin/src/main/resources/mybatis/mybatis-config.xml similarity index 100% rename from ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml rename to jiajiakang-admin/src/main/resources/mybatis/mybatis-config.xml diff --git a/ruoyi-common/pom.xml b/jiajiakang-common/pom.xml similarity index 94% rename from ruoyi-common/pom.xml rename to jiajiakang-common/pom.xml index 60fb69ccd..a6885914f 100644 --- a/ruoyi-common/pom.xml +++ b/jiajiakang-common/pom.xml @@ -1,151 +1,151 @@ - - - - ruoyi - com.ruoyi - 3.4.0 - - 4.0.0 - - ruoyi-common - - - common通用工具 - - - - - - - org.springframework - spring-context-support - - - - - org.springframework - spring-web - - - - - org.springframework.boot - spring-boot-starter-security - - - - - com.github.pagehelper - pagehelper-spring-boot-starter - - - - - javax.validation - validation-api - - - - - org.apache.commons - commons-lang3 - - - - - com.fasterxml.jackson.core - jackson-databind - - - - - com.alibaba - fastjson - - - - - commons-io - commons-io - - - - - commons-fileupload - commons-fileupload - - - - - org.apache.poi - poi-ooxml - - - - - org.yaml - snakeyaml - - - - - io.jsonwebtoken - jjwt - - - - - org.springframework.boot - spring-boot-starter-data-redis - - - - - org.apache.commons - commons-pool2 - - - - - eu.bitwalker - UserAgentUtils - - - - - javax.servlet - javax.servlet-api - - - - com.baomidou - mybatis-plus-boot-starter - - - com.baomidou - mybatis-plus-extension - - - cn.hutool - hutool-all - - - org.projectlombok - lombok - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - - io.github.openfeign - feign-okhttp - - - - + + + + jiajiakang + com.jiajiakang + 3.4.0 + + 4.0.0 + + jiajiakang-common + + + common通用工具 + + + + + + + org.springframework + spring-context-support + + + + + org.springframework + spring-web + + + + + org.springframework.boot + spring-boot-starter-security + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + + + + + javax.validation + validation-api + + + + + org.apache.commons + commons-lang3 + + + + + com.fasterxml.jackson.core + jackson-databind + + + + + com.alibaba + fastjson + + + + + commons-io + commons-io + + + + + commons-fileupload + commons-fileupload + + + + + org.apache.poi + poi-ooxml + + + + + org.yaml + snakeyaml + + + + + io.jsonwebtoken + jjwt + + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + org.apache.commons + commons-pool2 + + + + + eu.bitwalker + UserAgentUtils + + + + + javax.servlet + javax.servlet-api + + + + com.baomidou + mybatis-plus-boot-starter + + + com.baomidou + mybatis-plus-extension + + + cn.hutool + hutool-all + + + org.projectlombok + lombok + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + io.github.openfeign + feign-okhttp + + + + \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/DataScope.java similarity index 92% rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/DataScope.java index 176878e9d..b5de88f12 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/DataScope.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.annotation; +package com.jiajiakang.common.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/DataSource.java similarity index 88% rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/DataSource.java index 79cd191f8..60bf303b8 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/DataSource.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.annotation; +package com.jiajiakang.common.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; @@ -6,7 +6,7 @@ import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import com.ruoyi.common.enums.DataSourceType; +import com.jiajiakang.common.enums.DataSourceType; /** * 自定义多数据源切换注解 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Excel.java similarity index 94% rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Excel.java index 50482c572..cc8ad8f97 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Excel.java @@ -1,165 +1,165 @@ -package com.ruoyi.common.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.math.BigDecimal; - -/** - * 自定义导出Excel数据注解 - * - * @author ruoyi - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -public @interface Excel -{ - /** - * 导出时在excel中排序 - */ - public int sort() default Integer.MAX_VALUE; - - /** - * 导出到Excel中的名字. - */ - public String name() default ""; - - /** - * 日期格式, 如: yyyy-MM-dd - */ - public String dateFormat() default ""; - - /** - * 如果是字典类型,请设置字典的type值 (如: sys_user_sex) - */ - public String dictType() default ""; - - /** - * 读取内容转表达式 (如: 0=男,1=女,2=未知) - */ - public String readConverterExp() default ""; - - /** - * 分隔符,读取字符串组内容 - */ - public String separator() default ","; - - /** - * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化) - */ - public int scale() default -1; - - /** - * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN - */ - public int roundingMode() default BigDecimal.ROUND_HALF_EVEN; - - /** - * 导出类型(0数字 1字符串) - */ - public ColumnType cellType() default ColumnType.STRING; - - /** - * 导出时在excel中每个列的高度 单位为字符 - */ - public double height() default 14; - - /** - * 导出时在excel中每个列的宽 单位为字符 - */ - public double width() default 16; - - /** - * 文字后缀,如% 90 变成90% - */ - public String suffix() default ""; - - /** - * 当值为空时,字段的默认值 - */ - public String defaultValue() default ""; - - /** - * 提示信息 - */ - public String prompt() default ""; - - /** - * 设置只能选择不能输入的列内容. - */ - public String[] combo() default {}; - - /** - * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写. - */ - public boolean isExport() default true; - - /** - * 另一个类中的属性名称,支持多级获取,以小数点隔开 - */ - public String targetAttr() default ""; - - /** - * 是否自动统计数据,在最后追加一行统计数据总和 - */ - public boolean isStatistics() default false; - - /** - * 导出字段对齐方式(0:默认;1:靠左;2:居中;3:靠右) - */ - Align align() default Align.AUTO; - - public enum Align - { - AUTO(0), LEFT(1), CENTER(2), RIGHT(3); - private final int value; - - Align(int value) - { - this.value = value; - } - - public int value() - { - return this.value; - } - } - - /** - * 字段类型(0:导出导入;1:仅导出;2:仅导入) - */ - Type type() default Type.ALL; - - public enum Type - { - ALL(0), EXPORT(1), IMPORT(2); - private final int value; - - Type(int value) - { - this.value = value; - } - - public int value() - { - return this.value; - } - } - - public enum ColumnType - { - NUMERIC(0), STRING(1), IMAGE(2); - private final int value; - - ColumnType(int value) - { - this.value = value; - } - - public int value() - { - return this.value; - } - } +package com.jiajiakang.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.math.BigDecimal; + +/** + * 自定义导出Excel数据注解 + * + * @author ruoyi + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface Excel +{ + /** + * 导出时在excel中排序 + */ + public int sort() default Integer.MAX_VALUE; + + /** + * 导出到Excel中的名字. + */ + public String name() default ""; + + /** + * 日期格式, 如: yyyy-MM-dd + */ + public String dateFormat() default ""; + + /** + * 如果是字典类型,请设置字典的type值 (如: sys_user_sex) + */ + public String dictType() default ""; + + /** + * 读取内容转表达式 (如: 0=男,1=女,2=未知) + */ + public String readConverterExp() default ""; + + /** + * 分隔符,读取字符串组内容 + */ + public String separator() default ","; + + /** + * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化) + */ + public int scale() default -1; + + /** + * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN + */ + public int roundingMode() default BigDecimal.ROUND_HALF_EVEN; + + /** + * 导出类型(0数字 1字符串) + */ + public ColumnType cellType() default ColumnType.STRING; + + /** + * 导出时在excel中每个列的高度 单位为字符 + */ + public double height() default 14; + + /** + * 导出时在excel中每个列的宽 单位为字符 + */ + public double width() default 16; + + /** + * 文字后缀,如% 90 变成90% + */ + public String suffix() default ""; + + /** + * 当值为空时,字段的默认值 + */ + public String defaultValue() default ""; + + /** + * 提示信息 + */ + public String prompt() default ""; + + /** + * 设置只能选择不能输入的列内容. + */ + public String[] combo() default {}; + + /** + * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写. + */ + public boolean isExport() default true; + + /** + * 另一个类中的属性名称,支持多级获取,以小数点隔开 + */ + public String targetAttr() default ""; + + /** + * 是否自动统计数据,在最后追加一行统计数据总和 + */ + public boolean isStatistics() default false; + + /** + * 导出字段对齐方式(0:默认;1:靠左;2:居中;3:靠右) + */ + Align align() default Align.AUTO; + + public enum Align + { + AUTO(0), LEFT(1), CENTER(2), RIGHT(3); + private final int value; + + Align(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } + + /** + * 字段类型(0:导出导入;1:仅导出;2:仅导入) + */ + Type type() default Type.ALL; + + public enum Type + { + ALL(0), EXPORT(1), IMPORT(2); + private final int value; + + Type(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } + + public enum ColumnType + { + NUMERIC(0), STRING(1), IMAGE(2); + private final int value; + + ColumnType(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } } \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excels.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Excels.java similarity index 85% rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excels.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Excels.java index 940763f06..d8b37cd18 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excels.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Excels.java @@ -1,18 +1,18 @@ -package com.ruoyi.common.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Excel注解集 - * - * @author ruoyi - */ -@Target(ElementType.FIELD) -@Retention(RetentionPolicy.RUNTIME) -public @interface Excels -{ - Excel[] value(); -} +package com.jiajiakang.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Excel注解集 + * + * @author ruoyi + */ +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +public @interface Excels +{ + Excel[] value(); +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Log.java similarity index 84% rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Log.java index eb05dc7ce..575e8341d 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/Log.java @@ -1,12 +1,12 @@ -package com.ruoyi.common.annotation; +package com.jiajiakang.common.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.enums.OperatorType; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.enums.OperatorType; /** * 自定义操作日志记录注解 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/RepeatSubmit.java similarity index 88% rename from ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/RepeatSubmit.java index 628eef1ef..8efb43174 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/annotation/RepeatSubmit.java @@ -1,23 +1,23 @@ -package com.ruoyi.common.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 自定义注解防止表单重复提交 - * - * @author ruoyi - * - */ -@Inherited -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RepeatSubmit -{ - -} +package com.jiajiakang.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 自定义注解防止表单重复提交 + * + * @author ruoyi + * + */ +@Inherited +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface RepeatSubmit +{ + +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/config/RuoYiConfig.java similarity index 98% rename from ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/config/RuoYiConfig.java index d5d8723f1..f154e6e19 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/config/RuoYiConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.config; +package com.jiajiakang.common.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/Constants.java similarity index 98% rename from ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/constant/Constants.java index 534291991..7b80fc5b2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/Constants.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.constant; +package com.jiajiakang.common.constant; /** * 通用常量信息 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/GenConstants.java similarity index 98% rename from ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/constant/GenConstants.java index 1fa328e45..56d5881aa 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/GenConstants.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.constant; +package com.jiajiakang.common.constant; /** * 代码生成通用常量 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/HttpStatus.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/HttpStatus.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/constant/HttpStatus.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/constant/HttpStatus.java index d60afee2c..bcb5cf239 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/HttpStatus.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/HttpStatus.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.constant; +package com.jiajiakang.common.constant; /** * 返回状态码 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/ScheduleConstants.java similarity index 91% rename from ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/constant/ScheduleConstants.java index 8318b8f5f..f53935168 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/ScheduleConstants.java @@ -1,50 +1,50 @@ -package com.ruoyi.common.constant; - -/** - * 任务调度通用常量 - * - * @author ruoyi - */ -public class ScheduleConstants -{ - public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME"; - - /** 执行目标key */ - public static final String TASK_PROPERTIES = "TASK_PROPERTIES"; - - /** 默认 */ - public static final String MISFIRE_DEFAULT = "0"; - - /** 立即触发执行 */ - public static final String MISFIRE_IGNORE_MISFIRES = "1"; - - /** 触发一次执行 */ - public static final String MISFIRE_FIRE_AND_PROCEED = "2"; - - /** 不触发立即执行 */ - public static final String MISFIRE_DO_NOTHING = "3"; - - public enum Status - { - /** - * 正常 - */ - NORMAL("0"), - /** - * 暂停 - */ - PAUSE("1"); - - private String value; - - private Status(String value) - { - this.value = value; - } - - public String getValue() - { - return value; - } - } -} +package com.jiajiakang.common.constant; + +/** + * 任务调度通用常量 + * + * @author ruoyi + */ +public class ScheduleConstants +{ + public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME"; + + /** 执行目标key */ + public static final String TASK_PROPERTIES = "TASK_PROPERTIES"; + + /** 默认 */ + public static final String MISFIRE_DEFAULT = "0"; + + /** 立即触发执行 */ + public static final String MISFIRE_IGNORE_MISFIRES = "1"; + + /** 触发一次执行 */ + public static final String MISFIRE_FIRE_AND_PROCEED = "2"; + + /** 不触发立即执行 */ + public static final String MISFIRE_DO_NOTHING = "3"; + + public enum Status + { + /** + * 正常 + */ + NORMAL("0"), + /** + * 暂停 + */ + PAUSE("1"); + + private String value; + + private Status(String value) + { + this.value = value; + } + + public String getValue() + { + return value; + } + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/UserConstants.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/constant/UserConstants.java index 56b46ba83..6e4c1bd1e 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/constant/UserConstants.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.constant; +package com.jiajiakang.common.constant; /** * 用户常量信息 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/controller/BaseController.java similarity index 83% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/controller/BaseController.java index 2a31e70f6..bcf2bcb2e 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/controller/BaseController.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.controller; +package com.jiajiakang.common.core.controller; import java.beans.PropertyEditorSupport; import java.util.Date; @@ -9,14 +9,14 @@ import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.PageDomain; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.core.page.TableSupport; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.sql.SqlUtil; +import com.jiajiakang.common.constant.HttpStatus; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.PageDomain; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.core.page.TableSupport; +import com.jiajiakang.common.utils.DateUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.sql.SqlUtil; /** * web层通用数据处理 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/AjaxResult.java similarity index 95% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/AjaxResult.java index 28e5a688b..19eec1a21 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/AjaxResult.java @@ -1,8 +1,8 @@ -package com.ruoyi.common.core.domain; +package com.jiajiakang.common.core.domain; import java.util.HashMap; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.constant.HttpStatus; +import com.jiajiakang.common.utils.StringUtils; /** * 操作消息提醒 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/BaseEntity.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/BaseEntity.java index f7d5bf46d..f81a58b5f 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/BaseEntity.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.domain; +package com.jiajiakang.common.core.domain; import java.io.Serializable; import java.util.Date; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeEntity.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/TreeEntity.java similarity index 91% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeEntity.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/TreeEntity.java index 171f04c9b..ad9566ee0 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeEntity.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/TreeEntity.java @@ -1,79 +1,79 @@ -package com.ruoyi.common.core.domain; - -import java.util.ArrayList; -import java.util.List; - -/** - * Tree基类 - * - * @author ruoyi - */ -public class TreeEntity extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 父菜单名称 */ - private String parentName; - - /** 父菜单ID */ - private Long parentId; - - /** 显示顺序 */ - private Integer orderNum; - - /** 祖级列表 */ - private String ancestors; - - /** 子部门 */ - private List children = new ArrayList<>(); - - public String getParentName() - { - return parentName; - } - - public void setParentName(String parentName) - { - this.parentName = parentName; - } - - public Long getParentId() - { - return parentId; - } - - public void setParentId(Long parentId) - { - this.parentId = parentId; - } - - public Integer getOrderNum() - { - return orderNum; - } - - public void setOrderNum(Integer orderNum) - { - this.orderNum = orderNum; - } - - public String getAncestors() - { - return ancestors; - } - - public void setAncestors(String ancestors) - { - this.ancestors = ancestors; - } - - public List getChildren() - { - return children; - } - - public void setChildren(List children) - { - this.children = children; - } -} +package com.jiajiakang.common.core.domain; + +import java.util.ArrayList; +import java.util.List; + +/** + * Tree基类 + * + * @author ruoyi + */ +public class TreeEntity extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 父菜单名称 */ + private String parentName; + + /** 父菜单ID */ + private Long parentId; + + /** 显示顺序 */ + private Integer orderNum; + + /** 祖级列表 */ + private String ancestors; + + /** 子部门 */ + private List children = new ArrayList<>(); + + public String getParentName() + { + return parentName; + } + + public void setParentName(String parentName) + { + this.parentName = parentName; + } + + public Long getParentId() + { + return parentId; + } + + public void setParentId(Long parentId) + { + this.parentId = parentId; + } + + public Integer getOrderNum() + { + return orderNum; + } + + public void setOrderNum(Integer orderNum) + { + this.orderNum = orderNum; + } + + public String getAncestors() + { + return ancestors; + } + + public void setAncestors(String ancestors) + { + this.ancestors = ancestors; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/TreeSelect.java similarity index 90% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/TreeSelect.java index bd835db99..eab892bc0 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/TreeSelect.java @@ -1,11 +1,11 @@ -package com.ruoyi.common.core.domain; +package com.jiajiakang.common.core.domain; import java.io.Serializable; import java.util.List; import java.util.stream.Collectors; import com.fasterxml.jackson.annotation.JsonInclude; -import com.ruoyi.common.core.domain.entity.SysDept; -import com.ruoyi.common.core.domain.entity.SysMenu; +import com.jiajiakang.common.core.domain.entity.SysDept; +import com.jiajiakang.common.core.domain.entity.SysMenu; /** * Treeselect树结构实体类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDept.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDept.java index c9238e234..b8d2b0755 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDept.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.domain.entity; +package com.jiajiakang.common.core.domain.entity; import java.util.ArrayList; import java.util.List; @@ -7,7 +7,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 部门表 sys_dept diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDictData.java similarity index 94% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDictData.java index 3f152b340..794f884db 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDictData.java @@ -1,13 +1,13 @@ -package com.ruoyi.common.core.domain.entity; +package com.jiajiakang.common.core.domain.entity; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 字典数据表 sys_dict_data diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDictType.java similarity index 91% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDictType.java index d2c424986..2095f1d0c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysDictType.java @@ -1,12 +1,12 @@ -package com.ruoyi.common.core.domain.entity; +package com.jiajiakang.common.core.domain.entity; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 字典类型表 sys_dict_type diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysMenu.java similarity index 98% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysMenu.java index 94d654ae1..c076e4a81 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysMenu.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.domain.entity; +package com.jiajiakang.common.core.domain.entity; import java.util.ArrayList; import java.util.List; @@ -6,7 +6,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 菜单权限表 sys_menu diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysRole.java similarity index 96% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysRole.java index 2991595ae..a2450d212 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysRole.java @@ -1,12 +1,12 @@ -package com.ruoyi.common.core.domain.entity; +package com.jiajiakang.common.core.domain.entity; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 角色表 sys_role diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysUser.java similarity index 95% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysUser.java index d08668ab4..27f813992 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/entity/SysUser.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.domain.entity; +package com.jiajiakang.common.core.domain.entity; import java.util.Date; import java.util.List; @@ -9,11 +9,11 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.annotation.Excel.Type; -import com.ruoyi.common.annotation.Excels; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.annotation.Excel.Type; +import com.jiajiakang.common.annotation.Excels; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 用户对象 sys_user diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/model/LoginBody.java similarity index 89% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/model/LoginBody.java index a1f8b8337..81c9516d7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/model/LoginBody.java @@ -1,69 +1,69 @@ -package com.ruoyi.common.core.domain.model; - -/** - * 用户登录对象 - * - * @author ruoyi - */ -public class LoginBody -{ - /** - * 用户名 - */ - private String username; - - /** - * 用户密码 - */ - private String password; - - /** - * 验证码 - */ - private String code; - - /** - * 唯一标识 - */ - private String uuid = ""; - - public String getUsername() - { - return username; - } - - public void setUsername(String username) - { - this.username = username; - } - - public String getPassword() - { - return password; - } - - public void setPassword(String password) - { - this.password = password; - } - - public String getCode() - { - return code; - } - - public void setCode(String code) - { - this.code = code; - } - - public String getUuid() - { - return uuid; - } - - public void setUuid(String uuid) - { - this.uuid = uuid; - } -} +package com.jiajiakang.common.core.domain.model; + +/** + * 用户登录对象 + * + * @author ruoyi + */ +public class LoginBody +{ + /** + * 用户名 + */ + private String username; + + /** + * 用户密码 + */ + private String password; + + /** + * 验证码 + */ + private String code; + + /** + * 唯一标识 + */ + private String uuid = ""; + + public String getUsername() + { + return username; + } + + public void setUsername(String username) + { + this.username = username; + } + + public String getPassword() + { + return password; + } + + public void setPassword(String password) + { + this.password = password; + } + + public String getCode() + { + return code; + } + + public void setCode(String code) + { + this.code = code; + } + + public String getUuid() + { + return uuid; + } + + public void setUuid(String uuid) + { + this.uuid = uuid; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/model/LoginUser.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/model/LoginUser.java index 6e3f1c6b2..83d5e8317 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/domain/model/LoginUser.java @@ -1,11 +1,11 @@ -package com.ruoyi.common.core.domain.model; +package com.jiajiakang.common.core.domain.model; import java.util.Collection; import java.util.Set; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.ruoyi.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.entity.SysUser; /** * 登录用户身份权限 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/PageDomain.java similarity index 93% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/PageDomain.java index 6fba8837e..a6f041db7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/PageDomain.java @@ -1,6 +1,6 @@ -package com.ruoyi.common.core.page; +package com.jiajiakang.common.core.page; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 分页数据 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/TableDataInfo.java similarity index 96% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/TableDataInfo.java index 847685ba4..e66d7a745 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/TableDataInfo.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.page; +package com.jiajiakang.common.core.page; import java.io.Serializable; import java.util.List; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/TableSupport.java similarity index 92% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/TableSupport.java index 14eb1e117..2b1b660e2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/page/TableSupport.java @@ -1,6 +1,6 @@ -package com.ruoyi.common.core.page; +package com.jiajiakang.common.core.page; -import com.ruoyi.common.utils.ServletUtils; +import com.jiajiakang.common.utils.ServletUtils; /** * 表格数据处理 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/redis/RedisCache.java similarity index 99% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/redis/RedisCache.java index 22a610db0..010015213 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/redis/RedisCache.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.redis; +package com.jiajiakang.common.core.redis; import java.util.Collection; import java.util.Iterator; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/text/CharsetKit.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/CharsetKit.java similarity index 96% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/text/CharsetKit.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/CharsetKit.java index 84124aac5..5b31265ac 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/text/CharsetKit.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/CharsetKit.java @@ -1,8 +1,8 @@ -package com.ruoyi.common.core.text; +package com.jiajiakang.common.core.text; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 字符集工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/Convert.java similarity index 99% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/Convert.java index 1fb74619e..33206c26b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/Convert.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.core.text; +package com.jiajiakang.common.core.text; import java.math.BigDecimal; import java.math.BigInteger; @@ -6,7 +6,7 @@ import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.text.NumberFormat; import java.util.Set; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; import org.apache.commons.lang3.ArrayUtils; /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/text/StrFormatter.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/StrFormatter.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/core/text/StrFormatter.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/StrFormatter.java index c78ac776d..9587f3187 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/text/StrFormatter.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/core/text/StrFormatter.java @@ -1,6 +1,6 @@ -package com.ruoyi.common.core.text; +package com.jiajiakang.common.core.text; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 字符串格式化 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/BusinessStatus.java similarity index 81% rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/enums/BusinessStatus.java index 10b7306fe..3766454e3 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/BusinessStatus.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.enums; +package com.jiajiakang.common.enums; /** * 操作状态 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/BusinessType.java similarity index 93% rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/enums/BusinessType.java index 2e17c4a5d..d8ea1b485 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/BusinessType.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.enums; +package com.jiajiakang.common.enums; /** * 业务操作类型 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/DataSourceType.java similarity index 80% rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/enums/DataSourceType.java index 0d945be54..acfe64f36 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/DataSourceType.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.enums; +package com.jiajiakang.common.enums; /** * 数据源 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/HttpMethod.java similarity index 94% rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/enums/HttpMethod.java index be6f73929..4148c0f82 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/HttpMethod.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.enums; +package com.jiajiakang.common.enums; import java.util.HashMap; import java.util.Map; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/OperatorType.java similarity index 85% rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/enums/OperatorType.java index bdd143c1c..4a3378c44 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/OperatorType.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.enums; +package com.jiajiakang.common.enums; /** * 操作人类别 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/UserStatus.java similarity index 92% rename from ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/enums/UserStatus.java index d7ff44a98..10abb73b0 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/enums/UserStatus.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.enums; +package com.jiajiakang.common.enums; /** * 用户状态 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/BaseException.java similarity index 92% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/BaseException.java index 92d6ae2dc..a8c24d4ed 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/BaseException.java @@ -1,7 +1,7 @@ -package com.ruoyi.common.exception; +package com.jiajiakang.common.exception; -import com.ruoyi.common.utils.MessageUtils; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.MessageUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 基础异常 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/CustomException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/CustomException.java similarity index 94% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/CustomException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/CustomException.java index d96c7ba7b..78ae63a83 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/CustomException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/CustomException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception; +package com.jiajiakang.common.exception; /** * 自定义异常 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/DemoModeException.java similarity index 83% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/DemoModeException.java index f6ad2ab49..f03fb1f2f 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/DemoModeException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception; +package com.jiajiakang.common.exception; /** * 演示模式异常 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/UtilException.java similarity index 91% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/UtilException.java index 980fa465e..a4fc66399 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/UtilException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception; +package com.jiajiakang.common.exception; /** * 工具类异常 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileException.java similarity index 72% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileException.java index 75d6dbf1a..5e2bf1360 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileException.java @@ -1,6 +1,6 @@ -package com.ruoyi.common.exception.file; +package com.jiajiakang.common.exception.file; -import com.ruoyi.common.exception.BaseException; +import com.jiajiakang.common.exception.BaseException; /** * 文件信息异常类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileNameLengthLimitExceededException.java similarity index 88% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileNameLengthLimitExceededException.java index 70e0ec9b1..fd667cabb 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileNameLengthLimitExceededException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception.file; +package com.jiajiakang.common.exception.file; /** * 文件名称超长限制异常类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileSizeLimitExceededException.java similarity index 87% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileSizeLimitExceededException.java index ec6ab054d..9d7db2e2a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/FileSizeLimitExceededException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception.file; +package com.jiajiakang.common.exception.file; /** * 文件名大小限制异常类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/InvalidExtensionException.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/InvalidExtensionException.java index 8f63a799c..2f818fc3a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/file/InvalidExtensionException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception.file; +package com.jiajiakang.common.exception.file; import java.util.Arrays; import org.apache.commons.fileupload.FileUploadException; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/job/TaskException.java similarity index 89% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/job/TaskException.java index 14b2361d0..0ab7d23ab 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/job/TaskException.java @@ -1,34 +1,34 @@ -package com.ruoyi.common.exception.job; - -/** - * 计划策略异常 - * - * @author ruoyi - */ -public class TaskException extends Exception -{ - private static final long serialVersionUID = 1L; - - private Code code; - - public TaskException(String msg, Code code) - { - this(msg, code, null); - } - - public TaskException(String msg, Code code, Exception nestedEx) - { - super(msg, nestedEx); - this.code = code; - } - - public Code getCode() - { - return code; - } - - public enum Code - { - TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE - } +package com.jiajiakang.common.exception.job; + +/** + * 计划策略异常 + * + * @author ruoyi + */ +public class TaskException extends Exception +{ + private static final long serialVersionUID = 1L; + + private Code code; + + public TaskException(String msg, Code code) + { + this(msg, code, null); + } + + public TaskException(String msg, Code code, Exception nestedEx) + { + super(msg, nestedEx); + this.code = code; + } + + public Code getCode() + { + return code; + } + + public enum Code + { + TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE + } } \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/CaptchaException.java similarity index 84% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/CaptchaException.java index 389dbc753..8e86c4671 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/CaptchaException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception.user; +package com.jiajiakang.common.exception.user; /** * 验证码错误异常类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/CaptchaExpireException.java similarity index 85% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/CaptchaExpireException.java index 85f94861b..d81e82fe9 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/CaptchaExpireException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception.user; +package com.jiajiakang.common.exception.user; /** * 验证码失效异常类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/UserException.java similarity index 72% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/UserException.java index aa015f88a..76025b768 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/UserException.java @@ -1,6 +1,6 @@ -package com.ruoyi.common.exception.user; +package com.jiajiakang.common.exception.user; -import com.ruoyi.common.exception.BaseException; +import com.jiajiakang.common.exception.BaseException; /** * 用户信息异常类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/UserPasswordNotMatchException.java similarity index 87% rename from ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/UserPasswordNotMatchException.java index a7f3e5ffe..488c56397 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/exception/user/UserPasswordNotMatchException.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.exception.user; +package com.jiajiakang.common.exception.user; /** * 用户密码不正确或不符合规范异常类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/RepeatableFilter.java similarity index 90% rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/filter/RepeatableFilter.java index 3698c75c3..bd73039f2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/RepeatableFilter.java @@ -1,52 +1,52 @@ -package com.ruoyi.common.filter; - -import java.io.IOException; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import org.springframework.http.MediaType; -import com.ruoyi.common.utils.StringUtils; - -/** - * Repeatable 过滤器 - * - * @author ruoyi - */ -public class RepeatableFilter implements Filter -{ - @Override - public void init(FilterConfig filterConfig) throws ServletException - { - - } - - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException - { - ServletRequest requestWrapper = null; - if (request instanceof HttpServletRequest - && StringUtils.equalsAnyIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE)) - { - requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response); - } - if (null == requestWrapper) - { - chain.doFilter(request, response); - } - else - { - chain.doFilter(requestWrapper, response); - } - } - - @Override - public void destroy() - { - - } -} +package com.jiajiakang.common.filter; + +import java.io.IOException; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import org.springframework.http.MediaType; +import com.jiajiakang.common.utils.StringUtils; + +/** + * Repeatable 过滤器 + * + * @author ruoyi + */ +public class RepeatableFilter implements Filter +{ + @Override + public void init(FilterConfig filterConfig) throws ServletException + { + + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException + { + ServletRequest requestWrapper = null; + if (request instanceof HttpServletRequest + && StringUtils.equalsAnyIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE)) + { + requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response); + } + if (null == requestWrapper) + { + chain.doFilter(request, response); + } + else + { + chain.doFilter(requestWrapper, response); + } + } + + @Override + public void destroy() + { + + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/RepeatedlyRequestWrapper.java similarity index 91% rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/filter/RepeatedlyRequestWrapper.java index 9ad6f4940..0ca5aa20e 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/RepeatedlyRequestWrapper.java @@ -1,72 +1,72 @@ -package com.ruoyi.common.filter; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import javax.servlet.ReadListener; -import javax.servlet.ServletInputStream; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import com.ruoyi.common.utils.http.HttpHelper; - -/** - * 构建可重复读取inputStream的request - * - * @author ruoyi - */ -public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper -{ - private final byte[] body; - - public RepeatedlyRequestWrapper(HttpServletRequest request, ServletResponse response) throws IOException - { - super(request); - request.setCharacterEncoding("UTF-8"); - response.setCharacterEncoding("UTF-8"); - - body = HttpHelper.getBodyString(request).getBytes("UTF-8"); - } - - @Override - public BufferedReader getReader() throws IOException - { - return new BufferedReader(new InputStreamReader(getInputStream())); - } - - @Override - public ServletInputStream getInputStream() throws IOException - { - - final ByteArrayInputStream bais = new ByteArrayInputStream(body); - - return new ServletInputStream() - { - - @Override - public int read() throws IOException - { - return bais.read(); - } - - @Override - public boolean isFinished() - { - return false; - } - - @Override - public boolean isReady() - { - return false; - } - - @Override - public void setReadListener(ReadListener readListener) - { - - } - }; - } -} +package com.jiajiakang.common.filter; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import javax.servlet.ReadListener; +import javax.servlet.ServletInputStream; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import com.jiajiakang.common.utils.http.HttpHelper; + +/** + * 构建可重复读取inputStream的request + * + * @author ruoyi + */ +public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper +{ + private final byte[] body; + + public RepeatedlyRequestWrapper(HttpServletRequest request, ServletResponse response) throws IOException + { + super(request); + request.setCharacterEncoding("UTF-8"); + response.setCharacterEncoding("UTF-8"); + + body = HttpHelper.getBodyString(request).getBytes("UTF-8"); + } + + @Override + public BufferedReader getReader() throws IOException + { + return new BufferedReader(new InputStreamReader(getInputStream())); + } + + @Override + public ServletInputStream getInputStream() throws IOException + { + + final ByteArrayInputStream bais = new ByteArrayInputStream(body); + + return new ServletInputStream() + { + + @Override + public int read() throws IOException + { + return bais.read(); + } + + @Override + public boolean isFinished() + { + return false; + } + + @Override + public boolean isReady() + { + return false; + } + + @Override + public void setReadListener(ReadListener readListener) + { + + } + }; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/XssFilter.java similarity index 96% rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/filter/XssFilter.java index b3df122ec..2f06f2e15 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/XssFilter.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.filter; +package com.jiajiakang.common.filter; import java.io.IOException; import java.util.ArrayList; @@ -13,7 +13,7 @@ import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 防止XSS攻击的过滤器 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/XssHttpServletRequestWrapper.java similarity index 94% rename from ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/filter/XssHttpServletRequestWrapper.java index 3c9efb29b..c1714a98b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/filter/XssHttpServletRequestWrapper.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.filter; +package com.jiajiakang.common.filter; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -9,8 +9,8 @@ import javax.servlet.http.HttpServletRequestWrapper; import org.apache.commons.io.IOUtils; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.html.EscapeUtil; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.html.EscapeUtil; /** * XSS过滤处理 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/DateUtils.java similarity index 99% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/DateUtils.java index 536cb3cf0..719359970 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/DateUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils; +package com.jiajiakang.common.utils; import java.lang.management.ManagementFactory; import java.text.ParseException; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/DictUtils.java similarity index 92% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/DictUtils.java index 0d3a23d51..8c969f663 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/DictUtils.java @@ -1,173 +1,173 @@ -package com.ruoyi.common.utils; - -import java.util.Collection; -import java.util.List; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.utils.spring.SpringUtils; - -/** - * 字典工具类 - * - * @author ruoyi - */ -public class DictUtils -{ - /** - * 分隔符 - */ - public static final String SEPARATOR = ","; - - /** - * 设置字典缓存 - * - * @param key 参数键 - * @param dictDatas 字典数据列表 - */ - public static void setDictCache(String key, List dictDatas) - { - SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas); - } - - /** - * 获取字典缓存 - * - * @param key 参数键 - * @return dictDatas 字典数据列表 - */ - public static List getDictCache(String key) - { - Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); - if (StringUtils.isNotNull(cacheObj)) - { - List dictDatas = StringUtils.cast(cacheObj); - return dictDatas; - } - return null; - } - - /** - * 根据字典类型和字典值获取字典标签 - * - * @param dictType 字典类型 - * @param dictValue 字典值 - * @return 字典标签 - */ - public static String getDictLabel(String dictType, String dictValue) - { - return getDictLabel(dictType, dictValue, SEPARATOR); - } - - /** - * 根据字典类型和字典标签获取字典值 - * - * @param dictType 字典类型 - * @param dictLabel 字典标签 - * @return 字典值 - */ - public static String getDictValue(String dictType, String dictLabel) - { - return getDictValue(dictType, dictLabel, SEPARATOR); - } - - /** - * 根据字典类型和字典值获取字典标签 - * - * @param dictType 字典类型 - * @param dictValue 字典值 - * @param separator 分隔符 - * @return 字典标签 - */ - public static String getDictLabel(String dictType, String dictValue, String separator) - { - StringBuilder propertyString = new StringBuilder(); - List datas = getDictCache(dictType); - - if (StringUtils.containsAny(separator, dictValue) && StringUtils.isNotEmpty(datas)) - { - for (SysDictData dict : datas) - { - for (String value : dictValue.split(separator)) - { - if (value.equals(dict.getDictValue())) - { - propertyString.append(dict.getDictLabel() + separator); - break; - } - } - } - } - else - { - for (SysDictData dict : datas) - { - if (dictValue.equals(dict.getDictValue())) - { - return dict.getDictLabel(); - } - } - } - return StringUtils.stripEnd(propertyString.toString(), separator); - } - - /** - * 根据字典类型和字典标签获取字典值 - * - * @param dictType 字典类型 - * @param dictLabel 字典标签 - * @param separator 分隔符 - * @return 字典值 - */ - public static String getDictValue(String dictType, String dictLabel, String separator) - { - StringBuilder propertyString = new StringBuilder(); - List datas = getDictCache(dictType); - - if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas)) - { - for (SysDictData dict : datas) - { - for (String label : dictLabel.split(separator)) - { - if (label.equals(dict.getDictLabel())) - { - propertyString.append(dict.getDictValue() + separator); - break; - } - } - } - } - else - { - for (SysDictData dict : datas) - { - if (dictLabel.equals(dict.getDictLabel())) - { - return dict.getDictValue(); - } - } - } - return StringUtils.stripEnd(propertyString.toString(), separator); - } - - /** - * 清空字典缓存 - */ - public static void clearDictCache() - { - Collection keys = SpringUtils.getBean(RedisCache.class).keys(Constants.SYS_DICT_KEY + "*"); - SpringUtils.getBean(RedisCache.class).deleteObject(keys); - } - - /** - * 设置cache key - * - * @param configKey 参数键 - * @return 缓存键key - */ - public static String getCacheKey(String configKey) - { - return Constants.SYS_DICT_KEY + configKey; - } -} +package com.jiajiakang.common.utils; + +import java.util.Collection; +import java.util.List; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.domain.entity.SysDictData; +import com.jiajiakang.common.core.redis.RedisCache; +import com.jiajiakang.common.utils.spring.SpringUtils; + +/** + * 字典工具类 + * + * @author ruoyi + */ +public class DictUtils +{ + /** + * 分隔符 + */ + public static final String SEPARATOR = ","; + + /** + * 设置字典缓存 + * + * @param key 参数键 + * @param dictDatas 字典数据列表 + */ + public static void setDictCache(String key, List dictDatas) + { + SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas); + } + + /** + * 获取字典缓存 + * + * @param key 参数键 + * @return dictDatas 字典数据列表 + */ + public static List getDictCache(String key) + { + Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); + if (StringUtils.isNotNull(cacheObj)) + { + List dictDatas = StringUtils.cast(cacheObj); + return dictDatas; + } + return null; + } + + /** + * 根据字典类型和字典值获取字典标签 + * + * @param dictType 字典类型 + * @param dictValue 字典值 + * @return 字典标签 + */ + public static String getDictLabel(String dictType, String dictValue) + { + return getDictLabel(dictType, dictValue, SEPARATOR); + } + + /** + * 根据字典类型和字典标签获取字典值 + * + * @param dictType 字典类型 + * @param dictLabel 字典标签 + * @return 字典值 + */ + public static String getDictValue(String dictType, String dictLabel) + { + return getDictValue(dictType, dictLabel, SEPARATOR); + } + + /** + * 根据字典类型和字典值获取字典标签 + * + * @param dictType 字典类型 + * @param dictValue 字典值 + * @param separator 分隔符 + * @return 字典标签 + */ + public static String getDictLabel(String dictType, String dictValue, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List datas = getDictCache(dictType); + + if (StringUtils.containsAny(separator, dictValue) && StringUtils.isNotEmpty(datas)) + { + for (SysDictData dict : datas) + { + for (String value : dictValue.split(separator)) + { + if (value.equals(dict.getDictValue())) + { + propertyString.append(dict.getDictLabel() + separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictValue.equals(dict.getDictValue())) + { + return dict.getDictLabel(); + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 根据字典类型和字典标签获取字典值 + * + * @param dictType 字典类型 + * @param dictLabel 字典标签 + * @param separator 分隔符 + * @return 字典值 + */ + public static String getDictValue(String dictType, String dictLabel, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List datas = getDictCache(dictType); + + if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas)) + { + for (SysDictData dict : datas) + { + for (String label : dictLabel.split(separator)) + { + if (label.equals(dict.getDictLabel())) + { + propertyString.append(dict.getDictValue() + separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictLabel.equals(dict.getDictLabel())) + { + return dict.getDictValue(); + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 清空字典缓存 + */ + public static void clearDictCache() + { + Collection keys = SpringUtils.getBean(RedisCache.class).keys(Constants.SYS_DICT_KEY + "*"); + SpringUtils.getBean(RedisCache.class).deleteObject(keys); + } + + /** + * 设置cache key + * + * @param configKey 参数键 + * @return 缓存键key + */ + public static String getCacheKey(String configKey) + { + return Constants.SYS_DICT_KEY + configKey; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ExceptionUtil.java similarity index 92% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ExceptionUtil.java index 4ca52838a..3b6e34f1a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ExceptionUtil.java @@ -1,40 +1,40 @@ -package com.ruoyi.common.utils; - -import java.io.PrintWriter; -import java.io.StringWriter; -import org.apache.commons.lang3.exception.ExceptionUtils; - -/** - * 错误信息处理类。 - * - * @author ruoyi - */ -public class ExceptionUtil -{ - /** - * 获取exception的详细错误信息。 - */ - public static String getExceptionMessage(Throwable e) - { - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw, true)); - String str = sw.toString(); - return str; - } - - public static String getRootErrorMseeage(Exception e) - { - Throwable root = ExceptionUtils.getRootCause(e); - root = (root == null ? e : root); - if (root == null) - { - return ""; - } - String msg = root.getMessage(); - if (msg == null) - { - return "null"; - } - return StringUtils.defaultString(msg); - } -} +package com.jiajiakang.common.utils; + +import java.io.PrintWriter; +import java.io.StringWriter; +import org.apache.commons.lang3.exception.ExceptionUtils; + +/** + * 错误信息处理类。 + * + * @author ruoyi + */ +public class ExceptionUtil +{ + /** + * 获取exception的详细错误信息。 + */ + public static String getExceptionMessage(Throwable e) + { + StringWriter sw = new StringWriter(); + e.printStackTrace(new PrintWriter(sw, true)); + String str = sw.toString(); + return str; + } + + public static String getRootErrorMseeage(Exception e) + { + Throwable root = ExceptionUtils.getRootCause(e); + root = (root == null ? e : root); + if (root == null) + { + return ""; + } + String msg = root.getMessage(); + if (msg == null) + { + return "null"; + } + return StringUtils.defaultString(msg); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/LogUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/LogUtils.java similarity index 87% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/LogUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/LogUtils.java index 0de30c6b6..f47673c41 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/LogUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/LogUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils; +package com.jiajiakang.common.utils; /** * 处理并记录日志文件 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/MessageUtils.java similarity index 87% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/MessageUtils.java index 7dac75a3b..32832ab85 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/MessageUtils.java @@ -1,8 +1,8 @@ -package com.ruoyi.common.utils; +package com.jiajiakang.common.utils; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; -import com.ruoyi.common.utils.spring.SpringUtils; +import com.jiajiakang.common.utils.spring.SpringUtils; /** * 获取i18n资源文件 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/SecurityUtils.java similarity index 91% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/SecurityUtils.java index aec57768c..265670810 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/SecurityUtils.java @@ -1,11 +1,11 @@ -package com.ruoyi.common.utils; +package com.jiajiakang.common.utils; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.exception.CustomException; +import com.jiajiakang.common.constant.HttpStatus; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.exception.CustomException; /** * 安全服务工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ServletUtils.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ServletUtils.java index ab9ebcfcd..65779082c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ServletUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils; +package com.jiajiakang.common.utils; import java.io.IOException; import javax.servlet.http.HttpServletRequest; @@ -7,7 +7,7 @@ import javax.servlet.http.HttpSession; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import com.ruoyi.common.core.text.Convert; +import com.jiajiakang.common.core.text.Convert; /** * 客户端工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/StringUtils.java similarity index 99% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/StringUtils.java index 7e3969f1f..2f07b26ed 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/StringUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils; +package com.jiajiakang.common.utils; import java.util.ArrayList; import java.util.Collection; @@ -6,7 +6,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import com.ruoyi.common.core.text.StrFormatter; +import com.jiajiakang.common.core.text.StrFormatter; /** * 字符串工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/Threads.java similarity index 98% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/Threads.java index 193419506..4c46208d2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/Threads.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils; +package com.jiajiakang.common.utils; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/bean/BeanUtils.java similarity index 95% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/bean/BeanUtils.java index 51cdc2fb1..b466c1a3a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/bean/BeanUtils.java @@ -1,110 +1,110 @@ -package com.ruoyi.common.utils.bean; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * Bean 工具类 - * - * @author ruoyi - */ -public class BeanUtils extends org.springframework.beans.BeanUtils -{ - /** Bean方法名中属性名开始的下标 */ - private static final int BEAN_METHOD_PROP_INDEX = 3; - - /** * 匹配getter方法的正则表达式 */ - private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)"); - - /** * 匹配setter方法的正则表达式 */ - private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)"); - - /** - * Bean属性复制工具方法。 - * - * @param dest 目标对象 - * @param src 源对象 - */ - public static void copyBeanProp(Object dest, Object src) - { - try - { - copyProperties(src, dest); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - /** - * 获取对象的setter方法。 - * - * @param obj 对象 - * @return 对象的setter方法列表 - */ - public static List getSetterMethods(Object obj) - { - // setter方法列表 - List setterMethods = new ArrayList(); - - // 获取所有方法 - Method[] methods = obj.getClass().getMethods(); - - // 查找setter方法 - - for (Method method : methods) - { - Matcher m = SET_PATTERN.matcher(method.getName()); - if (m.matches() && (method.getParameterTypes().length == 1)) - { - setterMethods.add(method); - } - } - // 返回setter方法列表 - return setterMethods; - } - - /** - * 获取对象的getter方法。 - * - * @param obj 对象 - * @return 对象的getter方法列表 - */ - - public static List getGetterMethods(Object obj) - { - // getter方法列表 - List getterMethods = new ArrayList(); - // 获取所有方法 - Method[] methods = obj.getClass().getMethods(); - // 查找getter方法 - for (Method method : methods) - { - Matcher m = GET_PATTERN.matcher(method.getName()); - if (m.matches() && (method.getParameterTypes().length == 0)) - { - getterMethods.add(method); - } - } - // 返回getter方法列表 - return getterMethods; - } - - /** - * 检查Bean方法名中的属性名是否相等。
- * 如getName()和setName()属性名一样,getName()和setAge()属性名不一样。 - * - * @param m1 方法名1 - * @param m2 方法名2 - * @return 属性名一样返回true,否则返回false - */ - - public static boolean isMethodPropEquals(String m1, String m2) - { - return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX)); - } -} +package com.jiajiakang.common.utils.bean; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Bean 工具类 + * + * @author ruoyi + */ +public class BeanUtils extends org.springframework.beans.BeanUtils +{ + /** Bean方法名中属性名开始的下标 */ + private static final int BEAN_METHOD_PROP_INDEX = 3; + + /** * 匹配getter方法的正则表达式 */ + private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)"); + + /** * 匹配setter方法的正则表达式 */ + private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)"); + + /** + * Bean属性复制工具方法。 + * + * @param dest 目标对象 + * @param src 源对象 + */ + public static void copyBeanProp(Object dest, Object src) + { + try + { + copyProperties(src, dest); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * 获取对象的setter方法。 + * + * @param obj 对象 + * @return 对象的setter方法列表 + */ + public static List getSetterMethods(Object obj) + { + // setter方法列表 + List setterMethods = new ArrayList(); + + // 获取所有方法 + Method[] methods = obj.getClass().getMethods(); + + // 查找setter方法 + + for (Method method : methods) + { + Matcher m = SET_PATTERN.matcher(method.getName()); + if (m.matches() && (method.getParameterTypes().length == 1)) + { + setterMethods.add(method); + } + } + // 返回setter方法列表 + return setterMethods; + } + + /** + * 获取对象的getter方法。 + * + * @param obj 对象 + * @return 对象的getter方法列表 + */ + + public static List getGetterMethods(Object obj) + { + // getter方法列表 + List getterMethods = new ArrayList(); + // 获取所有方法 + Method[] methods = obj.getClass().getMethods(); + // 查找getter方法 + for (Method method : methods) + { + Matcher m = GET_PATTERN.matcher(method.getName()); + if (m.matches() && (method.getParameterTypes().length == 0)) + { + getterMethods.add(method); + } + } + // 返回getter方法列表 + return getterMethods; + } + + /** + * 检查Bean方法名中的属性名是否相等。
+ * 如getName()和setName()属性名一样,getName()和setAge()属性名不一样。 + * + * @param m1 方法名1 + * @param m2 方法名2 + * @return 属性名一样返回true,否则返回false + */ + + public static boolean isMethodPropEquals(String m1, String m2) + { + return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX)); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileTypeUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileTypeUtils.java similarity index 94% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileTypeUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileTypeUtils.java index 25f530666..ba528f156 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileTypeUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileTypeUtils.java @@ -1,76 +1,76 @@ -package com.ruoyi.common.utils.file; - -import java.io.File; -import org.apache.commons.lang3.StringUtils; - -/** - * 文件类型工具类 - * - * @author ruoyi - */ -public class FileTypeUtils -{ - /** - * 获取文件类型 - *

- * 例如: ruoyi.txt, 返回: txt - * - * @param file 文件名 - * @return 后缀(不含".") - */ - public static String getFileType(File file) - { - if (null == file) - { - return StringUtils.EMPTY; - } - return getFileType(file.getName()); - } - - /** - * 获取文件类型 - *

- * 例如: ruoyi.txt, 返回: txt - * - * @param fileName 文件名 - * @return 后缀(不含".") - */ - public static String getFileType(String fileName) - { - int separatorIndex = fileName.lastIndexOf("."); - if (separatorIndex < 0) - { - return ""; - } - return fileName.substring(separatorIndex + 1).toLowerCase(); - } - - /** - * 获取文件类型 - * - * @param photoByte 文件字节码 - * @return 后缀(不含".") - */ - public static String getFileExtendName(byte[] photoByte) - { - String strFileExtendName = "JPG"; - if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) - && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) - { - strFileExtendName = "GIF"; - } - else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) - { - strFileExtendName = "JPG"; - } - else if ((photoByte[0] == 66) && (photoByte[1] == 77)) - { - strFileExtendName = "BMP"; - } - else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) - { - strFileExtendName = "PNG"; - } - return strFileExtendName; - } +package com.jiajiakang.common.utils.file; + +import java.io.File; +import org.apache.commons.lang3.StringUtils; + +/** + * 文件类型工具类 + * + * @author ruoyi + */ +public class FileTypeUtils +{ + /** + * 获取文件类型 + *

+ * 例如: ruoyi.txt, 返回: txt + * + * @param file 文件名 + * @return 后缀(不含".") + */ + public static String getFileType(File file) + { + if (null == file) + { + return StringUtils.EMPTY; + } + return getFileType(file.getName()); + } + + /** + * 获取文件类型 + *

+ * 例如: ruoyi.txt, 返回: txt + * + * @param fileName 文件名 + * @return 后缀(不含".") + */ + public static String getFileType(String fileName) + { + int separatorIndex = fileName.lastIndexOf("."); + if (separatorIndex < 0) + { + return ""; + } + return fileName.substring(separatorIndex + 1).toLowerCase(); + } + + /** + * 获取文件类型 + * + * @param photoByte 文件字节码 + * @return 后缀(不含".") + */ + public static String getFileExtendName(byte[] photoByte) + { + String strFileExtendName = "JPG"; + if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) + && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) + { + strFileExtendName = "GIF"; + } + else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) + { + strFileExtendName = "JPG"; + } + else if ((photoByte[0] == 66) && (photoByte[1] == 77)) + { + strFileExtendName = "BMP"; + } + else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) + { + strFileExtendName = "PNG"; + } + return strFileExtendName; + } } \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileUploadUtils.java similarity index 93% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileUploadUtils.java index 2d1bc95f7..295b09b1d 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileUploadUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils.file; +package com.jiajiakang.common.utils.file; import java.io.File; import java.io.IOException; @@ -6,13 +6,13 @@ import java.io.IOException; import cn.hutool.core.util.IdUtil; import org.apache.commons.io.FilenameUtils; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.exception.file.FileNameLengthLimitExceededException; -import com.ruoyi.common.exception.file.FileSizeLimitExceededException; -import com.ruoyi.common.exception.file.InvalidExtensionException; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.config.RuoYiConfig; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.exception.file.FileNameLengthLimitExceededException; +import com.jiajiakang.common.exception.file.FileSizeLimitExceededException; +import com.jiajiakang.common.exception.file.InvalidExtensionException; +import com.jiajiakang.common.utils.DateUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 文件上传工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileUtils.java similarity index 98% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileUtils.java index 66c9f2484..895fb8b11 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/FileUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils.file; +package com.jiajiakang.common.utils.file; import java.io.File; import java.io.FileInputStream; @@ -11,7 +11,7 @@ import java.nio.charset.StandardCharsets; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.ArrayUtils; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 文件处理工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/ImageUtils.java similarity index 90% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/ImageUtils.java index 411ef15e0..7ecff0d81 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/ImageUtils.java @@ -1,100 +1,100 @@ -package com.ruoyi.common.utils.file; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.FileInputStream; -import java.io.InputStream; -import java.net.URL; -import java.net.URLConnection; -import java.util.Arrays; -import org.apache.poi.util.IOUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.utils.StringUtils; - -/** - * 图片处理工具类 - * - * @author ruoyi - */ -public class ImageUtils -{ - private static final Logger log = LoggerFactory.getLogger(ImageUtils.class); - - public static byte[] getImage(String imagePath) - { - InputStream is = getFile(imagePath); - try - { - return IOUtils.toByteArray(is); - } - catch (Exception e) - { - log.error("图片加载异常 {}", e); - return null; - } - finally - { - IOUtils.closeQuietly(is); - } - } - - public static InputStream getFile(String imagePath) - { - try - { - byte[] result = readFile(imagePath); - result = Arrays.copyOf(result, result.length); - return new ByteArrayInputStream(result); - } - catch (Exception e) - { - log.error("获取图片异常 {}", e); - } - return null; - } - - /** - * 读取文件为字节数据 - * - * @param key 地址 - * @return 字节数据 - */ - public static byte[] readFile(String url) - { - InputStream in = null; - ByteArrayOutputStream baos = null; - try - { - if (url.startsWith("http")) - { - // 网络地址 - URL urlObj = new URL(url); - URLConnection urlConnection = urlObj.openConnection(); - urlConnection.setConnectTimeout(30 * 1000); - urlConnection.setReadTimeout(60 * 1000); - urlConnection.setDoInput(true); - in = urlConnection.getInputStream(); - } - else - { - // 本机地址 - String localPath = RuoYiConfig.getProfile(); - String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX); - in = new FileInputStream(downloadPath); - } - return IOUtils.toByteArray(in); - } - catch (Exception e) - { - log.error("获取文件路径异常 {}", e); - return null; - } - finally - { - IOUtils.closeQuietly(baos); - } - } -} +package com.jiajiakang.common.utils.file; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.Arrays; +import org.apache.poi.util.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.jiajiakang.common.config.RuoYiConfig; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.utils.StringUtils; + +/** + * 图片处理工具类 + * + * @author ruoyi + */ +public class ImageUtils +{ + private static final Logger log = LoggerFactory.getLogger(ImageUtils.class); + + public static byte[] getImage(String imagePath) + { + InputStream is = getFile(imagePath); + try + { + return IOUtils.toByteArray(is); + } + catch (Exception e) + { + log.error("图片加载异常 {}", e); + return null; + } + finally + { + IOUtils.closeQuietly(is); + } + } + + public static InputStream getFile(String imagePath) + { + try + { + byte[] result = readFile(imagePath); + result = Arrays.copyOf(result, result.length); + return new ByteArrayInputStream(result); + } + catch (Exception e) + { + log.error("获取图片异常 {}", e); + } + return null; + } + + /** + * 读取文件为字节数据 + * + * @param key 地址 + * @return 字节数据 + */ + public static byte[] readFile(String url) + { + InputStream in = null; + ByteArrayOutputStream baos = null; + try + { + if (url.startsWith("http")) + { + // 网络地址 + URL urlObj = new URL(url); + URLConnection urlConnection = urlObj.openConnection(); + urlConnection.setConnectTimeout(30 * 1000); + urlConnection.setReadTimeout(60 * 1000); + urlConnection.setDoInput(true); + in = urlConnection.getInputStream(); + } + else + { + // 本机地址 + String localPath = RuoYiConfig.getProfile(); + String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX); + in = new FileInputStream(downloadPath); + } + return IOUtils.toByteArray(in); + } + catch (Exception e) + { + log.error("获取文件路径异常 {}", e); + return null; + } + finally + { + IOUtils.closeQuietly(baos); + } + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/MimeTypeUtils.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/MimeTypeUtils.java index 698464128..06aacc5de 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/file/MimeTypeUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils.file; +package com.jiajiakang.common.utils.file; /** * 媒体类型工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/html/EscapeUtil.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/html/EscapeUtil.java index bf9980a36..962464025 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/html/EscapeUtil.java @@ -1,6 +1,6 @@ -package com.ruoyi.common.utils.html; +package com.jiajiakang.common.utils.html; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 转义和反转义工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/html/HTMLFilter.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/html/HTMLFilter.java index 3de26bb4b..bad8cd800 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/html/HTMLFilter.java @@ -1,570 +1,570 @@ -package com.ruoyi.common.utils.html; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * HTML过滤器,用于去除XSS漏洞隐患。 - * - * @author ruoyi - */ -public final class HTMLFilter -{ - /** - * regex flag union representing /si modifiers in php - **/ - private static final int REGEX_FLAGS_SI = Pattern.CASE_INSENSITIVE | Pattern.DOTALL; - private static final Pattern P_COMMENTS = Pattern.compile("", Pattern.DOTALL); - private static final Pattern P_COMMENT = Pattern.compile("^!--(.*)--$", REGEX_FLAGS_SI); - private static final Pattern P_TAGS = Pattern.compile("<(.*?)>", Pattern.DOTALL); - private static final Pattern P_END_TAG = Pattern.compile("^/([a-z0-9]+)", REGEX_FLAGS_SI); - private static final Pattern P_START_TAG = Pattern.compile("^([a-z0-9]+)(.*?)(/?)$", REGEX_FLAGS_SI); - private static final Pattern P_QUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)=([\"'])(.*?)\\2", REGEX_FLAGS_SI); - private static final Pattern P_UNQUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)(=)([^\"\\s']+)", REGEX_FLAGS_SI); - private static final Pattern P_PROTOCOL = Pattern.compile("^([^:]+):", REGEX_FLAGS_SI); - private static final Pattern P_ENTITY = Pattern.compile("&#(\\d+);?"); - private static final Pattern P_ENTITY_UNICODE = Pattern.compile("&#x([0-9a-f]+);?"); - private static final Pattern P_ENCODE = Pattern.compile("%([0-9a-f]{2});?"); - private static final Pattern P_VALID_ENTITIES = Pattern.compile("&([^&;]*)(?=(;|&|$))"); - private static final Pattern P_VALID_QUOTES = Pattern.compile("(>|^)([^<]+?)(<|$)", Pattern.DOTALL); - private static final Pattern P_END_ARROW = Pattern.compile("^>"); - private static final Pattern P_BODY_TO_END = Pattern.compile("<([^>]*?)(?=<|$)"); - private static final Pattern P_XML_CONTENT = Pattern.compile("(^|>)([^<]*?)(?=>)"); - private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)"); - private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)"); - private static final Pattern P_AMP = Pattern.compile("&"); - private static final Pattern P_QUOTE = Pattern.compile("\""); - private static final Pattern P_LEFT_ARROW = Pattern.compile("<"); - private static final Pattern P_RIGHT_ARROW = Pattern.compile(">"); - private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>"); - - // @xxx could grow large... maybe use sesat's ReferenceMap - private static final ConcurrentMap P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>(); - private static final ConcurrentMap P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>(); - - /** - * set of allowed html elements, along with allowed attributes for each element - **/ - private final Map> vAllowed; - /** - * counts of open tags for each (allowable) html element - **/ - private final Map vTagCounts = new HashMap<>(); - - /** - * html elements which must always be self-closing (e.g. "") - **/ - private final String[] vSelfClosingTags; - /** - * html elements which must always have separate opening and closing tags (e.g. "") - **/ - private final String[] vNeedClosingTags; - /** - * set of disallowed html elements - **/ - private final String[] vDisallowed; - /** - * attributes which should be checked for valid protocols - **/ - private final String[] vProtocolAtts; - /** - * allowed protocols - **/ - private final String[] vAllowedProtocols; - /** - * tags which should be removed if they contain no content (e.g. "" or "") - **/ - private final String[] vRemoveBlanks; - /** - * entities allowed within html markup - **/ - private final String[] vAllowedEntities; - /** - * flag determining whether comments are allowed in input String. - */ - private final boolean stripComment; - private final boolean encodeQuotes; - /** - * flag determining whether to try to make tags when presented with "unbalanced" angle brackets (e.g. "" - * becomes " text "). If set to false, unbalanced angle brackets will be html escaped. - */ - private final boolean alwaysMakeTags; - - /** - * Default constructor. - */ - public HTMLFilter() - { - vAllowed = new HashMap<>(); - - final ArrayList a_atts = new ArrayList<>(); - a_atts.add("href"); - a_atts.add("target"); - vAllowed.put("a", a_atts); - - final ArrayList img_atts = new ArrayList<>(); - img_atts.add("src"); - img_atts.add("width"); - img_atts.add("height"); - img_atts.add("alt"); - vAllowed.put("img", img_atts); - - final ArrayList no_atts = new ArrayList<>(); - vAllowed.put("b", no_atts); - vAllowed.put("strong", no_atts); - vAllowed.put("i", no_atts); - vAllowed.put("em", no_atts); - - vSelfClosingTags = new String[] { "img" }; - vNeedClosingTags = new String[] { "a", "b", "strong", "i", "em" }; - vDisallowed = new String[] {}; - vAllowedProtocols = new String[] { "http", "mailto", "https" }; // no ftp. - vProtocolAtts = new String[] { "src", "href" }; - vRemoveBlanks = new String[] { "a", "b", "strong", "i", "em" }; - vAllowedEntities = new String[] { "amp", "gt", "lt", "quot" }; - stripComment = true; - encodeQuotes = true; - alwaysMakeTags = false; - } - - /** - * Map-parameter configurable constructor. - * - * @param conf map containing configuration. keys match field names. - */ - @SuppressWarnings("unchecked") - public HTMLFilter(final Map conf) - { - - assert conf.containsKey("vAllowed") : "configuration requires vAllowed"; - assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags"; - assert conf.containsKey("vNeedClosingTags") : "configuration requires vNeedClosingTags"; - assert conf.containsKey("vDisallowed") : "configuration requires vDisallowed"; - assert conf.containsKey("vAllowedProtocols") : "configuration requires vAllowedProtocols"; - assert conf.containsKey("vProtocolAtts") : "configuration requires vProtocolAtts"; - assert conf.containsKey("vRemoveBlanks") : "configuration requires vRemoveBlanks"; - assert conf.containsKey("vAllowedEntities") : "configuration requires vAllowedEntities"; - - vAllowed = Collections.unmodifiableMap((HashMap>) conf.get("vAllowed")); - vSelfClosingTags = (String[]) conf.get("vSelfClosingTags"); - vNeedClosingTags = (String[]) conf.get("vNeedClosingTags"); - vDisallowed = (String[]) conf.get("vDisallowed"); - vAllowedProtocols = (String[]) conf.get("vAllowedProtocols"); - vProtocolAtts = (String[]) conf.get("vProtocolAtts"); - vRemoveBlanks = (String[]) conf.get("vRemoveBlanks"); - vAllowedEntities = (String[]) conf.get("vAllowedEntities"); - stripComment = conf.containsKey("stripComment") ? (Boolean) conf.get("stripComment") : true; - encodeQuotes = conf.containsKey("encodeQuotes") ? (Boolean) conf.get("encodeQuotes") : true; - alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true; - } - - private void reset() - { - vTagCounts.clear(); - } - - // --------------------------------------------------------------- - // my versions of some PHP library functions - public static String chr(final int decimal) - { - return String.valueOf((char) decimal); - } - - public static String htmlSpecialChars(final String s) - { - String result = s; - result = regexReplace(P_AMP, "&", result); - result = regexReplace(P_QUOTE, """, result); - result = regexReplace(P_LEFT_ARROW, "<", result); - result = regexReplace(P_RIGHT_ARROW, ">", result); - return result; - } - - // --------------------------------------------------------------- - - /** - * given a user submitted input String, filter out any invalid or restricted html. - * - * @param input text (i.e. submitted by a user) than may contain html - * @return "clean" version of input, with only valid, whitelisted html elements allowed - */ - public String filter(final String input) - { - reset(); - String s = input; - - s = escapeComments(s); - - s = balanceHTML(s); - - s = checkTags(s); - - s = processRemoveBlanks(s); - - // s = validateEntities(s); - - return s; - } - - public boolean isAlwaysMakeTags() - { - return alwaysMakeTags; - } - - public boolean isStripComments() - { - return stripComment; - } - - private String escapeComments(final String s) - { - final Matcher m = P_COMMENTS.matcher(s); - final StringBuffer buf = new StringBuffer(); - if (m.find()) - { - final String match = m.group(1); // (.*?) - m.appendReplacement(buf, Matcher.quoteReplacement("")); - } - m.appendTail(buf); - - return buf.toString(); - } - - private String balanceHTML(String s) - { - if (alwaysMakeTags) - { - // - // try and form html - // - s = regexReplace(P_END_ARROW, "", s); - // 不追加结束标签 - s = regexReplace(P_BODY_TO_END, "<$1>", s); - s = regexReplace(P_XML_CONTENT, "$1<$2", s); - - } - else - { - // - // escape stray brackets - // - s = regexReplace(P_STRAY_LEFT_ARROW, "<$1", s); - s = regexReplace(P_STRAY_RIGHT_ARROW, "$1$2><", s); - - // - // the last regexp causes '<>' entities to appear - // (we need to do a lookahead assertion so that the last bracket can - // be used in the next pass of the regexp) - // - s = regexReplace(P_BOTH_ARROWS, "", s); - } - - return s; - } - - private String checkTags(String s) - { - Matcher m = P_TAGS.matcher(s); - - final StringBuffer buf = new StringBuffer(); - while (m.find()) - { - String replaceStr = m.group(1); - replaceStr = processTag(replaceStr); - m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr)); - } - m.appendTail(buf); - - // these get tallied in processTag - // (remember to reset before subsequent calls to filter method) - final StringBuilder sBuilder = new StringBuilder(buf.toString()); - for (String key : vTagCounts.keySet()) - { - for (int ii = 0; ii < vTagCounts.get(key); ii++) - { - sBuilder.append(""); - } - } - s = sBuilder.toString(); - - return s; - } - - private String processRemoveBlanks(final String s) - { - String result = s; - for (String tag : vRemoveBlanks) - { - if (!P_REMOVE_PAIR_BLANKS.containsKey(tag)) - { - P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?>")); - } - result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result); - if (!P_REMOVE_SELF_BLANKS.containsKey(tag)) - { - P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>")); - } - result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result); - } - - return result; - } - - private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s) - { - Matcher m = regex_pattern.matcher(s); - return m.replaceAll(replacement); - } - - private String processTag(final String s) - { - // ending tags - Matcher m = P_END_TAG.matcher(s); - if (m.find()) - { - final String name = m.group(1).toLowerCase(); - if (allowed(name)) - { - if (false == inArray(name, vSelfClosingTags)) - { - if (vTagCounts.containsKey(name)) - { - vTagCounts.put(name, vTagCounts.get(name) - 1); - return ""; - } - } - } - } - - // starting tags - m = P_START_TAG.matcher(s); - if (m.find()) - { - final String name = m.group(1).toLowerCase(); - final String body = m.group(2); - String ending = m.group(3); - - // debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" ); - if (allowed(name)) - { - final StringBuilder params = new StringBuilder(); - - final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body); - final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body); - final List paramNames = new ArrayList<>(); - final List paramValues = new ArrayList<>(); - while (m2.find()) - { - paramNames.add(m2.group(1)); // ([a-z0-9]+) - paramValues.add(m2.group(3)); // (.*?) - } - while (m3.find()) - { - paramNames.add(m3.group(1)); // ([a-z0-9]+) - paramValues.add(m3.group(3)); // ([^\"\\s']+) - } - - String paramName, paramValue; - for (int ii = 0; ii < paramNames.size(); ii++) - { - paramName = paramNames.get(ii).toLowerCase(); - paramValue = paramValues.get(ii); - - // debug( "paramName='" + paramName + "'" ); - // debug( "paramValue='" + paramValue + "'" ); - // debug( "allowed? " + vAllowed.get( name ).contains( paramName ) ); - - if (allowedAttribute(name, paramName)) - { - if (inArray(paramName, vProtocolAtts)) - { - paramValue = processParamProtocol(paramValue); - } - params.append(' ').append(paramName).append("=\"").append(paramValue).append("\""); - } - } - - if (inArray(name, vSelfClosingTags)) - { - ending = " /"; - } - - if (inArray(name, vNeedClosingTags)) - { - ending = ""; - } - - if (ending == null || ending.length() < 1) - { - if (vTagCounts.containsKey(name)) - { - vTagCounts.put(name, vTagCounts.get(name) + 1); - } - else - { - vTagCounts.put(name, 1); - } - } - else - { - ending = " /"; - } - return "<" + name + params + ending + ">"; - } - else - { - return ""; - } - } - - // comments - m = P_COMMENT.matcher(s); - if (!stripComment && m.find()) - { - return "<" + m.group() + ">"; - } - - return ""; - } - - private String processParamProtocol(String s) - { - s = decodeEntities(s); - final Matcher m = P_PROTOCOL.matcher(s); - if (m.find()) - { - final String protocol = m.group(1); - if (!inArray(protocol, vAllowedProtocols)) - { - // bad protocol, turn into local anchor link instead - s = "#" + s.substring(protocol.length() + 1); - if (s.startsWith("#//")) - { - s = "#" + s.substring(3); - } - } - } - - return s; - } - - private String decodeEntities(String s) - { - StringBuffer buf = new StringBuffer(); - - Matcher m = P_ENTITY.matcher(s); - while (m.find()) - { - final String match = m.group(1); - final int decimal = Integer.decode(match).intValue(); - m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); - } - m.appendTail(buf); - s = buf.toString(); - - buf = new StringBuffer(); - m = P_ENTITY_UNICODE.matcher(s); - while (m.find()) - { - final String match = m.group(1); - final int decimal = Integer.valueOf(match, 16).intValue(); - m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); - } - m.appendTail(buf); - s = buf.toString(); - - buf = new StringBuffer(); - m = P_ENCODE.matcher(s); - while (m.find()) - { - final String match = m.group(1); - final int decimal = Integer.valueOf(match, 16).intValue(); - m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); - } - m.appendTail(buf); - s = buf.toString(); - - s = validateEntities(s); - return s; - } - - private String validateEntities(final String s) - { - StringBuffer buf = new StringBuffer(); - - // validate entities throughout the string - Matcher m = P_VALID_ENTITIES.matcher(s); - while (m.find()) - { - final String one = m.group(1); // ([^&;]*) - final String two = m.group(2); // (?=(;|&|$)) - m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); - } - m.appendTail(buf); - - return encodeQuotes(buf.toString()); - } - - private String encodeQuotes(final String s) - { - if (encodeQuotes) - { - StringBuffer buf = new StringBuffer(); - Matcher m = P_VALID_QUOTES.matcher(s); - while (m.find()) - { - final String one = m.group(1); // (>|^) - final String two = m.group(2); // ([^<]+?) - final String three = m.group(3); // (<|$) - // 不替换双引号为",防止json格式无效 regexReplace(P_QUOTE, """, two) - m.appendReplacement(buf, Matcher.quoteReplacement(one + two + three)); - } - m.appendTail(buf); - return buf.toString(); - } - else - { - return s; - } - } - - private String checkEntity(final String preamble, final String term) - { - - return ";".equals(term) && isValidEntity(preamble) ? '&' + preamble : "&" + preamble; - } - - private boolean isValidEntity(final String entity) - { - return inArray(entity, vAllowedEntities); - } - - private static boolean inArray(final String s, final String[] array) - { - for (String item : array) - { - if (item != null && item.equals(s)) - { - return true; - } - } - return false; - } - - private boolean allowed(final String name) - { - return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed); - } - - private boolean allowedAttribute(final String name, final String paramName) - { - return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName)); - } +package com.jiajiakang.common.utils.html; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * HTML过滤器,用于去除XSS漏洞隐患。 + * + * @author ruoyi + */ +public final class HTMLFilter +{ + /** + * regex flag union representing /si modifiers in php + **/ + private static final int REGEX_FLAGS_SI = Pattern.CASE_INSENSITIVE | Pattern.DOTALL; + private static final Pattern P_COMMENTS = Pattern.compile("", Pattern.DOTALL); + private static final Pattern P_COMMENT = Pattern.compile("^!--(.*)--$", REGEX_FLAGS_SI); + private static final Pattern P_TAGS = Pattern.compile("<(.*?)>", Pattern.DOTALL); + private static final Pattern P_END_TAG = Pattern.compile("^/([a-z0-9]+)", REGEX_FLAGS_SI); + private static final Pattern P_START_TAG = Pattern.compile("^([a-z0-9]+)(.*?)(/?)$", REGEX_FLAGS_SI); + private static final Pattern P_QUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)=([\"'])(.*?)\\2", REGEX_FLAGS_SI); + private static final Pattern P_UNQUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)(=)([^\"\\s']+)", REGEX_FLAGS_SI); + private static final Pattern P_PROTOCOL = Pattern.compile("^([^:]+):", REGEX_FLAGS_SI); + private static final Pattern P_ENTITY = Pattern.compile("&#(\\d+);?"); + private static final Pattern P_ENTITY_UNICODE = Pattern.compile("&#x([0-9a-f]+);?"); + private static final Pattern P_ENCODE = Pattern.compile("%([0-9a-f]{2});?"); + private static final Pattern P_VALID_ENTITIES = Pattern.compile("&([^&;]*)(?=(;|&|$))"); + private static final Pattern P_VALID_QUOTES = Pattern.compile("(>|^)([^<]+?)(<|$)", Pattern.DOTALL); + private static final Pattern P_END_ARROW = Pattern.compile("^>"); + private static final Pattern P_BODY_TO_END = Pattern.compile("<([^>]*?)(?=<|$)"); + private static final Pattern P_XML_CONTENT = Pattern.compile("(^|>)([^<]*?)(?=>)"); + private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)"); + private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)"); + private static final Pattern P_AMP = Pattern.compile("&"); + private static final Pattern P_QUOTE = Pattern.compile("\""); + private static final Pattern P_LEFT_ARROW = Pattern.compile("<"); + private static final Pattern P_RIGHT_ARROW = Pattern.compile(">"); + private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>"); + + // @xxx could grow large... maybe use sesat's ReferenceMap + private static final ConcurrentMap P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>(); + private static final ConcurrentMap P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>(); + + /** + * set of allowed html elements, along with allowed attributes for each element + **/ + private final Map> vAllowed; + /** + * counts of open tags for each (allowable) html element + **/ + private final Map vTagCounts = new HashMap<>(); + + /** + * html elements which must always be self-closing (e.g. "") + **/ + private final String[] vSelfClosingTags; + /** + * html elements which must always have separate opening and closing tags (e.g. "") + **/ + private final String[] vNeedClosingTags; + /** + * set of disallowed html elements + **/ + private final String[] vDisallowed; + /** + * attributes which should be checked for valid protocols + **/ + private final String[] vProtocolAtts; + /** + * allowed protocols + **/ + private final String[] vAllowedProtocols; + /** + * tags which should be removed if they contain no content (e.g. "" or "") + **/ + private final String[] vRemoveBlanks; + /** + * entities allowed within html markup + **/ + private final String[] vAllowedEntities; + /** + * flag determining whether comments are allowed in input String. + */ + private final boolean stripComment; + private final boolean encodeQuotes; + /** + * flag determining whether to try to make tags when presented with "unbalanced" angle brackets (e.g. "" + * becomes " text "). If set to false, unbalanced angle brackets will be html escaped. + */ + private final boolean alwaysMakeTags; + + /** + * Default constructor. + */ + public HTMLFilter() + { + vAllowed = new HashMap<>(); + + final ArrayList a_atts = new ArrayList<>(); + a_atts.add("href"); + a_atts.add("target"); + vAllowed.put("a", a_atts); + + final ArrayList img_atts = new ArrayList<>(); + img_atts.add("src"); + img_atts.add("width"); + img_atts.add("height"); + img_atts.add("alt"); + vAllowed.put("img", img_atts); + + final ArrayList no_atts = new ArrayList<>(); + vAllowed.put("b", no_atts); + vAllowed.put("strong", no_atts); + vAllowed.put("i", no_atts); + vAllowed.put("em", no_atts); + + vSelfClosingTags = new String[] { "img" }; + vNeedClosingTags = new String[] { "a", "b", "strong", "i", "em" }; + vDisallowed = new String[] {}; + vAllowedProtocols = new String[] { "http", "mailto", "https" }; // no ftp. + vProtocolAtts = new String[] { "src", "href" }; + vRemoveBlanks = new String[] { "a", "b", "strong", "i", "em" }; + vAllowedEntities = new String[] { "amp", "gt", "lt", "quot" }; + stripComment = true; + encodeQuotes = true; + alwaysMakeTags = false; + } + + /** + * Map-parameter configurable constructor. + * + * @param conf map containing configuration. keys match field names. + */ + @SuppressWarnings("unchecked") + public HTMLFilter(final Map conf) + { + + assert conf.containsKey("vAllowed") : "configuration requires vAllowed"; + assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags"; + assert conf.containsKey("vNeedClosingTags") : "configuration requires vNeedClosingTags"; + assert conf.containsKey("vDisallowed") : "configuration requires vDisallowed"; + assert conf.containsKey("vAllowedProtocols") : "configuration requires vAllowedProtocols"; + assert conf.containsKey("vProtocolAtts") : "configuration requires vProtocolAtts"; + assert conf.containsKey("vRemoveBlanks") : "configuration requires vRemoveBlanks"; + assert conf.containsKey("vAllowedEntities") : "configuration requires vAllowedEntities"; + + vAllowed = Collections.unmodifiableMap((HashMap>) conf.get("vAllowed")); + vSelfClosingTags = (String[]) conf.get("vSelfClosingTags"); + vNeedClosingTags = (String[]) conf.get("vNeedClosingTags"); + vDisallowed = (String[]) conf.get("vDisallowed"); + vAllowedProtocols = (String[]) conf.get("vAllowedProtocols"); + vProtocolAtts = (String[]) conf.get("vProtocolAtts"); + vRemoveBlanks = (String[]) conf.get("vRemoveBlanks"); + vAllowedEntities = (String[]) conf.get("vAllowedEntities"); + stripComment = conf.containsKey("stripComment") ? (Boolean) conf.get("stripComment") : true; + encodeQuotes = conf.containsKey("encodeQuotes") ? (Boolean) conf.get("encodeQuotes") : true; + alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true; + } + + private void reset() + { + vTagCounts.clear(); + } + + // --------------------------------------------------------------- + // my versions of some PHP library functions + public static String chr(final int decimal) + { + return String.valueOf((char) decimal); + } + + public static String htmlSpecialChars(final String s) + { + String result = s; + result = regexReplace(P_AMP, "&", result); + result = regexReplace(P_QUOTE, """, result); + result = regexReplace(P_LEFT_ARROW, "<", result); + result = regexReplace(P_RIGHT_ARROW, ">", result); + return result; + } + + // --------------------------------------------------------------- + + /** + * given a user submitted input String, filter out any invalid or restricted html. + * + * @param input text (i.e. submitted by a user) than may contain html + * @return "clean" version of input, with only valid, whitelisted html elements allowed + */ + public String filter(final String input) + { + reset(); + String s = input; + + s = escapeComments(s); + + s = balanceHTML(s); + + s = checkTags(s); + + s = processRemoveBlanks(s); + + // s = validateEntities(s); + + return s; + } + + public boolean isAlwaysMakeTags() + { + return alwaysMakeTags; + } + + public boolean isStripComments() + { + return stripComment; + } + + private String escapeComments(final String s) + { + final Matcher m = P_COMMENTS.matcher(s); + final StringBuffer buf = new StringBuffer(); + if (m.find()) + { + final String match = m.group(1); // (.*?) + m.appendReplacement(buf, Matcher.quoteReplacement("")); + } + m.appendTail(buf); + + return buf.toString(); + } + + private String balanceHTML(String s) + { + if (alwaysMakeTags) + { + // + // try and form html + // + s = regexReplace(P_END_ARROW, "", s); + // 不追加结束标签 + s = regexReplace(P_BODY_TO_END, "<$1>", s); + s = regexReplace(P_XML_CONTENT, "$1<$2", s); + + } + else + { + // + // escape stray brackets + // + s = regexReplace(P_STRAY_LEFT_ARROW, "<$1", s); + s = regexReplace(P_STRAY_RIGHT_ARROW, "$1$2><", s); + + // + // the last regexp causes '<>' entities to appear + // (we need to do a lookahead assertion so that the last bracket can + // be used in the next pass of the regexp) + // + s = regexReplace(P_BOTH_ARROWS, "", s); + } + + return s; + } + + private String checkTags(String s) + { + Matcher m = P_TAGS.matcher(s); + + final StringBuffer buf = new StringBuffer(); + while (m.find()) + { + String replaceStr = m.group(1); + replaceStr = processTag(replaceStr); + m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr)); + } + m.appendTail(buf); + + // these get tallied in processTag + // (remember to reset before subsequent calls to filter method) + final StringBuilder sBuilder = new StringBuilder(buf.toString()); + for (String key : vTagCounts.keySet()) + { + for (int ii = 0; ii < vTagCounts.get(key); ii++) + { + sBuilder.append(""); + } + } + s = sBuilder.toString(); + + return s; + } + + private String processRemoveBlanks(final String s) + { + String result = s; + for (String tag : vRemoveBlanks) + { + if (!P_REMOVE_PAIR_BLANKS.containsKey(tag)) + { + P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?>")); + } + result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result); + if (!P_REMOVE_SELF_BLANKS.containsKey(tag)) + { + P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>")); + } + result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result); + } + + return result; + } + + private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s) + { + Matcher m = regex_pattern.matcher(s); + return m.replaceAll(replacement); + } + + private String processTag(final String s) + { + // ending tags + Matcher m = P_END_TAG.matcher(s); + if (m.find()) + { + final String name = m.group(1).toLowerCase(); + if (allowed(name)) + { + if (false == inArray(name, vSelfClosingTags)) + { + if (vTagCounts.containsKey(name)) + { + vTagCounts.put(name, vTagCounts.get(name) - 1); + return ""; + } + } + } + } + + // starting tags + m = P_START_TAG.matcher(s); + if (m.find()) + { + final String name = m.group(1).toLowerCase(); + final String body = m.group(2); + String ending = m.group(3); + + // debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" ); + if (allowed(name)) + { + final StringBuilder params = new StringBuilder(); + + final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body); + final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body); + final List paramNames = new ArrayList<>(); + final List paramValues = new ArrayList<>(); + while (m2.find()) + { + paramNames.add(m2.group(1)); // ([a-z0-9]+) + paramValues.add(m2.group(3)); // (.*?) + } + while (m3.find()) + { + paramNames.add(m3.group(1)); // ([a-z0-9]+) + paramValues.add(m3.group(3)); // ([^\"\\s']+) + } + + String paramName, paramValue; + for (int ii = 0; ii < paramNames.size(); ii++) + { + paramName = paramNames.get(ii).toLowerCase(); + paramValue = paramValues.get(ii); + + // debug( "paramName='" + paramName + "'" ); + // debug( "paramValue='" + paramValue + "'" ); + // debug( "allowed? " + vAllowed.get( name ).contains( paramName ) ); + + if (allowedAttribute(name, paramName)) + { + if (inArray(paramName, vProtocolAtts)) + { + paramValue = processParamProtocol(paramValue); + } + params.append(' ').append(paramName).append("=\"").append(paramValue).append("\""); + } + } + + if (inArray(name, vSelfClosingTags)) + { + ending = " /"; + } + + if (inArray(name, vNeedClosingTags)) + { + ending = ""; + } + + if (ending == null || ending.length() < 1) + { + if (vTagCounts.containsKey(name)) + { + vTagCounts.put(name, vTagCounts.get(name) + 1); + } + else + { + vTagCounts.put(name, 1); + } + } + else + { + ending = " /"; + } + return "<" + name + params + ending + ">"; + } + else + { + return ""; + } + } + + // comments + m = P_COMMENT.matcher(s); + if (!stripComment && m.find()) + { + return "<" + m.group() + ">"; + } + + return ""; + } + + private String processParamProtocol(String s) + { + s = decodeEntities(s); + final Matcher m = P_PROTOCOL.matcher(s); + if (m.find()) + { + final String protocol = m.group(1); + if (!inArray(protocol, vAllowedProtocols)) + { + // bad protocol, turn into local anchor link instead + s = "#" + s.substring(protocol.length() + 1); + if (s.startsWith("#//")) + { + s = "#" + s.substring(3); + } + } + } + + return s; + } + + private String decodeEntities(String s) + { + StringBuffer buf = new StringBuffer(); + + Matcher m = P_ENTITY.matcher(s); + while (m.find()) + { + final String match = m.group(1); + final int decimal = Integer.decode(match).intValue(); + m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); + } + m.appendTail(buf); + s = buf.toString(); + + buf = new StringBuffer(); + m = P_ENTITY_UNICODE.matcher(s); + while (m.find()) + { + final String match = m.group(1); + final int decimal = Integer.valueOf(match, 16).intValue(); + m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); + } + m.appendTail(buf); + s = buf.toString(); + + buf = new StringBuffer(); + m = P_ENCODE.matcher(s); + while (m.find()) + { + final String match = m.group(1); + final int decimal = Integer.valueOf(match, 16).intValue(); + m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); + } + m.appendTail(buf); + s = buf.toString(); + + s = validateEntities(s); + return s; + } + + private String validateEntities(final String s) + { + StringBuffer buf = new StringBuffer(); + + // validate entities throughout the string + Matcher m = P_VALID_ENTITIES.matcher(s); + while (m.find()) + { + final String one = m.group(1); // ([^&;]*) + final String two = m.group(2); // (?=(;|&|$)) + m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); + } + m.appendTail(buf); + + return encodeQuotes(buf.toString()); + } + + private String encodeQuotes(final String s) + { + if (encodeQuotes) + { + StringBuffer buf = new StringBuffer(); + Matcher m = P_VALID_QUOTES.matcher(s); + while (m.find()) + { + final String one = m.group(1); // (>|^) + final String two = m.group(2); // ([^<]+?) + final String three = m.group(3); // (<|$) + // 不替换双引号为",防止json格式无效 regexReplace(P_QUOTE, """, two) + m.appendReplacement(buf, Matcher.quoteReplacement(one + two + three)); + } + m.appendTail(buf); + return buf.toString(); + } + else + { + return s; + } + } + + private String checkEntity(final String preamble, final String term) + { + + return ";".equals(term) && isValidEntity(preamble) ? '&' + preamble : "&" + preamble; + } + + private boolean isValidEntity(final String entity) + { + return inArray(entity, vAllowedEntities); + } + + private static boolean inArray(final String s, final String[] array) + { + for (String item : array) + { + if (item != null && item.equals(s)) + { + return true; + } + } + return false; + } + + private boolean allowed(final String name) + { + return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed); + } + + private boolean allowedAttribute(final String name, final String paramName) + { + return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName)); + } } \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/http/HttpHelper.java similarity index 93% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/http/HttpHelper.java index e34fa5ae6..458408988 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/http/HttpHelper.java @@ -1,55 +1,55 @@ -package com.ruoyi.common.utils.http; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.Charset; -import javax.servlet.ServletRequest; -import org.apache.commons.lang3.exception.ExceptionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * 通用http工具封装 - * - * @author ruoyi - */ -public class HttpHelper -{ - private static final Logger LOGGER = LoggerFactory.getLogger(HttpHelper.class); - - public static String getBodyString(ServletRequest request) - { - StringBuilder sb = new StringBuilder(); - BufferedReader reader = null; - try (InputStream inputStream = request.getInputStream()) - { - reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8"))); - String line = ""; - while ((line = reader.readLine()) != null) - { - sb.append(line); - } - } - catch (IOException e) - { - LOGGER.warn("getBodyString出现问题!"); - } - finally - { - if (reader != null) - { - try - { - reader.close(); - } - catch (IOException e) - { - LOGGER.error(ExceptionUtils.getMessage(e)); - } - } - } - return sb.toString(); - } -} +package com.jiajiakang.common.utils.http; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.Charset; +import javax.servlet.ServletRequest; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 通用http工具封装 + * + * @author ruoyi + */ +public class HttpHelper +{ + private static final Logger LOGGER = LoggerFactory.getLogger(HttpHelper.class); + + public static String getBodyString(ServletRequest request) + { + StringBuilder sb = new StringBuilder(); + BufferedReader reader = null; + try (InputStream inputStream = request.getInputStream()) + { + reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8"))); + String line = ""; + while ((line = reader.readLine()) != null) + { + sb.append(line); + } + } + catch (IOException e) + { + LOGGER.warn("getBodyString出现问题!"); + } + finally + { + if (reader != null) + { + try + { + reader.close(); + } + catch (IOException e) + { + LOGGER.error(ExceptionUtils.getMessage(e)); + } + } + } + return sb.toString(); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/http/HttpUtils.java similarity index 99% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/http/HttpUtils.java index 9aee92ef5..cc6f58d27 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/http/HttpUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils.http; +package com.jiajiakang.common.utils.http; import java.io.BufferedReader; import java.io.IOException; @@ -18,7 +18,7 @@ import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.ruoyi.common.constant.Constants; +import com.jiajiakang.common.constant.Constants; /** * 通用http发送方法 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ip/AddressUtils.java similarity index 85% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ip/AddressUtils.java index 01c24fc76..a3a87e9a4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ip/AddressUtils.java @@ -1,12 +1,12 @@ -package com.ruoyi.common.utils.ip; +package com.jiajiakang.common.utils.ip; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.http.HttpUtils; +import com.jiajiakang.common.config.RuoYiConfig; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.http.HttpUtils; /** * 获取地址类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ip/IpUtils.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ip/IpUtils.java index 1b3f42ba4..59e4a77a0 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/ip/IpUtils.java @@ -1,10 +1,10 @@ -package com.ruoyi.common.utils.ip; +package com.jiajiakang.common.utils.ip; import java.net.InetAddress; import java.net.UnknownHostException; import javax.servlet.http.HttpServletRequest; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.html.EscapeUtil; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.html.EscapeUtil; /** * 获取IP方法 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/poi/ExcelUtil.java similarity index 95% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/poi/ExcelUtil.java index dcba68e09..4e50357f2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/poi/ExcelUtil.java @@ -1,1093 +1,1093 @@ -package com.ruoyi.common.utils.poi; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.lang.reflect.Field; -import java.math.BigDecimal; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.stream.Collectors; -import org.apache.poi.ss.usermodel.BorderStyle; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.ss.usermodel.ClientAnchor; -import org.apache.poi.ss.usermodel.DataValidation; -import org.apache.poi.ss.usermodel.DataValidationConstraint; -import org.apache.poi.ss.usermodel.DataValidationHelper; -import org.apache.poi.ss.usermodel.DateUtil; -import org.apache.poi.ss.usermodel.Drawing; -import org.apache.poi.ss.usermodel.FillPatternType; -import org.apache.poi.ss.usermodel.Font; -import org.apache.poi.ss.usermodel.HorizontalAlignment; -import org.apache.poi.ss.usermodel.IndexedColors; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.VerticalAlignment; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; -import org.apache.poi.ss.util.CellRangeAddressList; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFClientAnchor; -import org.apache.poi.xssf.usermodel.XSSFDataValidation; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.annotation.Excel.Type; -import com.ruoyi.common.annotation.Excels; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.DictUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.file.FileTypeUtils; -import com.ruoyi.common.utils.file.ImageUtils; -import com.ruoyi.common.utils.reflect.ReflectUtils; - -/** - * Excel相关处理 - * - * @author ruoyi - */ -public class ExcelUtil -{ - private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); - - /** - * Excel sheet最大行数,默认65536 - */ - public static final int sheetSize = 65536; - - /** - * 工作表名称 - */ - private String sheetName; - - /** - * 导出类型(EXPORT:导出数据;IMPORT:导入模板) - */ - private Type type; - - /** - * 工作薄对象 - */ - private Workbook wb; - - /** - * 工作表对象 - */ - private Sheet sheet; - - /** - * 样式列表 - */ - private Map styles; - - /** - * 导入导出数据列表 - */ - private List list; - - /** - * 注解列表 - */ - private List fields; - - /** - * 最大高度 - */ - private short maxHeight; - - /** - * 统计列表 - */ - private Map statistics = new HashMap(); - - /** - * 数字格式 - */ - private static final DecimalFormat DOUBLE_FORMAT = new DecimalFormat("######0.00"); - - /** - * 实体对象 - */ - public Class clazz; - - public ExcelUtil(Class clazz) - { - this.clazz = clazz; - } - - public void init(List list, String sheetName, Type type) - { - if (list == null) - { - list = new ArrayList(); - } - this.list = list; - this.sheetName = sheetName; - this.type = type; - createExcelField(); - createWorkbook(); - } - - /** - * 对excel表单默认第一个索引名转换成list - * - * @param is 输入流 - * @return 转换后集合 - */ - public List importExcel(InputStream is) throws Exception - { - return importExcel(StringUtils.EMPTY, is); - } - - /** - * 对excel表单指定表格索引名转换成list - * - * @param sheetName 表格索引名 - * @param is 输入流 - * @return 转换后集合 - */ - public List importExcel(String sheetName, InputStream is) throws Exception - { - this.type = Type.IMPORT; - this.wb = WorkbookFactory.create(is); - List list = new ArrayList(); - Sheet sheet = null; - if (StringUtils.isNotEmpty(sheetName)) - { - // 如果指定sheet名,则取指定sheet中的内容. - sheet = wb.getSheet(sheetName); - } - else - { - // 如果传入的sheet名不存在则默认指向第1个sheet. - sheet = wb.getSheetAt(0); - } - - if (sheet == null) - { - throw new IOException("文件sheet不存在"); - } - - int rows = sheet.getPhysicalNumberOfRows(); - - if (rows > 0) - { - // 定义一个map用于存放excel列的序号和field. - Map cellMap = new HashMap(); - // 获取表头 - Row heard = sheet.getRow(0); - for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) - { - Cell cell = heard.getCell(i); - if (StringUtils.isNotNull(cell)) - { - String value = this.getCellValue(heard, i).toString(); - cellMap.put(value, i); - } - else - { - cellMap.put(null, i); - } - } - // 有数据时才处理 得到类的所有field. - Field[] allFields = clazz.getDeclaredFields(); - // 定义一个map用于存放列的序号和field. - Map fieldsMap = new HashMap(); - for (int col = 0; col < allFields.length; col++) - { - Field field = allFields[col]; - Excel attr = field.getAnnotation(Excel.class); - if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) - { - // 设置类的私有字段属性可访问. - field.setAccessible(true); - Integer column = cellMap.get(attr.name()); - if (column != null) - { - fieldsMap.put(column, field); - } - } - } - for (int i = 1; i < rows; i++) - { - // 从第2行开始取数据,默认第一行是表头. - Row row = sheet.getRow(i); - T entity = null; - for (Map.Entry entry : fieldsMap.entrySet()) - { - Object val = this.getCellValue(row, entry.getKey()); - - // 如果不存在实例则新建. - entity = (entity == null ? clazz.newInstance() : entity); - // 从map中得到对应列的field. - Field field = fieldsMap.get(entry.getKey()); - // 取得类型,并根据对象类型设置值. - Class fieldType = field.getType(); - if (String.class == fieldType) - { - String s = Convert.toStr(val); - if (StringUtils.endsWith(s, ".0")) - { - val = StringUtils.substringBefore(s, ".0"); - } - else - { - String dateFormat = field.getAnnotation(Excel.class).dateFormat(); - if (StringUtils.isNotEmpty(dateFormat)) - { - val = DateUtils.parseDateToStr(dateFormat, (Date) val); - } - else - { - val = Convert.toStr(val); - } - } - } - else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) - { - val = Convert.toInt(val); - } - else if (Long.TYPE == fieldType || Long.class == fieldType) - { - val = Convert.toLong(val); - } - else if (Double.TYPE == fieldType || Double.class == fieldType) - { - val = Convert.toDouble(val); - } - else if (Float.TYPE == fieldType || Float.class == fieldType) - { - val = Convert.toFloat(val); - } - else if (BigDecimal.class == fieldType) - { - val = Convert.toBigDecimal(val); - } - else if (Date.class == fieldType) - { - if (val instanceof String) - { - val = DateUtils.parseDate(val); - } - else if (val instanceof Double) - { - val = DateUtil.getJavaDate((Double) val); - } - } - else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) - { - val = Convert.toBool(val, false); - } - if (StringUtils.isNotNull(fieldType)) - { - Excel attr = field.getAnnotation(Excel.class); - String propertyName = field.getName(); - if (StringUtils.isNotEmpty(attr.targetAttr())) - { - propertyName = field.getName() + "." + attr.targetAttr(); - } - else if (StringUtils.isNotEmpty(attr.readConverterExp())) - { - val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); - } - else if (StringUtils.isNotEmpty(attr.dictType())) - { - val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator()); - } - ReflectUtils.invokeSetter(entity, propertyName, val); - } - } - list.add(entity); - } - } - return list; - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @return 结果 - */ - public AjaxResult exportExcel(List list, String sheetName) - { - this.init(list, sheetName, Type.EXPORT); - return exportExcel(); - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @param sheetName 工作表的名称 - * @return 结果 - */ - public AjaxResult importTemplateExcel(String sheetName) - { - this.init(null, sheetName, Type.IMPORT); - return exportExcel(); - } - - /** - * 对list数据源将其里面的数据导入到excel表单 - * - * @return 结果 - */ - public AjaxResult exportExcel() - { - OutputStream out = null; - try - { - // 取出一共有多少个sheet. - double sheetNo = Math.ceil(list.size() / sheetSize); - for (int index = 0; index <= sheetNo; index++) - { - createSheet(sheetNo, index); - - // 产生一行 - Row row = sheet.createRow(0); - int column = 0; - // 写入各个字段的列头名称 - for (Object[] os : fields) - { - Excel excel = (Excel) os[1]; - this.createCell(excel, row, column++); - } - if (Type.EXPORT.equals(type)) - { - fillExcelData(index, row); - addStatisticsRow(); - } - } - String filename = encodingFilename(sheetName); - out = new FileOutputStream(getAbsoluteFile(filename)); - wb.write(out); - return AjaxResult.success(filename); - } - catch (Exception e) - { - log.error("导出Excel异常{}", e.getMessage()); - throw new CustomException("导出Excel失败,请联系网站管理员!"); - } - finally - { - if (wb != null) - { - try - { - wb.close(); - } - catch (IOException e1) - { - e1.printStackTrace(); - } - } - if (out != null) - { - try - { - out.close(); - } - catch (IOException e1) - { - e1.printStackTrace(); - } - } - } - } - - /** - * 填充excel数据 - * - * @param index 序号 - * @param row 单元格行 - */ - public void fillExcelData(int index, Row row) - { - int startNo = index * sheetSize; - int endNo = Math.min(startNo + sheetSize, list.size()); - for (int i = startNo; i < endNo; i++) - { - row = sheet.createRow(i + 1 - startNo); - // 得到导出对象. - T vo = (T) list.get(i); - int column = 0; - for (Object[] os : fields) - { - Field field = (Field) os[0]; - Excel excel = (Excel) os[1]; - // 设置实体类私有属性可访问 - field.setAccessible(true); - this.addCell(excel, row, vo, field, column++); - } - } - } - - /** - * 创建表格样式 - * - * @param wb 工作薄对象 - * @return 样式列表 - */ - private Map createStyles(Workbook wb) - { - // 写入各条记录,每条记录对应excel表中的一行 - Map styles = new HashMap(); - CellStyle style = wb.createCellStyle(); - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - style.setBorderRight(BorderStyle.THIN); - style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderLeft(BorderStyle.THIN); - style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderTop(BorderStyle.THIN); - style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setBorderBottom(BorderStyle.THIN); - style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); - Font dataFont = wb.createFont(); - dataFont.setFontName("Arial"); - dataFont.setFontHeightInPoints((short) 10); - style.setFont(dataFont); - styles.put("data", style); - - style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex()); - style.setFillPattern(FillPatternType.SOLID_FOREGROUND); - Font headerFont = wb.createFont(); - headerFont.setFontName("Arial"); - headerFont.setFontHeightInPoints((short) 10); - headerFont.setBold(true); - headerFont.setColor(IndexedColors.WHITE.getIndex()); - style.setFont(headerFont); - styles.put("header", style); - - style = wb.createCellStyle(); - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - Font totalFont = wb.createFont(); - totalFont.setFontName("Arial"); - totalFont.setFontHeightInPoints((short) 10); - style.setFont(totalFont); - styles.put("total", style); - - style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.LEFT); - styles.put("data1", style); - - style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.CENTER); - styles.put("data2", style); - - style = wb.createCellStyle(); - style.cloneStyleFrom(styles.get("data")); - style.setAlignment(HorizontalAlignment.RIGHT); - styles.put("data3", style); - - return styles; - } - - /** - * 创建单元格 - */ - public Cell createCell(Excel attr, Row row, int column) - { - // 创建列 - Cell cell = row.createCell(column); - // 写入列信息 - cell.setCellValue(attr.name()); - setDataValidation(attr, row, column); - cell.setCellStyle(styles.get("header")); - return cell; - } - - /** - * 设置单元格信息 - * - * @param value 单元格值 - * @param attr 注解相关 - * @param cell 单元格信息 - */ - public void setCellVo(Object value, Excel attr, Cell cell) - { - if (ColumnType.STRING == attr.cellType()) - { - cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix()); - } - else if (ColumnType.NUMERIC == attr.cellType()) - { - cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); - } - else if (ColumnType.IMAGE == attr.cellType()) - { - ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), - cell.getRow().getRowNum() + 1); - String imagePath = Convert.toStr(value); - if (StringUtils.isNotEmpty(imagePath)) - { - byte[] data = ImageUtils.getImage(imagePath); - getDrawingPatriarch(cell.getSheet()).createPicture(anchor, - cell.getSheet().getWorkbook().addPicture(data, getImageType(data))); - } - } - } - - /** - * 获取画布 - */ - public static Drawing getDrawingPatriarch(Sheet sheet) - { - if (sheet.getDrawingPatriarch() == null) - { - sheet.createDrawingPatriarch(); - } - return sheet.getDrawingPatriarch(); - } - - /** - * 获取图片类型,设置图片插入类型 - */ - public int getImageType(byte[] value) - { - String type = FileTypeUtils.getFileExtendName(value); - if ("JPG".equalsIgnoreCase(type)) - { - return Workbook.PICTURE_TYPE_JPEG; - } - else if ("PNG".equalsIgnoreCase(type)) - { - return Workbook.PICTURE_TYPE_PNG; - } - return Workbook.PICTURE_TYPE_JPEG; - } - - /** - * 创建表格样式 - */ - public void setDataValidation(Excel attr, Row row, int column) - { - if (attr.name().indexOf("注:") >= 0) - { - sheet.setColumnWidth(column, 6000); - } - else - { - // 设置列宽 - sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256)); - } - // 如果设置了提示信息则鼠标放上去提示. - if (StringUtils.isNotEmpty(attr.prompt())) - { - // 这里默认设了2-101列提示. - setXSSFPrompt(sheet, "", attr.prompt(), 1, 100, column, column); - } - // 如果设置了combo属性则本列只能选择不能输入 - if (attr.combo().length > 0) - { - // 这里默认设了2-101列只能选择不能输入. - setXSSFValidation(sheet, attr.combo(), 1, 100, column, column); - } - } - - /** - * 添加单元格 - */ - public Cell addCell(Excel attr, Row row, T vo, Field field, int column) - { - Cell cell = null; - try - { - // 设置行高 - row.setHeight(maxHeight); - // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列. - if (attr.isExport()) - { - // 创建cell - cell = row.createCell(column); - int align = attr.align().value(); - cell.setCellStyle(styles.get("data" + (align >= 1 && align <= 3 ? align : ""))); - - // 用于读取对象中的属性 - Object value = getTargetValue(vo, field, attr); - String dateFormat = attr.dateFormat(); - String readConverterExp = attr.readConverterExp(); - String separator = attr.separator(); - String dictType = attr.dictType(); - if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) - { - cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) value)); - } - else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) - { - cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator)); - } - else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value)) - { - cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator)); - } - else if (value instanceof BigDecimal && -1 != attr.scale()) - { - cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).toString()); - } - else - { - // 设置列类型 - setCellVo(value, attr, cell); - } - addStatisticsData(column, Convert.toStr(value), attr); - } - } - catch (Exception e) - { - log.error("导出Excel失败{}", e); - } - return cell; - } - - /** - * 设置 POI XSSFSheet 单元格提示 - * - * @param sheet 表单 - * @param promptTitle 提示标题 - * @param promptContent 提示内容 - * @param firstRow 开始行 - * @param endRow 结束行 - * @param firstCol 开始列 - * @param endCol 结束列 - */ - public void setXSSFPrompt(Sheet sheet, String promptTitle, String promptContent, int firstRow, int endRow, - int firstCol, int endCol) - { - DataValidationHelper helper = sheet.getDataValidationHelper(); - DataValidationConstraint constraint = helper.createCustomConstraint("DD1"); - CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); - DataValidation dataValidation = helper.createValidation(constraint, regions); - dataValidation.createPromptBox(promptTitle, promptContent); - dataValidation.setShowPromptBox(true); - sheet.addValidationData(dataValidation); - } - - /** - * 设置某些列的值只能输入预制的数据,显示下拉框. - * - * @param sheet 要设置的sheet. - * @param textlist 下拉框显示的内容 - * @param firstRow 开始行 - * @param endRow 结束行 - * @param firstCol 开始列 - * @param endCol 结束列 - * @return 设置好的sheet. - */ - public void setXSSFValidation(Sheet sheet, String[] textlist, int firstRow, int endRow, int firstCol, int endCol) - { - DataValidationHelper helper = sheet.getDataValidationHelper(); - // 加载下拉列表内容 - DataValidationConstraint constraint = helper.createExplicitListConstraint(textlist); - // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列 - CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); - // 数据有效性对象 - DataValidation dataValidation = helper.createValidation(constraint, regions); - // 处理Excel兼容性问题 - if (dataValidation instanceof XSSFDataValidation) - { - dataValidation.setSuppressDropDownArrow(true); - dataValidation.setShowErrorBox(true); - } - else - { - dataValidation.setSuppressDropDownArrow(false); - } - - sheet.addValidationData(dataValidation); - } - - /** - * 解析导出值 0=男,1=女,2=未知 - * - * @param propertyValue 参数值 - * @param converterExp 翻译注解 - * @param separator 分隔符 - * @return 解析后值 - */ - public static String convertByExp(String propertyValue, String converterExp, String separator) - { - StringBuilder propertyString = new StringBuilder(); - String[] convertSource = converterExp.split(","); - for (String item : convertSource) - { - String[] itemArray = item.split("="); - if (StringUtils.containsAny(separator, propertyValue)) - { - for (String value : propertyValue.split(separator)) - { - if (itemArray[0].equals(value)) - { - propertyString.append(itemArray[1] + separator); - break; - } - } - } - else - { - if (itemArray[0].equals(propertyValue)) - { - return itemArray[1]; - } - } - } - return StringUtils.stripEnd(propertyString.toString(), separator); - } - - /** - * 反向解析值 男=0,女=1,未知=2 - * - * @param propertyValue 参数值 - * @param converterExp 翻译注解 - * @param separator 分隔符 - * @return 解析后值 - */ - public static String reverseByExp(String propertyValue, String converterExp, String separator) - { - StringBuilder propertyString = new StringBuilder(); - String[] convertSource = converterExp.split(","); - for (String item : convertSource) - { - String[] itemArray = item.split("="); - if (StringUtils.containsAny(separator, propertyValue)) - { - for (String value : propertyValue.split(separator)) - { - if (itemArray[1].equals(value)) - { - propertyString.append(itemArray[0] + separator); - break; - } - } - } - else - { - if (itemArray[1].equals(propertyValue)) - { - return itemArray[0]; - } - } - } - return StringUtils.stripEnd(propertyString.toString(), separator); - } - - /** - * 解析字典值 - * - * @param dictValue 字典值 - * @param dictType 字典类型 - * @param separator 分隔符 - * @return 字典标签 - */ - public static String convertDictByExp(String dictValue, String dictType, String separator) - { - return DictUtils.getDictLabel(dictType, dictValue, separator); - } - - /** - * 反向解析值字典值 - * - * @param dictLabel 字典标签 - * @param dictType 字典类型 - * @param separator 分隔符 - * @return 字典值 - */ - public static String reverseDictByExp(String dictLabel, String dictType, String separator) - { - return DictUtils.getDictValue(dictType, dictLabel, separator); - } - - /** - * 合计统计信息 - */ - private void addStatisticsData(Integer index, String text, Excel entity) - { - if (entity != null && entity.isStatistics()) - { - Double temp = 0D; - if (!statistics.containsKey(index)) - { - statistics.put(index, temp); - } - try - { - temp = Double.valueOf(text); - } - catch (NumberFormatException e) - { - } - statistics.put(index, statistics.get(index) + temp); - } - } - - /** - * 创建统计行 - */ - public void addStatisticsRow() - { - if (statistics.size() > 0) - { - Cell cell = null; - Row row = sheet.createRow(sheet.getLastRowNum() + 1); - Set keys = statistics.keySet(); - cell = row.createCell(0); - cell.setCellStyle(styles.get("total")); - cell.setCellValue("合计"); - - for (Integer key : keys) - { - cell = row.createCell(key); - cell.setCellStyle(styles.get("total")); - cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key))); - } - statistics.clear(); - } - } - - /** - * 编码文件名 - */ - public String encodingFilename(String filename) - { - filename = UUID.randomUUID().toString() + "_" + filename + ".xlsx"; - return filename; - } - - /** - * 获取下载路径 - * - * @param filename 文件名称 - */ - public String getAbsoluteFile(String filename) - { - String downloadPath = RuoYiConfig.getDownloadPath() + filename; - File desc = new File(downloadPath); - if (!desc.getParentFile().exists()) - { - desc.getParentFile().mkdirs(); - } - return downloadPath; - } - - /** - * 获取bean中的属性值 - * - * @param vo 实体对象 - * @param field 字段 - * @param excel 注解 - * @return 最终的属性值 - * @throws Exception - */ - private Object getTargetValue(T vo, Field field, Excel excel) throws Exception - { - Object o = field.get(vo); - if (StringUtils.isNotEmpty(excel.targetAttr())) - { - String target = excel.targetAttr(); - if (target.indexOf(".") > -1) - { - String[] targets = target.split("[.]"); - for (String name : targets) - { - o = getValue(o, name); - } - } - else - { - o = getValue(o, target); - } - } - return o; - } - - /** - * 以类的属性的get方法方法形式获取值 - * - * @param o - * @param name - * @return value - * @throws Exception - */ - private Object getValue(Object o, String name) throws Exception - { - if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) - { - Class clazz = o.getClass(); - Field field = clazz.getDeclaredField(name); - field.setAccessible(true); - o = field.get(o); - } - return o; - } - - /** - * 得到所有定义字段 - */ - private void createExcelField() - { - this.fields = new ArrayList(); - List tempFields = new ArrayList<>(); - tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); - tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); - for (Field field : tempFields) - { - // 单注解 - if (field.isAnnotationPresent(Excel.class)) - { - putToField(field, field.getAnnotation(Excel.class)); - } - - // 多注解 - if (field.isAnnotationPresent(Excels.class)) - { - Excels attrs = field.getAnnotation(Excels.class); - Excel[] excels = attrs.value(); - for (Excel excel : excels) - { - putToField(field, excel); - } - } - } - this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList()); - this.maxHeight = getRowHeight(); - } - - /** - * 根据注解获取最大行高 - */ - public short getRowHeight() - { - double maxHeight = 0; - for (Object[] os : this.fields) - { - Excel excel = (Excel) os[1]; - maxHeight = maxHeight > excel.height() ? maxHeight : excel.height(); - } - return (short) (maxHeight * 20); - } - - /** - * 放到字段集合中 - */ - private void putToField(Field field, Excel attr) - { - if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) - { - this.fields.add(new Object[] { field, attr }); - } - } - - /** - * 创建一个工作簿 - */ - public void createWorkbook() - { - this.wb = new SXSSFWorkbook(500); - } - - /** - * 创建工作表 - * - * @param sheetNo sheet数量 - * @param index 序号 - */ - public void createSheet(double sheetNo, int index) - { - this.sheet = wb.createSheet(); - this.styles = createStyles(wb); - // 设置工作表的名称. - if (sheetNo == 0) - { - wb.setSheetName(index, sheetName); - } - else - { - wb.setSheetName(index, sheetName + index); - } - } - - /** - * 获取单元格值 - * - * @param row 获取的行 - * @param column 获取单元格列号 - * @return 单元格值 - */ - public Object getCellValue(Row row, int column) - { - if (row == null) - { - return row; - } - Object val = ""; - try - { - Cell cell = row.getCell(column); - if (StringUtils.isNotNull(cell)) - { - if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) - { - val = cell.getNumericCellValue(); - if (DateUtil.isCellDateFormatted(cell)) - { - val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 - } - else - { - if ((Double) val % 1 != 0) - { - val = new BigDecimal(val.toString()); - } - else - { - val = new DecimalFormat("0").format(val); - } - } - } - else if (cell.getCellType() == CellType.STRING) - { - val = cell.getStringCellValue(); - } - else if (cell.getCellType() == CellType.BOOLEAN) - { - val = cell.getBooleanCellValue(); - } - else if (cell.getCellType() == CellType.ERROR) - { - val = cell.getErrorCellValue(); - } - - } - } - catch (Exception e) - { - return val; - } - return val; - } +package com.jiajiakang.common.utils.poi; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.ClientAnchor; +import org.apache.poi.ss.usermodel.DataValidation; +import org.apache.poi.ss.usermodel.DataValidationConstraint; +import org.apache.poi.ss.usermodel.DataValidationHelper; +import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.ss.usermodel.Drawing; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import org.apache.poi.xssf.usermodel.XSSFDataValidation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.annotation.Excel.Type; +import com.jiajiakang.common.annotation.Excels; +import com.jiajiakang.common.config.RuoYiConfig; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.text.Convert; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.DateUtils; +import com.jiajiakang.common.utils.DictUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.file.FileTypeUtils; +import com.jiajiakang.common.utils.file.ImageUtils; +import com.jiajiakang.common.utils.reflect.ReflectUtils; + +/** + * Excel相关处理 + * + * @author ruoyi + */ +public class ExcelUtil +{ + private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); + + /** + * Excel sheet最大行数,默认65536 + */ + public static final int sheetSize = 65536; + + /** + * 工作表名称 + */ + private String sheetName; + + /** + * 导出类型(EXPORT:导出数据;IMPORT:导入模板) + */ + private Type type; + + /** + * 工作薄对象 + */ + private Workbook wb; + + /** + * 工作表对象 + */ + private Sheet sheet; + + /** + * 样式列表 + */ + private Map styles; + + /** + * 导入导出数据列表 + */ + private List list; + + /** + * 注解列表 + */ + private List fields; + + /** + * 最大高度 + */ + private short maxHeight; + + /** + * 统计列表 + */ + private Map statistics = new HashMap(); + + /** + * 数字格式 + */ + private static final DecimalFormat DOUBLE_FORMAT = new DecimalFormat("######0.00"); + + /** + * 实体对象 + */ + public Class clazz; + + public ExcelUtil(Class clazz) + { + this.clazz = clazz; + } + + public void init(List list, String sheetName, Type type) + { + if (list == null) + { + list = new ArrayList(); + } + this.list = list; + this.sheetName = sheetName; + this.type = type; + createExcelField(); + createWorkbook(); + } + + /** + * 对excel表单默认第一个索引名转换成list + * + * @param is 输入流 + * @return 转换后集合 + */ + public List importExcel(InputStream is) throws Exception + { + return importExcel(StringUtils.EMPTY, is); + } + + /** + * 对excel表单指定表格索引名转换成list + * + * @param sheetName 表格索引名 + * @param is 输入流 + * @return 转换后集合 + */ + public List importExcel(String sheetName, InputStream is) throws Exception + { + this.type = Type.IMPORT; + this.wb = WorkbookFactory.create(is); + List list = new ArrayList(); + Sheet sheet = null; + if (StringUtils.isNotEmpty(sheetName)) + { + // 如果指定sheet名,则取指定sheet中的内容. + sheet = wb.getSheet(sheetName); + } + else + { + // 如果传入的sheet名不存在则默认指向第1个sheet. + sheet = wb.getSheetAt(0); + } + + if (sheet == null) + { + throw new IOException("文件sheet不存在"); + } + + int rows = sheet.getPhysicalNumberOfRows(); + + if (rows > 0) + { + // 定义一个map用于存放excel列的序号和field. + Map cellMap = new HashMap(); + // 获取表头 + Row heard = sheet.getRow(0); + for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) + { + Cell cell = heard.getCell(i); + if (StringUtils.isNotNull(cell)) + { + String value = this.getCellValue(heard, i).toString(); + cellMap.put(value, i); + } + else + { + cellMap.put(null, i); + } + } + // 有数据时才处理 得到类的所有field. + Field[] allFields = clazz.getDeclaredFields(); + // 定义一个map用于存放列的序号和field. + Map fieldsMap = new HashMap(); + for (int col = 0; col < allFields.length; col++) + { + Field field = allFields[col]; + Excel attr = field.getAnnotation(Excel.class); + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) + { + // 设置类的私有字段属性可访问. + field.setAccessible(true); + Integer column = cellMap.get(attr.name()); + if (column != null) + { + fieldsMap.put(column, field); + } + } + } + for (int i = 1; i < rows; i++) + { + // 从第2行开始取数据,默认第一行是表头. + Row row = sheet.getRow(i); + T entity = null; + for (Map.Entry entry : fieldsMap.entrySet()) + { + Object val = this.getCellValue(row, entry.getKey()); + + // 如果不存在实例则新建. + entity = (entity == null ? clazz.newInstance() : entity); + // 从map中得到对应列的field. + Field field = fieldsMap.get(entry.getKey()); + // 取得类型,并根据对象类型设置值. + Class fieldType = field.getType(); + if (String.class == fieldType) + { + String s = Convert.toStr(val); + if (StringUtils.endsWith(s, ".0")) + { + val = StringUtils.substringBefore(s, ".0"); + } + else + { + String dateFormat = field.getAnnotation(Excel.class).dateFormat(); + if (StringUtils.isNotEmpty(dateFormat)) + { + val = DateUtils.parseDateToStr(dateFormat, (Date) val); + } + else + { + val = Convert.toStr(val); + } + } + } + else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) + { + val = Convert.toInt(val); + } + else if (Long.TYPE == fieldType || Long.class == fieldType) + { + val = Convert.toLong(val); + } + else if (Double.TYPE == fieldType || Double.class == fieldType) + { + val = Convert.toDouble(val); + } + else if (Float.TYPE == fieldType || Float.class == fieldType) + { + val = Convert.toFloat(val); + } + else if (BigDecimal.class == fieldType) + { + val = Convert.toBigDecimal(val); + } + else if (Date.class == fieldType) + { + if (val instanceof String) + { + val = DateUtils.parseDate(val); + } + else if (val instanceof Double) + { + val = DateUtil.getJavaDate((Double) val); + } + } + else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) + { + val = Convert.toBool(val, false); + } + if (StringUtils.isNotNull(fieldType)) + { + Excel attr = field.getAnnotation(Excel.class); + String propertyName = field.getName(); + if (StringUtils.isNotEmpty(attr.targetAttr())) + { + propertyName = field.getName() + "." + attr.targetAttr(); + } + else if (StringUtils.isNotEmpty(attr.readConverterExp())) + { + val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); + } + else if (StringUtils.isNotEmpty(attr.dictType())) + { + val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator()); + } + ReflectUtils.invokeSetter(entity, propertyName, val); + } + } + list.add(entity); + } + } + return list; + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @return 结果 + */ + public AjaxResult exportExcel(List list, String sheetName) + { + this.init(list, sheetName, Type.EXPORT); + return exportExcel(); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @return 结果 + */ + public AjaxResult importTemplateExcel(String sheetName) + { + this.init(null, sheetName, Type.IMPORT); + return exportExcel(); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @return 结果 + */ + public AjaxResult exportExcel() + { + OutputStream out = null; + try + { + // 取出一共有多少个sheet. + double sheetNo = Math.ceil(list.size() / sheetSize); + for (int index = 0; index <= sheetNo; index++) + { + createSheet(sheetNo, index); + + // 产生一行 + Row row = sheet.createRow(0); + int column = 0; + // 写入各个字段的列头名称 + for (Object[] os : fields) + { + Excel excel = (Excel) os[1]; + this.createCell(excel, row, column++); + } + if (Type.EXPORT.equals(type)) + { + fillExcelData(index, row); + addStatisticsRow(); + } + } + String filename = encodingFilename(sheetName); + out = new FileOutputStream(getAbsoluteFile(filename)); + wb.write(out); + return AjaxResult.success(filename); + } + catch (Exception e) + { + log.error("导出Excel异常{}", e.getMessage()); + throw new CustomException("导出Excel失败,请联系网站管理员!"); + } + finally + { + if (wb != null) + { + try + { + wb.close(); + } + catch (IOException e1) + { + e1.printStackTrace(); + } + } + if (out != null) + { + try + { + out.close(); + } + catch (IOException e1) + { + e1.printStackTrace(); + } + } + } + } + + /** + * 填充excel数据 + * + * @param index 序号 + * @param row 单元格行 + */ + public void fillExcelData(int index, Row row) + { + int startNo = index * sheetSize; + int endNo = Math.min(startNo + sheetSize, list.size()); + for (int i = startNo; i < endNo; i++) + { + row = sheet.createRow(i + 1 - startNo); + // 得到导出对象. + T vo = (T) list.get(i); + int column = 0; + for (Object[] os : fields) + { + Field field = (Field) os[0]; + Excel excel = (Excel) os[1]; + // 设置实体类私有属性可访问 + field.setAccessible(true); + this.addCell(excel, row, vo, field, column++); + } + } + } + + /** + * 创建表格样式 + * + * @param wb 工作薄对象 + * @return 样式列表 + */ + private Map createStyles(Workbook wb) + { + // 写入各条记录,每条记录对应excel表中的一行 + Map styles = new HashMap(); + CellStyle style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setBorderRight(BorderStyle.THIN); + style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderLeft(BorderStyle.THIN); + style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderTop(BorderStyle.THIN); + style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderBottom(BorderStyle.THIN); + style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + Font dataFont = wb.createFont(); + dataFont.setFontName("Arial"); + dataFont.setFontHeightInPoints((short) 10); + style.setFont(dataFont); + styles.put("data", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + Font headerFont = wb.createFont(); + headerFont.setFontName("Arial"); + headerFont.setFontHeightInPoints((short) 10); + headerFont.setBold(true); + headerFont.setColor(IndexedColors.WHITE.getIndex()); + style.setFont(headerFont); + styles.put("header", style); + + style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + Font totalFont = wb.createFont(); + totalFont.setFontName("Arial"); + totalFont.setFontHeightInPoints((short) 10); + style.setFont(totalFont); + styles.put("total", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.LEFT); + styles.put("data1", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.CENTER); + styles.put("data2", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.RIGHT); + styles.put("data3", style); + + return styles; + } + + /** + * 创建单元格 + */ + public Cell createCell(Excel attr, Row row, int column) + { + // 创建列 + Cell cell = row.createCell(column); + // 写入列信息 + cell.setCellValue(attr.name()); + setDataValidation(attr, row, column); + cell.setCellStyle(styles.get("header")); + return cell; + } + + /** + * 设置单元格信息 + * + * @param value 单元格值 + * @param attr 注解相关 + * @param cell 单元格信息 + */ + public void setCellVo(Object value, Excel attr, Cell cell) + { + if (ColumnType.STRING == attr.cellType()) + { + cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix()); + } + else if (ColumnType.NUMERIC == attr.cellType()) + { + cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); + } + else if (ColumnType.IMAGE == attr.cellType()) + { + ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), + cell.getRow().getRowNum() + 1); + String imagePath = Convert.toStr(value); + if (StringUtils.isNotEmpty(imagePath)) + { + byte[] data = ImageUtils.getImage(imagePath); + getDrawingPatriarch(cell.getSheet()).createPicture(anchor, + cell.getSheet().getWorkbook().addPicture(data, getImageType(data))); + } + } + } + + /** + * 获取画布 + */ + public static Drawing getDrawingPatriarch(Sheet sheet) + { + if (sheet.getDrawingPatriarch() == null) + { + sheet.createDrawingPatriarch(); + } + return sheet.getDrawingPatriarch(); + } + + /** + * 获取图片类型,设置图片插入类型 + */ + public int getImageType(byte[] value) + { + String type = FileTypeUtils.getFileExtendName(value); + if ("JPG".equalsIgnoreCase(type)) + { + return Workbook.PICTURE_TYPE_JPEG; + } + else if ("PNG".equalsIgnoreCase(type)) + { + return Workbook.PICTURE_TYPE_PNG; + } + return Workbook.PICTURE_TYPE_JPEG; + } + + /** + * 创建表格样式 + */ + public void setDataValidation(Excel attr, Row row, int column) + { + if (attr.name().indexOf("注:") >= 0) + { + sheet.setColumnWidth(column, 6000); + } + else + { + // 设置列宽 + sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256)); + } + // 如果设置了提示信息则鼠标放上去提示. + if (StringUtils.isNotEmpty(attr.prompt())) + { + // 这里默认设了2-101列提示. + setXSSFPrompt(sheet, "", attr.prompt(), 1, 100, column, column); + } + // 如果设置了combo属性则本列只能选择不能输入 + if (attr.combo().length > 0) + { + // 这里默认设了2-101列只能选择不能输入. + setXSSFValidation(sheet, attr.combo(), 1, 100, column, column); + } + } + + /** + * 添加单元格 + */ + public Cell addCell(Excel attr, Row row, T vo, Field field, int column) + { + Cell cell = null; + try + { + // 设置行高 + row.setHeight(maxHeight); + // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列. + if (attr.isExport()) + { + // 创建cell + cell = row.createCell(column); + int align = attr.align().value(); + cell.setCellStyle(styles.get("data" + (align >= 1 && align <= 3 ? align : ""))); + + // 用于读取对象中的属性 + Object value = getTargetValue(vo, field, attr); + String dateFormat = attr.dateFormat(); + String readConverterExp = attr.readConverterExp(); + String separator = attr.separator(); + String dictType = attr.dictType(); + if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) + { + cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) value)); + } + else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) + { + cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator)); + } + else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value)) + { + cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator)); + } + else if (value instanceof BigDecimal && -1 != attr.scale()) + { + cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).toString()); + } + else + { + // 设置列类型 + setCellVo(value, attr, cell); + } + addStatisticsData(column, Convert.toStr(value), attr); + } + } + catch (Exception e) + { + log.error("导出Excel失败{}", e); + } + return cell; + } + + /** + * 设置 POI XSSFSheet 单元格提示 + * + * @param sheet 表单 + * @param promptTitle 提示标题 + * @param promptContent 提示内容 + * @param firstRow 开始行 + * @param endRow 结束行 + * @param firstCol 开始列 + * @param endCol 结束列 + */ + public void setXSSFPrompt(Sheet sheet, String promptTitle, String promptContent, int firstRow, int endRow, + int firstCol, int endCol) + { + DataValidationHelper helper = sheet.getDataValidationHelper(); + DataValidationConstraint constraint = helper.createCustomConstraint("DD1"); + CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); + DataValidation dataValidation = helper.createValidation(constraint, regions); + dataValidation.createPromptBox(promptTitle, promptContent); + dataValidation.setShowPromptBox(true); + sheet.addValidationData(dataValidation); + } + + /** + * 设置某些列的值只能输入预制的数据,显示下拉框. + * + * @param sheet 要设置的sheet. + * @param textlist 下拉框显示的内容 + * @param firstRow 开始行 + * @param endRow 结束行 + * @param firstCol 开始列 + * @param endCol 结束列 + * @return 设置好的sheet. + */ + public void setXSSFValidation(Sheet sheet, String[] textlist, int firstRow, int endRow, int firstCol, int endCol) + { + DataValidationHelper helper = sheet.getDataValidationHelper(); + // 加载下拉列表内容 + DataValidationConstraint constraint = helper.createExplicitListConstraint(textlist); + // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列 + CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); + // 数据有效性对象 + DataValidation dataValidation = helper.createValidation(constraint, regions); + // 处理Excel兼容性问题 + if (dataValidation instanceof XSSFDataValidation) + { + dataValidation.setSuppressDropDownArrow(true); + dataValidation.setShowErrorBox(true); + } + else + { + dataValidation.setSuppressDropDownArrow(false); + } + + sheet.addValidationData(dataValidation); + } + + /** + * 解析导出值 0=男,1=女,2=未知 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @param separator 分隔符 + * @return 解析后值 + */ + public static String convertByExp(String propertyValue, String converterExp, String separator) + { + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) + { + String[] itemArray = item.split("="); + if (StringUtils.containsAny(separator, propertyValue)) + { + for (String value : propertyValue.split(separator)) + { + if (itemArray[0].equals(value)) + { + propertyString.append(itemArray[1] + separator); + break; + } + } + } + else + { + if (itemArray[0].equals(propertyValue)) + { + return itemArray[1]; + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 反向解析值 男=0,女=1,未知=2 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @param separator 分隔符 + * @return 解析后值 + */ + public static String reverseByExp(String propertyValue, String converterExp, String separator) + { + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) + { + String[] itemArray = item.split("="); + if (StringUtils.containsAny(separator, propertyValue)) + { + for (String value : propertyValue.split(separator)) + { + if (itemArray[1].equals(value)) + { + propertyString.append(itemArray[0] + separator); + break; + } + } + } + else + { + if (itemArray[1].equals(propertyValue)) + { + return itemArray[0]; + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 解析字典值 + * + * @param dictValue 字典值 + * @param dictType 字典类型 + * @param separator 分隔符 + * @return 字典标签 + */ + public static String convertDictByExp(String dictValue, String dictType, String separator) + { + return DictUtils.getDictLabel(dictType, dictValue, separator); + } + + /** + * 反向解析值字典值 + * + * @param dictLabel 字典标签 + * @param dictType 字典类型 + * @param separator 分隔符 + * @return 字典值 + */ + public static String reverseDictByExp(String dictLabel, String dictType, String separator) + { + return DictUtils.getDictValue(dictType, dictLabel, separator); + } + + /** + * 合计统计信息 + */ + private void addStatisticsData(Integer index, String text, Excel entity) + { + if (entity != null && entity.isStatistics()) + { + Double temp = 0D; + if (!statistics.containsKey(index)) + { + statistics.put(index, temp); + } + try + { + temp = Double.valueOf(text); + } + catch (NumberFormatException e) + { + } + statistics.put(index, statistics.get(index) + temp); + } + } + + /** + * 创建统计行 + */ + public void addStatisticsRow() + { + if (statistics.size() > 0) + { + Cell cell = null; + Row row = sheet.createRow(sheet.getLastRowNum() + 1); + Set keys = statistics.keySet(); + cell = row.createCell(0); + cell.setCellStyle(styles.get("total")); + cell.setCellValue("合计"); + + for (Integer key : keys) + { + cell = row.createCell(key); + cell.setCellStyle(styles.get("total")); + cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key))); + } + statistics.clear(); + } + } + + /** + * 编码文件名 + */ + public String encodingFilename(String filename) + { + filename = UUID.randomUUID().toString() + "_" + filename + ".xlsx"; + return filename; + } + + /** + * 获取下载路径 + * + * @param filename 文件名称 + */ + public String getAbsoluteFile(String filename) + { + String downloadPath = RuoYiConfig.getDownloadPath() + filename; + File desc = new File(downloadPath); + if (!desc.getParentFile().exists()) + { + desc.getParentFile().mkdirs(); + } + return downloadPath; + } + + /** + * 获取bean中的属性值 + * + * @param vo 实体对象 + * @param field 字段 + * @param excel 注解 + * @return 最终的属性值 + * @throws Exception + */ + private Object getTargetValue(T vo, Field field, Excel excel) throws Exception + { + Object o = field.get(vo); + if (StringUtils.isNotEmpty(excel.targetAttr())) + { + String target = excel.targetAttr(); + if (target.indexOf(".") > -1) + { + String[] targets = target.split("[.]"); + for (String name : targets) + { + o = getValue(o, name); + } + } + else + { + o = getValue(o, target); + } + } + return o; + } + + /** + * 以类的属性的get方法方法形式获取值 + * + * @param o + * @param name + * @return value + * @throws Exception + */ + private Object getValue(Object o, String name) throws Exception + { + if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) + { + Class clazz = o.getClass(); + Field field = clazz.getDeclaredField(name); + field.setAccessible(true); + o = field.get(o); + } + return o; + } + + /** + * 得到所有定义字段 + */ + private void createExcelField() + { + this.fields = new ArrayList(); + List tempFields = new ArrayList<>(); + tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); + tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); + for (Field field : tempFields) + { + // 单注解 + if (field.isAnnotationPresent(Excel.class)) + { + putToField(field, field.getAnnotation(Excel.class)); + } + + // 多注解 + if (field.isAnnotationPresent(Excels.class)) + { + Excels attrs = field.getAnnotation(Excels.class); + Excel[] excels = attrs.value(); + for (Excel excel : excels) + { + putToField(field, excel); + } + } + } + this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList()); + this.maxHeight = getRowHeight(); + } + + /** + * 根据注解获取最大行高 + */ + public short getRowHeight() + { + double maxHeight = 0; + for (Object[] os : this.fields) + { + Excel excel = (Excel) os[1]; + maxHeight = maxHeight > excel.height() ? maxHeight : excel.height(); + } + return (short) (maxHeight * 20); + } + + /** + * 放到字段集合中 + */ + private void putToField(Field field, Excel attr) + { + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) + { + this.fields.add(new Object[] { field, attr }); + } + } + + /** + * 创建一个工作簿 + */ + public void createWorkbook() + { + this.wb = new SXSSFWorkbook(500); + } + + /** + * 创建工作表 + * + * @param sheetNo sheet数量 + * @param index 序号 + */ + public void createSheet(double sheetNo, int index) + { + this.sheet = wb.createSheet(); + this.styles = createStyles(wb); + // 设置工作表的名称. + if (sheetNo == 0) + { + wb.setSheetName(index, sheetName); + } + else + { + wb.setSheetName(index, sheetName + index); + } + } + + /** + * 获取单元格值 + * + * @param row 获取的行 + * @param column 获取单元格列号 + * @return 单元格值 + */ + public Object getCellValue(Row row, int column) + { + if (row == null) + { + return row; + } + Object val = ""; + try + { + Cell cell = row.getCell(column); + if (StringUtils.isNotNull(cell)) + { + if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) + { + val = cell.getNumericCellValue(); + if (DateUtil.isCellDateFormatted(cell)) + { + val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 + } + else + { + if ((Double) val % 1 != 0) + { + val = new BigDecimal(val.toString()); + } + else + { + val = new DecimalFormat("0").format(val); + } + } + } + else if (cell.getCellType() == CellType.STRING) + { + val = cell.getStringCellValue(); + } + else if (cell.getCellType() == CellType.BOOLEAN) + { + val = cell.getBooleanCellValue(); + } + else if (cell.getCellType() == CellType.ERROR) + { + val = cell.getErrorCellValue(); + } + + } + } + catch (Exception e) + { + return val; + } + return val; + } } \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/reflect/ReflectUtils.java similarity index 96% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/reflect/ReflectUtils.java index 9befe41ae..af15c3f42 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/reflect/ReflectUtils.java @@ -1,410 +1,410 @@ -package com.ruoyi.common.utils.reflect; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.Date; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.Validate; -import org.apache.poi.ss.usermodel.DateUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.common.utils.DateUtils; - -/** - * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数. - * - * @author ruoyi - */ -@SuppressWarnings("rawtypes") -public class ReflectUtils -{ - private static final String SETTER_PREFIX = "set"; - - private static final String GETTER_PREFIX = "get"; - - private static final String CGLIB_CLASS_SEPARATOR = "$$"; - - private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class); - - /** - * 调用Getter方法. - * 支持多级,如:对象名.对象名.方法 - */ - @SuppressWarnings("unchecked") - public static E invokeGetter(Object obj, String propertyName) - { - Object object = obj; - for (String name : StringUtils.split(propertyName, ".")) - { - String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name); - object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); - } - return (E) object; - } - - /** - * 调用Setter方法, 仅匹配方法名。 - * 支持多级,如:对象名.对象名.方法 - */ - public static void invokeSetter(Object obj, String propertyName, E value) - { - Object object = obj; - String[] names = StringUtils.split(propertyName, "."); - for (int i = 0; i < names.length; i++) - { - if (i < names.length - 1) - { - String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]); - object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); - } - else - { - String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]); - invokeMethodByName(object, setterMethodName, new Object[] { value }); - } - } - } - - /** - * 直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数. - */ - @SuppressWarnings("unchecked") - public static E getFieldValue(final Object obj, final String fieldName) - { - Field field = getAccessibleField(obj, fieldName); - if (field == null) - { - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); - return null; - } - E result = null; - try - { - result = (E) field.get(obj); - } - catch (IllegalAccessException e) - { - logger.error("不可能抛出的异常{}", e.getMessage()); - } - return result; - } - - /** - * 直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数. - */ - public static void setFieldValue(final Object obj, final String fieldName, final E value) - { - Field field = getAccessibleField(obj, fieldName); - if (field == null) - { - // throw new IllegalArgumentException("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); - return; - } - try - { - field.set(obj, value); - } - catch (IllegalAccessException e) - { - logger.error("不可能抛出的异常: {}", e.getMessage()); - } - } - - /** - * 直接调用对象方法, 无视private/protected修饰符. - * 用于一次性调用的情况,否则应使用getAccessibleMethod()函数获得Method后反复调用. - * 同时匹配方法名+参数类型, - */ - @SuppressWarnings("unchecked") - public static E invokeMethod(final Object obj, final String methodName, final Class[] parameterTypes, - final Object[] args) - { - if (obj == null || methodName == null) - { - return null; - } - Method method = getAccessibleMethod(obj, methodName, parameterTypes); - if (method == null) - { - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); - return null; - } - try - { - return (E) method.invoke(obj, args); - } - catch (Exception e) - { - String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; - throw convertReflectionExceptionToUnchecked(msg, e); - } - } - - /** - * 直接调用对象方法, 无视private/protected修饰符, - * 用于一次性调用的情况,否则应使用getAccessibleMethodByName()函数获得Method后反复调用. - * 只匹配函数名,如果有多个同名函数调用第一个。 - */ - @SuppressWarnings("unchecked") - public static E invokeMethodByName(final Object obj, final String methodName, final Object[] args) - { - Method method = getAccessibleMethodByName(obj, methodName, args.length); - if (method == null) - { - // 如果为空不报错,直接返回空。 - logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); - return null; - } - try - { - // 类型转换(将参数数据类型转换为目标方法参数类型) - Class[] cs = method.getParameterTypes(); - for (int i = 0; i < cs.length; i++) - { - if (args[i] != null && !args[i].getClass().equals(cs[i])) - { - if (cs[i] == String.class) - { - args[i] = Convert.toStr(args[i]); - if (StringUtils.endsWith((String) args[i], ".0")) - { - args[i] = StringUtils.substringBefore((String) args[i], ".0"); - } - } - else if (cs[i] == Integer.class) - { - args[i] = Convert.toInt(args[i]); - } - else if (cs[i] == Long.class) - { - args[i] = Convert.toLong(args[i]); - } - else if (cs[i] == Double.class) - { - args[i] = Convert.toDouble(args[i]); - } - else if (cs[i] == Float.class) - { - args[i] = Convert.toFloat(args[i]); - } - else if (cs[i] == Date.class) - { - if (args[i] instanceof String) - { - args[i] = DateUtils.parseDate(args[i]); - } - else - { - args[i] = DateUtil.getJavaDate((Double) args[i]); - } - } - else if (cs[i] == boolean.class || cs[i] == Boolean.class) - { - args[i] = Convert.toBool(args[i]); - } - } - } - return (E) method.invoke(obj, args); - } - catch (Exception e) - { - String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; - throw convertReflectionExceptionToUnchecked(msg, e); - } - } - - /** - * 循环向上转型, 获取对象的DeclaredField, 并强制设置为可访问. - * 如向上转型到Object仍无法找到, 返回null. - */ - public static Field getAccessibleField(final Object obj, final String fieldName) - { - // 为空不报错。直接返回 null - if (obj == null) - { - return null; - } - Validate.notBlank(fieldName, "fieldName can't be blank"); - for (Class superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass()) - { - try - { - Field field = superClass.getDeclaredField(fieldName); - makeAccessible(field); - return field; - } - catch (NoSuchFieldException e) - { - continue; - } - } - return null; - } - - /** - * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. - * 如向上转型到Object仍无法找到, 返回null. - * 匹配函数名+参数类型。 - * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) - */ - public static Method getAccessibleMethod(final Object obj, final String methodName, - final Class... parameterTypes) - { - // 为空不报错。直接返回 null - if (obj == null) - { - return null; - } - Validate.notBlank(methodName, "methodName can't be blank"); - for (Class searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) - { - try - { - Method method = searchType.getDeclaredMethod(methodName, parameterTypes); - makeAccessible(method); - return method; - } - catch (NoSuchMethodException e) - { - continue; - } - } - return null; - } - - /** - * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. - * 如向上转型到Object仍无法找到, 返回null. - * 只匹配函数名。 - * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) - */ - public static Method getAccessibleMethodByName(final Object obj, final String methodName, int argsNum) - { - // 为空不报错。直接返回 null - if (obj == null) - { - return null; - } - Validate.notBlank(methodName, "methodName can't be blank"); - for (Class searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) - { - Method[] methods = searchType.getDeclaredMethods(); - for (Method method : methods) - { - if (method.getName().equals(methodName) && method.getParameterTypes().length == argsNum) - { - makeAccessible(method); - return method; - } - } - } - return null; - } - - /** - * 改变private/protected的方法为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 - */ - public static void makeAccessible(Method method) - { - if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) - && !method.isAccessible()) - { - method.setAccessible(true); - } - } - - /** - * 改变private/protected的成员变量为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 - */ - public static void makeAccessible(Field field) - { - if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) - || Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) - { - field.setAccessible(true); - } - } - - /** - * 通过反射, 获得Class定义中声明的泛型参数的类型, 注意泛型必须定义在父类处 - * 如无法找到, 返回Object.class. - */ - @SuppressWarnings("unchecked") - public static Class getClassGenricType(final Class clazz) - { - return getClassGenricType(clazz, 0); - } - - /** - * 通过反射, 获得Class定义中声明的父类的泛型参数的类型. - * 如无法找到, 返回Object.class. - */ - public static Class getClassGenricType(final Class clazz, final int index) - { - Type genType = clazz.getGenericSuperclass(); - - if (!(genType instanceof ParameterizedType)) - { - logger.debug(clazz.getSimpleName() + "'s superclass not ParameterizedType"); - return Object.class; - } - - Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); - - if (index >= params.length || index < 0) - { - logger.debug("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: " - + params.length); - return Object.class; - } - if (!(params[index] instanceof Class)) - { - logger.debug(clazz.getSimpleName() + " not set the actual class on superclass generic parameter"); - return Object.class; - } - - return (Class) params[index]; - } - - public static Class getUserClass(Object instance) - { - if (instance == null) - { - throw new RuntimeException("Instance must not be null"); - } - Class clazz = instance.getClass(); - if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) - { - Class superClass = clazz.getSuperclass(); - if (superClass != null && !Object.class.equals(superClass)) - { - return superClass; - } - } - return clazz; - - } - - /** - * 将反射时的checked exception转换为unchecked exception. - */ - public static RuntimeException convertReflectionExceptionToUnchecked(String msg, Exception e) - { - if (e instanceof IllegalAccessException || e instanceof IllegalArgumentException - || e instanceof NoSuchMethodException) - { - return new IllegalArgumentException(msg, e); - } - else if (e instanceof InvocationTargetException) - { - return new RuntimeException(msg, ((InvocationTargetException) e).getTargetException()); - } - return new RuntimeException(msg, e); - } -} +package com.jiajiakang.common.utils.reflect; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.Date; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.Validate; +import org.apache.poi.ss.usermodel.DateUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.jiajiakang.common.core.text.Convert; +import com.jiajiakang.common.utils.DateUtils; + +/** + * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数. + * + * @author ruoyi + */ +@SuppressWarnings("rawtypes") +public class ReflectUtils +{ + private static final String SETTER_PREFIX = "set"; + + private static final String GETTER_PREFIX = "get"; + + private static final String CGLIB_CLASS_SEPARATOR = "$$"; + + private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class); + + /** + * 调用Getter方法. + * 支持多级,如:对象名.对象名.方法 + */ + @SuppressWarnings("unchecked") + public static E invokeGetter(Object obj, String propertyName) + { + Object object = obj; + for (String name : StringUtils.split(propertyName, ".")) + { + String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name); + object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); + } + return (E) object; + } + + /** + * 调用Setter方法, 仅匹配方法名。 + * 支持多级,如:对象名.对象名.方法 + */ + public static void invokeSetter(Object obj, String propertyName, E value) + { + Object object = obj; + String[] names = StringUtils.split(propertyName, "."); + for (int i = 0; i < names.length; i++) + { + if (i < names.length - 1) + { + String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]); + object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); + } + else + { + String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]); + invokeMethodByName(object, setterMethodName, new Object[] { value }); + } + } + } + + /** + * 直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数. + */ + @SuppressWarnings("unchecked") + public static E getFieldValue(final Object obj, final String fieldName) + { + Field field = getAccessibleField(obj, fieldName); + if (field == null) + { + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); + return null; + } + E result = null; + try + { + result = (E) field.get(obj); + } + catch (IllegalAccessException e) + { + logger.error("不可能抛出的异常{}", e.getMessage()); + } + return result; + } + + /** + * 直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数. + */ + public static void setFieldValue(final Object obj, final String fieldName, final E value) + { + Field field = getAccessibleField(obj, fieldName); + if (field == null) + { + // throw new IllegalArgumentException("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); + return; + } + try + { + field.set(obj, value); + } + catch (IllegalAccessException e) + { + logger.error("不可能抛出的异常: {}", e.getMessage()); + } + } + + /** + * 直接调用对象方法, 无视private/protected修饰符. + * 用于一次性调用的情况,否则应使用getAccessibleMethod()函数获得Method后反复调用. + * 同时匹配方法名+参数类型, + */ + @SuppressWarnings("unchecked") + public static E invokeMethod(final Object obj, final String methodName, final Class[] parameterTypes, + final Object[] args) + { + if (obj == null || methodName == null) + { + return null; + } + Method method = getAccessibleMethod(obj, methodName, parameterTypes); + if (method == null) + { + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); + return null; + } + try + { + return (E) method.invoke(obj, args); + } + catch (Exception e) + { + String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; + throw convertReflectionExceptionToUnchecked(msg, e); + } + } + + /** + * 直接调用对象方法, 无视private/protected修饰符, + * 用于一次性调用的情况,否则应使用getAccessibleMethodByName()函数获得Method后反复调用. + * 只匹配函数名,如果有多个同名函数调用第一个。 + */ + @SuppressWarnings("unchecked") + public static E invokeMethodByName(final Object obj, final String methodName, final Object[] args) + { + Method method = getAccessibleMethodByName(obj, methodName, args.length); + if (method == null) + { + // 如果为空不报错,直接返回空。 + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); + return null; + } + try + { + // 类型转换(将参数数据类型转换为目标方法参数类型) + Class[] cs = method.getParameterTypes(); + for (int i = 0; i < cs.length; i++) + { + if (args[i] != null && !args[i].getClass().equals(cs[i])) + { + if (cs[i] == String.class) + { + args[i] = Convert.toStr(args[i]); + if (StringUtils.endsWith((String) args[i], ".0")) + { + args[i] = StringUtils.substringBefore((String) args[i], ".0"); + } + } + else if (cs[i] == Integer.class) + { + args[i] = Convert.toInt(args[i]); + } + else if (cs[i] == Long.class) + { + args[i] = Convert.toLong(args[i]); + } + else if (cs[i] == Double.class) + { + args[i] = Convert.toDouble(args[i]); + } + else if (cs[i] == Float.class) + { + args[i] = Convert.toFloat(args[i]); + } + else if (cs[i] == Date.class) + { + if (args[i] instanceof String) + { + args[i] = DateUtils.parseDate(args[i]); + } + else + { + args[i] = DateUtil.getJavaDate((Double) args[i]); + } + } + else if (cs[i] == boolean.class || cs[i] == Boolean.class) + { + args[i] = Convert.toBool(args[i]); + } + } + } + return (E) method.invoke(obj, args); + } + catch (Exception e) + { + String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; + throw convertReflectionExceptionToUnchecked(msg, e); + } + } + + /** + * 循环向上转型, 获取对象的DeclaredField, 并强制设置为可访问. + * 如向上转型到Object仍无法找到, 返回null. + */ + public static Field getAccessibleField(final Object obj, final String fieldName) + { + // 为空不报错。直接返回 null + if (obj == null) + { + return null; + } + Validate.notBlank(fieldName, "fieldName can't be blank"); + for (Class superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass()) + { + try + { + Field field = superClass.getDeclaredField(fieldName); + makeAccessible(field); + return field; + } + catch (NoSuchFieldException e) + { + continue; + } + } + return null; + } + + /** + * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. + * 如向上转型到Object仍无法找到, 返回null. + * 匹配函数名+参数类型。 + * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) + */ + public static Method getAccessibleMethod(final Object obj, final String methodName, + final Class... parameterTypes) + { + // 为空不报错。直接返回 null + if (obj == null) + { + return null; + } + Validate.notBlank(methodName, "methodName can't be blank"); + for (Class searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) + { + try + { + Method method = searchType.getDeclaredMethod(methodName, parameterTypes); + makeAccessible(method); + return method; + } + catch (NoSuchMethodException e) + { + continue; + } + } + return null; + } + + /** + * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. + * 如向上转型到Object仍无法找到, 返回null. + * 只匹配函数名。 + * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) + */ + public static Method getAccessibleMethodByName(final Object obj, final String methodName, int argsNum) + { + // 为空不报错。直接返回 null + if (obj == null) + { + return null; + } + Validate.notBlank(methodName, "methodName can't be blank"); + for (Class searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) + { + Method[] methods = searchType.getDeclaredMethods(); + for (Method method : methods) + { + if (method.getName().equals(methodName) && method.getParameterTypes().length == argsNum) + { + makeAccessible(method); + return method; + } + } + } + return null; + } + + /** + * 改变private/protected的方法为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 + */ + public static void makeAccessible(Method method) + { + if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) + && !method.isAccessible()) + { + method.setAccessible(true); + } + } + + /** + * 改变private/protected的成员变量为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 + */ + public static void makeAccessible(Field field) + { + if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) + || Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) + { + field.setAccessible(true); + } + } + + /** + * 通过反射, 获得Class定义中声明的泛型参数的类型, 注意泛型必须定义在父类处 + * 如无法找到, 返回Object.class. + */ + @SuppressWarnings("unchecked") + public static Class getClassGenricType(final Class clazz) + { + return getClassGenricType(clazz, 0); + } + + /** + * 通过反射, 获得Class定义中声明的父类的泛型参数的类型. + * 如无法找到, 返回Object.class. + */ + public static Class getClassGenricType(final Class clazz, final int index) + { + Type genType = clazz.getGenericSuperclass(); + + if (!(genType instanceof ParameterizedType)) + { + logger.debug(clazz.getSimpleName() + "'s superclass not ParameterizedType"); + return Object.class; + } + + Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); + + if (index >= params.length || index < 0) + { + logger.debug("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: " + + params.length); + return Object.class; + } + if (!(params[index] instanceof Class)) + { + logger.debug(clazz.getSimpleName() + " not set the actual class on superclass generic parameter"); + return Object.class; + } + + return (Class) params[index]; + } + + public static Class getUserClass(Object instance) + { + if (instance == null) + { + throw new RuntimeException("Instance must not be null"); + } + Class clazz = instance.getClass(); + if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) + { + Class superClass = clazz.getSuperclass(); + if (superClass != null && !Object.class.equals(superClass)) + { + return superClass; + } + } + return clazz; + + } + + /** + * 将反射时的checked exception转换为unchecked exception. + */ + public static RuntimeException convertReflectionExceptionToUnchecked(String msg, Exception e) + { + if (e instanceof IllegalAccessException || e instanceof IllegalArgumentException + || e instanceof NoSuchMethodException) + { + return new IllegalArgumentException(msg, e); + } + else if (e instanceof InvocationTargetException) + { + return new RuntimeException(msg, ((InvocationTargetException) e).getTargetException()); + } + return new RuntimeException(msg, e); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Base64.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/sign/Base64.java similarity index 99% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Base64.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/sign/Base64.java index ca1cd9248..b26483580 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Base64.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/sign/Base64.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils.sign; +package com.jiajiakang.common.utils.sign; /** * Base64工具类 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/spring/SpringUtils.java similarity index 97% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/spring/SpringUtils.java index 9993b98ff..73f7939b2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/spring/SpringUtils.java @@ -1,4 +1,4 @@ -package com.ruoyi.common.utils.spring; +package com.jiajiakang.common.utils.spring; import org.springframework.aop.framework.AopContext; import org.springframework.beans.BeansException; @@ -8,7 +8,7 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.utils.StringUtils; /** * spring工具类 方便在非spring管理环境中获取bean diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/sql/SqlUtil.java similarity index 84% rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java rename to jiajiakang-common/src/main/java/com/jiajiakang/common/utils/sql/SqlUtil.java index 0b06dd96a..70aebb0c4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java +++ b/jiajiakang-common/src/main/java/com/jiajiakang/common/utils/sql/SqlUtil.java @@ -1,7 +1,7 @@ -package com.ruoyi.common.utils.sql; +package com.jiajiakang.common.utils.sql; -import com.ruoyi.common.exception.BaseException; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.exception.BaseException; +import com.jiajiakang.common.utils.StringUtils; /** * sql操作工具类 diff --git a/ruoyi-framework/pom.xml b/jiajiakang-framework/pom.xml similarity index 88% rename from ruoyi-framework/pom.xml rename to jiajiakang-framework/pom.xml index d738880e9..5796c527f 100644 --- a/ruoyi-framework/pom.xml +++ b/jiajiakang-framework/pom.xml @@ -1,72 +1,72 @@ - - - - ruoyi - com.ruoyi - 3.4.0 - - 4.0.0 - - ruoyi-framework - - - framework框架核心 - - - - - - - - org.springframework.boot - spring-boot-starter-web - - - spring-boot-starter-tomcat - org.springframework.boot - - - - - - org.springframework.boot - spring-boot-starter-undertow - - - - - - - - - - - - - org.springframework.boot - spring-boot-starter-aop - - - - - com.alibaba - druid-spring-boot-starter - - - - - com.github.oshi - oshi-core - - - - - com.ruoyi - ruoyi-system - - - - + + + + jiajiakang + com.jiajiakang + 3.4.0 + + 4.0.0 + + jiajiakang-framework + + + framework框架核心 + + + + + + + + org.springframework.boot + spring-boot-starter-web + + + spring-boot-starter-tomcat + org.springframework.boot + + + + + + org.springframework.boot + spring-boot-starter-undertow + + + + + + + + + + + + + org.springframework.boot + spring-boot-starter-aop + + + + + com.alibaba + druid-spring-boot-starter + + + + + com.github.oshi + oshi-core + + + + + com.jiajiakang + jiajiakang-system + + + + \ No newline at end of file diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/DataScopeAspect.java similarity index 88% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/DataScopeAspect.java index 45d939bbe..d815233b7 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/DataScopeAspect.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.aspectj; +package com.jiajiakang.framework.aspectj; import java.lang.reflect.Method; import org.aspectj.lang.JoinPoint; @@ -8,15 +8,15 @@ import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component; -import com.ruoyi.common.annotation.DataScope; -import com.ruoyi.common.core.domain.BaseEntity; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.framework.web.service.TokenService; +import com.jiajiakang.common.annotation.DataScope; +import com.jiajiakang.common.core.domain.BaseEntity; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.spring.SpringUtils; +import com.jiajiakang.framework.web.service.TokenService; /** * 数据过滤处理 @@ -58,7 +58,7 @@ public class DataScopeAspect public static final String DATA_SCOPE = "dataScope"; // 配置织入点 - @Pointcut("@annotation(com.ruoyi.common.annotation.DataScope)") + @Pointcut("@annotation(com.jiajiakang.common.annotation.DataScope)") public void dataScopePointCut() { } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/DataSourceAspect.java similarity index 82% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/DataSourceAspect.java index 8c2c9f438..9cd9d067d 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/DataSourceAspect.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.aspectj; +package com.jiajiakang.framework.aspectj; import java.util.Objects; import org.aspectj.lang.ProceedingJoinPoint; @@ -11,9 +11,9 @@ import org.slf4j.LoggerFactory; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import com.ruoyi.common.annotation.DataSource; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.framework.datasource.DynamicDataSourceContextHolder; +import com.jiajiakang.common.annotation.DataSource; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.framework.datasource.DynamicDataSourceContextHolder; /** * 多数据源处理 @@ -27,8 +27,8 @@ public class DataSourceAspect { protected Logger logger = LoggerFactory.getLogger(getClass()); - @Pointcut("@annotation(com.ruoyi.common.annotation.DataSource)" - + "|| @within(com.ruoyi.common.annotation.DataSource)") + @Pointcut("@annotation(com.jiajiakang.common.annotation.DataSource)" + + "|| @within(com.jiajiakang.common.annotation.DataSource)") public void dsPointCut() { diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/LogAspect.java similarity index 91% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/LogAspect.java index 7e180ab7c..bdff3101a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/aspectj/LogAspect.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.aspectj; +package com.jiajiakang.framework.aspectj; import java.lang.reflect.Method; import java.util.Collection; @@ -19,18 +19,18 @@ import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.HandlerMapping; import com.alibaba.fastjson.JSON; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.enums.BusinessStatus; -import com.ruoyi.common.enums.HttpMethod; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.ip.IpUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.framework.manager.AsyncManager; -import com.ruoyi.framework.manager.factory.AsyncFactory; -import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.domain.SysOperLog; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.enums.BusinessStatus; +import com.jiajiakang.common.enums.HttpMethod; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.ip.IpUtils; +import com.jiajiakang.common.utils.spring.SpringUtils; +import com.jiajiakang.framework.manager.AsyncManager; +import com.jiajiakang.framework.manager.factory.AsyncFactory; +import com.jiajiakang.framework.web.service.TokenService; +import com.jiajiakang.system.domain.SysOperLog; /** * 操作日志记录处理 @@ -44,7 +44,7 @@ public class LogAspect private static final Logger log = LoggerFactory.getLogger(LogAspect.class); // 配置织入点 - @Pointcut("@annotation(com.ruoyi.common.annotation.Log)") + @Pointcut("@annotation(com.jiajiakang.common.annotation.Log)") public void logPointCut() { } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ApplicationConfig.java similarity index 91% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ApplicationConfig.java index 1d4dc1f72..bbad887c6 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ApplicationConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import java.util.TimeZone; import org.mybatis.spring.annotation.MapperScan; @@ -16,7 +16,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; // 表示通过aop框架暴露该代理对象,AopContext能够访问 @EnableAspectJAutoProxy(exposeProxy = true) // 指定要扫描的Mapper类的包的路径 -@MapperScan("com.ruoyi.**.mapper") +@MapperScan("com.jiajiakang.**.mapper") public class ApplicationConfig { /** diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/CaptchaConfig.java similarity index 97% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/CaptchaConfig.java index 4cd99970c..24c76b37a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/CaptchaConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import java.awt.*; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/DruidConfig.java similarity index 94% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/DruidConfig.java index 3fab843f9..51dbdfe81 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/DruidConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import java.io.IOException; import java.util.HashMap; @@ -19,10 +19,10 @@ import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties; import com.alibaba.druid.util.Utils; -import com.ruoyi.common.enums.DataSourceType; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.framework.config.properties.DruidProperties; -import com.ruoyi.framework.datasource.DynamicDataSource; +import com.jiajiakang.common.enums.DataSourceType; +import com.jiajiakang.common.utils.spring.SpringUtils; +import com.jiajiakang.framework.config.properties.DruidProperties; +import com.jiajiakang.framework.datasource.DynamicDataSource; /** * druid 配置多数据源 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FastJson2JsonRedisSerializer.java similarity index 97% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FastJson2JsonRedisSerializer.java index 59812ea5d..0ded28e6d 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FastJson2JsonRedisSerializer.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FeignConfig.java similarity index 97% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FeignConfig.java index cdb0c8be3..47c6f59a4 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FeignConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import feign.*; import okhttp3.ConnectionPool; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FilterConfig.java similarity index 90% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FilterConfig.java index b5f03ec88..66ce24387 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/FilterConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import java.util.HashMap; import java.util.Map; @@ -7,9 +7,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.ruoyi.common.filter.RepeatableFilter; -import com.ruoyi.common.filter.XssFilter; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.filter.RepeatableFilter; +import com.jiajiakang.common.filter.XssFilter; +import com.jiajiakang.common.utils.StringUtils; /** * Filter配置 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/MybatisPlusConfig.java similarity index 98% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/MybatisPlusConfig.java index c274e36dc..d2744ee6f 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/MybatisPlusConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/RedisConfig.java similarity index 97% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/RedisConfig.java index a65626aaa..dda4063f5 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/RedisConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ResourcesConfig.java similarity index 91% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ResourcesConfig.java index 7f0a629bc..ced82dc1a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ResourcesConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -9,9 +9,9 @@ import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; +import com.jiajiakang.common.config.RuoYiConfig; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.framework.interceptor.RepeatSubmitInterceptor; /** * 通用配置 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/SecurityConfig.java similarity index 95% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/SecurityConfig.java index 385439e21..0f72614f3 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/SecurityConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -14,9 +14,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.logout.LogoutFilter; import org.springframework.web.filter.CorsFilter; -import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter; -import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl; -import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl; +import com.jiajiakang.framework.security.filter.JwtAuthenticationTokenFilter; +import com.jiajiakang.framework.security.handle.AuthenticationEntryPointImpl; +import com.jiajiakang.framework.security.handle.LogoutSuccessHandlerImpl; /** * spring security配置 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ServerConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ServerConfig.java similarity index 89% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/ServerConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ServerConfig.java index b5b7de316..f327bfe68 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ServerConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ServerConfig.java @@ -1,8 +1,8 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Component; -import com.ruoyi.common.utils.ServletUtils; +import com.jiajiakang.common.utils.ServletUtils; /** * 服务相关配置 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ThreadPoolConfig.java similarity index 95% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ThreadPoolConfig.java index 0d67c2241..bf29e088a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ThreadPoolConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledThreadPoolExecutor; @@ -7,7 +7,7 @@ import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import com.ruoyi.common.utils.Threads; +import com.jiajiakang.common.utils.Threads; /** * 线程池配置 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ValidatorConfig.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ValidatorConfig.java similarity index 94% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/ValidatorConfig.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ValidatorConfig.java index d9b0b3d99..c790410d8 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ValidatorConfig.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/ValidatorConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config; +package com.jiajiakang.framework.config; import org.hibernate.validator.HibernateValidator; import org.springframework.context.annotation.Bean; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/properties/DruidProperties.java similarity index 98% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/properties/DruidProperties.java index 84f7e0090..a9ec53d1a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/config/properties/DruidProperties.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.config.properties; +package com.jiajiakang.framework.config.properties; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/datasource/DynamicDataSource.java similarity index 93% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/datasource/DynamicDataSource.java index e70b8cfa7..8a647bf2e 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/datasource/DynamicDataSource.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.datasource; +package com.jiajiakang.framework.datasource; import java.util.Map; import javax.sql.DataSource; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/datasource/DynamicDataSourceContextHolder.java similarity index 95% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/datasource/DynamicDataSourceContextHolder.java index 3572db917..9e233003f 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/datasource/DynamicDataSourceContextHolder.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.datasource; +package com.jiajiakang.framework.datasource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/interceptor/RepeatSubmitInterceptor.java similarity index 87% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/interceptor/RepeatSubmitInterceptor.java index d310382f8..af104fdd4 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/interceptor/RepeatSubmitInterceptor.java @@ -1,55 +1,55 @@ -package com.ruoyi.framework.interceptor; - -import java.lang.reflect.Method; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; -import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.annotation.RepeatSubmit; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.utils.ServletUtils; - -/** - * 防止重复提交拦截器 - * - * @author ruoyi - */ -@Component -public abstract class RepeatSubmitInterceptor extends HandlerInterceptorAdapter -{ - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception - { - if (handler instanceof HandlerMethod) - { - HandlerMethod handlerMethod = (HandlerMethod) handler; - Method method = handlerMethod.getMethod(); - RepeatSubmit annotation = method.getAnnotation(RepeatSubmit.class); - if (annotation != null) - { - if (this.isRepeatSubmit(request)) - { - AjaxResult ajaxResult = AjaxResult.error("不允许重复提交,请稍后再试"); - ServletUtils.renderString(response, JSONObject.toJSONString(ajaxResult)); - return false; - } - } - return true; - } - else - { - return super.preHandle(request, response, handler); - } - } - - /** - * 验证是否重复提交由子类实现具体的防重复提交的规则 - * - * @param request - * @return - * @throws Exception - */ - public abstract boolean isRepeatSubmit(HttpServletRequest request); -} +package com.jiajiakang.framework.interceptor; + +import java.lang.reflect.Method; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; +import com.alibaba.fastjson.JSONObject; +import com.jiajiakang.common.annotation.RepeatSubmit; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.utils.ServletUtils; + +/** + * 防止重复提交拦截器 + * + * @author ruoyi + */ +@Component +public abstract class RepeatSubmitInterceptor extends HandlerInterceptorAdapter +{ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception + { + if (handler instanceof HandlerMethod) + { + HandlerMethod handlerMethod = (HandlerMethod) handler; + Method method = handlerMethod.getMethod(); + RepeatSubmit annotation = method.getAnnotation(RepeatSubmit.class); + if (annotation != null) + { + if (this.isRepeatSubmit(request)) + { + AjaxResult ajaxResult = AjaxResult.error("不允许重复提交,请稍后再试"); + ServletUtils.renderString(response, JSONObject.toJSONString(ajaxResult)); + return false; + } + } + return true; + } + else + { + return super.preHandle(request, response, handler); + } + } + + /** + * 验证是否重复提交由子类实现具体的防重复提交的规则 + * + * @param request + * @return + * @throws Exception + */ + public abstract boolean isRepeatSubmit(HttpServletRequest request); +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/interceptor/impl/SameUrlDataInterceptor.java similarity index 89% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/interceptor/impl/SameUrlDataInterceptor.java index e3864c7ac..0f0815bda 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/interceptor/impl/SameUrlDataInterceptor.java @@ -1,125 +1,125 @@ -package com.ruoyi.framework.interceptor.impl; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import javax.servlet.http.HttpServletRequest; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; -import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.filter.RepeatedlyRequestWrapper; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.http.HttpHelper; -import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; - -/** - * 判断请求url和数据是否和上一次相同, - * 如果和上次相同,则是重复提交表单。 有效时间为10秒内。 - * - * @author ruoyi - */ -@Component -public class SameUrlDataInterceptor extends RepeatSubmitInterceptor -{ - public final String REPEAT_PARAMS = "repeatParams"; - - public final String REPEAT_TIME = "repeatTime"; - - // 令牌自定义标识 - @Value("${token.header}") - private String header; - - @Autowired - private RedisCache redisCache; - - /** - * 间隔时间,单位:秒 默认10秒 - * - * 两次相同参数的请求,如果间隔时间大于该参数,系统不会认定为重复提交的数据 - */ - private int intervalTime = 10; - - public void setIntervalTime(int intervalTime) - { - this.intervalTime = intervalTime; - } - - @SuppressWarnings("unchecked") - @Override - public boolean isRepeatSubmit(HttpServletRequest request) - { - String nowParams = ""; - if (request instanceof RepeatedlyRequestWrapper) - { - RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper) request; - nowParams = HttpHelper.getBodyString(repeatedlyRequest); - } - - // body参数为空,获取Parameter的数据 - if (StringUtils.isEmpty(nowParams)) - { - nowParams = JSONObject.toJSONString(request.getParameterMap()); - } - Map nowDataMap = new HashMap(); - nowDataMap.put(REPEAT_PARAMS, nowParams); - nowDataMap.put(REPEAT_TIME, System.currentTimeMillis()); - - // 请求地址(作为存放cache的key值) - String url = request.getRequestURI(); - - // 唯一值(没有消息头则使用请求地址) - String submitKey = request.getHeader(header); - if (StringUtils.isEmpty(submitKey)) - { - submitKey = url; - } - - // 唯一标识(指定key + 消息头) - String cache_repeat_key = Constants.REPEAT_SUBMIT_KEY + submitKey; - - Object sessionObj = redisCache.getCacheObject(cache_repeat_key); - if (sessionObj != null) - { - Map sessionMap = (Map) sessionObj; - if (sessionMap.containsKey(url)) - { - Map preDataMap = (Map) sessionMap.get(url); - if (compareParams(nowDataMap, preDataMap) && compareTime(nowDataMap, preDataMap)) - { - return true; - } - } - } - Map cacheMap = new HashMap(); - cacheMap.put(url, nowDataMap); - redisCache.setCacheObject(cache_repeat_key, cacheMap, intervalTime, TimeUnit.SECONDS); - return false; - } - - /** - * 判断参数是否相同 - */ - private boolean compareParams(Map nowMap, Map preMap) - { - String nowParams = (String) nowMap.get(REPEAT_PARAMS); - String preParams = (String) preMap.get(REPEAT_PARAMS); - return nowParams.equals(preParams); - } - - /** - * 判断两次间隔时间 - */ - private boolean compareTime(Map nowMap, Map preMap) - { - long time1 = (Long) nowMap.get(REPEAT_TIME); - long time2 = (Long) preMap.get(REPEAT_TIME); - if ((time1 - time2) < (this.intervalTime * 1000)) - { - return true; - } - return false; - } -} +package com.jiajiakang.framework.interceptor.impl; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.servlet.http.HttpServletRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import com.alibaba.fastjson.JSONObject; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.redis.RedisCache; +import com.jiajiakang.common.filter.RepeatedlyRequestWrapper; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.http.HttpHelper; +import com.jiajiakang.framework.interceptor.RepeatSubmitInterceptor; + +/** + * 判断请求url和数据是否和上一次相同, + * 如果和上次相同,则是重复提交表单。 有效时间为10秒内。 + * + * @author ruoyi + */ +@Component +public class SameUrlDataInterceptor extends RepeatSubmitInterceptor +{ + public final String REPEAT_PARAMS = "repeatParams"; + + public final String REPEAT_TIME = "repeatTime"; + + // 令牌自定义标识 + @Value("${token.header}") + private String header; + + @Autowired + private RedisCache redisCache; + + /** + * 间隔时间,单位:秒 默认10秒 + * + * 两次相同参数的请求,如果间隔时间大于该参数,系统不会认定为重复提交的数据 + */ + private int intervalTime = 10; + + public void setIntervalTime(int intervalTime) + { + this.intervalTime = intervalTime; + } + + @SuppressWarnings("unchecked") + @Override + public boolean isRepeatSubmit(HttpServletRequest request) + { + String nowParams = ""; + if (request instanceof RepeatedlyRequestWrapper) + { + RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper) request; + nowParams = HttpHelper.getBodyString(repeatedlyRequest); + } + + // body参数为空,获取Parameter的数据 + if (StringUtils.isEmpty(nowParams)) + { + nowParams = JSONObject.toJSONString(request.getParameterMap()); + } + Map nowDataMap = new HashMap(); + nowDataMap.put(REPEAT_PARAMS, nowParams); + nowDataMap.put(REPEAT_TIME, System.currentTimeMillis()); + + // 请求地址(作为存放cache的key值) + String url = request.getRequestURI(); + + // 唯一值(没有消息头则使用请求地址) + String submitKey = request.getHeader(header); + if (StringUtils.isEmpty(submitKey)) + { + submitKey = url; + } + + // 唯一标识(指定key + 消息头) + String cache_repeat_key = Constants.REPEAT_SUBMIT_KEY + submitKey; + + Object sessionObj = redisCache.getCacheObject(cache_repeat_key); + if (sessionObj != null) + { + Map sessionMap = (Map) sessionObj; + if (sessionMap.containsKey(url)) + { + Map preDataMap = (Map) sessionMap.get(url); + if (compareParams(nowDataMap, preDataMap) && compareTime(nowDataMap, preDataMap)) + { + return true; + } + } + } + Map cacheMap = new HashMap(); + cacheMap.put(url, nowDataMap); + redisCache.setCacheObject(cache_repeat_key, cacheMap, intervalTime, TimeUnit.SECONDS); + return false; + } + + /** + * 判断参数是否相同 + */ + private boolean compareParams(Map nowMap, Map preMap) + { + String nowParams = (String) nowMap.get(REPEAT_PARAMS); + String preParams = (String) preMap.get(REPEAT_PARAMS); + return nowParams.equals(preParams); + } + + /** + * 判断两次间隔时间 + */ + private boolean compareTime(Map nowMap, Map preMap) + { + long time1 = (Long) nowMap.get(REPEAT_TIME); + long time2 = (Long) preMap.get(REPEAT_TIME); + if ((time1 - time2) < (this.intervalTime * 1000)) + { + return true; + } + return false; + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/AsyncManager.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/AsyncManager.java similarity index 87% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/manager/AsyncManager.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/AsyncManager.java index 7387a02cb..331e617b8 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/AsyncManager.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/AsyncManager.java @@ -1,10 +1,10 @@ -package com.ruoyi.framework.manager; +package com.jiajiakang.framework.manager; import java.util.TimerTask; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import com.ruoyi.common.utils.Threads; -import com.ruoyi.common.utils.spring.SpringUtils; +import com.jiajiakang.common.utils.Threads; +import com.jiajiakang.common.utils.spring.SpringUtils; /** * 异步任务管理器 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/ShutdownManager.java similarity index 94% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/ShutdownManager.java index e36ca3c58..bb8e80fba 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/ShutdownManager.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.manager; +package com.jiajiakang.framework.manager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/factory/AsyncFactory.java similarity index 84% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/factory/AsyncFactory.java index 17a8f40fa..3282f23be 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/manager/factory/AsyncFactory.java @@ -1,18 +1,18 @@ -package com.ruoyi.framework.manager.factory; +package com.jiajiakang.framework.manager.factory; import java.util.TimerTask; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.utils.LogUtils; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.ip.AddressUtils; -import com.ruoyi.common.utils.ip.IpUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.system.domain.SysLogininfor; -import com.ruoyi.system.domain.SysOperLog; -import com.ruoyi.system.service.ISysLogininforService; -import com.ruoyi.system.service.ISysOperLogService; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.utils.LogUtils; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.ip.AddressUtils; +import com.jiajiakang.common.utils.ip.IpUtils; +import com.jiajiakang.common.utils.spring.SpringUtils; +import com.jiajiakang.system.domain.SysLogininfor; +import com.jiajiakang.system.domain.SysOperLog; +import com.jiajiakang.system.service.ISysLogininforService; +import com.jiajiakang.system.service.ISysOperLogService; import eu.bitwalker.useragentutils.UserAgent; /** diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/filter/JwtAuthenticationTokenFilter.java similarity index 86% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/filter/JwtAuthenticationTokenFilter.java index 3eb24954e..553caf4cd 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/filter/JwtAuthenticationTokenFilter.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.security.filter; +package com.jiajiakang.framework.security.filter; import java.io.IOException; import javax.servlet.FilterChain; @@ -11,10 +11,10 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.framework.web.service.TokenService; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.framework.web.service.TokenService; /** * token过滤器 验证token有效性 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/handle/AuthenticationEntryPointImpl.java similarity index 80% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/handle/AuthenticationEntryPointImpl.java index c22dd324e..5a9c93ac9 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/handle/AuthenticationEntryPointImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.security.handle; +package com.jiajiakang.framework.security.handle; import java.io.IOException; import java.io.Serializable; @@ -8,10 +8,10 @@ import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; import com.alibaba.fastjson.JSON; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.constant.HttpStatus; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; /** * 认证失败处理类 返回未授权 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/handle/LogoutSuccessHandlerImpl.java similarity index 73% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/handle/LogoutSuccessHandlerImpl.java index e5fc11d08..b7713d15d 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/security/handle/LogoutSuccessHandlerImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.security.handle; +package com.jiajiakang.framework.security.handle; import java.io.IOException; import javax.servlet.ServletException; @@ -9,15 +9,15 @@ import org.springframework.context.annotation.Configuration; import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; import com.alibaba.fastjson.JSON; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.framework.manager.AsyncManager; -import com.ruoyi.framework.manager.factory.AsyncFactory; -import com.ruoyi.framework.web.service.TokenService; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.constant.HttpStatus; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.framework.manager.AsyncManager; +import com.jiajiakang.framework.manager.factory.AsyncFactory; +import com.jiajiakang.framework.web.service.TokenService; /** * 自定义退出处理类 返回成功 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/Server.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/Server.java similarity index 93% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/Server.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/Server.java index 5195efada..704103978 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/Server.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/Server.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.domain; +package com.jiajiakang.framework.web.domain; import java.util.LinkedList; import java.util.List; @@ -10,11 +10,11 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.system.*; import cn.hutool.system.oshi.CpuInfo; import cn.hutool.system.oshi.OshiUtil; -import com.ruoyi.framework.web.domain.server.Cpu; -import com.ruoyi.framework.web.domain.server.Jvm; -import com.ruoyi.framework.web.domain.server.Mem; -import com.ruoyi.framework.web.domain.server.Sys; -import com.ruoyi.framework.web.domain.server.SysFile; +import com.jiajiakang.framework.web.domain.server.Cpu; +import com.jiajiakang.framework.web.domain.server.Jvm; +import com.jiajiakang.framework.web.domain.server.Mem; +import com.jiajiakang.framework.web.domain.server.Sys; +import com.jiajiakang.framework.web.domain.server.SysFile; import lombok.Data; import oshi.hardware.GlobalMemory; import oshi.software.os.FileSystem; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Cpu.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Cpu.java similarity index 96% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Cpu.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Cpu.java index 4295f6eec..97899af8d 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Cpu.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Cpu.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.domain.server; +package com.jiajiakang.framework.web.domain.server; import cn.hutool.core.util.NumberUtil; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Jvm.java similarity index 95% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Jvm.java index 4b70cbb84..00bdf71d6 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Jvm.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.domain.server; +package com.jiajiakang.framework.web.domain.server; import java.lang.management.ManagementFactory; import java.util.Date; @@ -6,7 +6,7 @@ import java.util.Date; import cn.hutool.core.date.BetweenFormatter; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; -import com.ruoyi.common.utils.DateUtils; +import com.jiajiakang.common.utils.DateUtils; /** * JVM相关信息 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Mem.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Mem.java similarity index 94% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Mem.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Mem.java index 757ff5712..0d16d2a03 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Mem.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Mem.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.domain.server; +package com.jiajiakang.framework.web.domain.server; import cn.hutool.core.util.NumberUtil; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Sys.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Sys.java similarity index 95% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Sys.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Sys.java index 45d64d9cd..529e2884d 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Sys.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/Sys.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.domain.server; +package com.jiajiakang.framework.web.domain.server; /** * 系统相关信息 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/SysFile.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/SysFile.java similarity index 96% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/SysFile.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/SysFile.java index 1320cde6e..762247ef8 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/SysFile.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/domain/server/SysFile.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.domain.server; +package com.jiajiakang.framework.web.domain.server; /** * 系统文件相关信息 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/exception/GlobalExceptionHandler.java similarity index 91% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/exception/GlobalExceptionHandler.java index cd497ccb6..87dc03274 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/exception/GlobalExceptionHandler.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.exception; +package com.jiajiakang.framework.web.exception; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,12 +10,12 @@ import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.NoHandlerFoundException; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.exception.BaseException; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.exception.DemoModeException; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.constant.HttpStatus; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.exception.BaseException; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.exception.DemoModeException; +import com.jiajiakang.common.utils.StringUtils; import javax.validation.ConstraintViolationException; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/PermissionService.java similarity index 94% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/PermissionService.java index 277e4b998..223a3be40 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/PermissionService.java @@ -1,13 +1,13 @@ -package com.ruoyi.framework.web.service; +package com.jiajiakang.framework.web.service; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; /** * RuoYi首创 自定义权限实现,ss取自SpringSecurity首字母 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/SysLoginService.java similarity index 81% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/SysLoginService.java index b56b43705..062af5592 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/SysLoginService.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.service; +package com.jiajiakang.framework.web.service; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; @@ -7,16 +7,16 @@ import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.stereotype.Component; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.exception.user.CaptchaException; -import com.ruoyi.common.exception.user.CaptchaExpireException; -import com.ruoyi.common.exception.user.UserPasswordNotMatchException; -import com.ruoyi.common.utils.MessageUtils; -import com.ruoyi.framework.manager.AsyncManager; -import com.ruoyi.framework.manager.factory.AsyncFactory; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.core.redis.RedisCache; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.exception.user.CaptchaException; +import com.jiajiakang.common.exception.user.CaptchaExpireException; +import com.jiajiakang.common.exception.user.UserPasswordNotMatchException; +import com.jiajiakang.common.utils.MessageUtils; +import com.jiajiakang.framework.manager.AsyncManager; +import com.jiajiakang.framework.manager.factory.AsyncFactory; /** * 登录校验方法 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/SysPermissionService.java similarity index 86% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/SysPermissionService.java index feb803875..3a033e633 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/SysPermissionService.java @@ -1,12 +1,12 @@ -package com.ruoyi.framework.web.service; +package com.jiajiakang.framework.web.service; import java.util.HashSet; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.system.service.ISysMenuService; -import com.ruoyi.system.service.ISysRoleService; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.system.service.ISysMenuService; +import com.jiajiakang.system.service.ISysRoleService; /** * 用户权限处理 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/TokenService.java similarity index 93% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/TokenService.java index 89a81ad16..cfb563441 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/TokenService.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.service; +package com.jiajiakang.framework.web.service; import java.util.HashMap; import java.util.Map; @@ -9,13 +9,13 @@ import cn.hutool.core.util.IdUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.ip.AddressUtils; -import com.ruoyi.common.utils.ip.IpUtils; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.core.redis.RedisCache; +import com.jiajiakang.common.utils.ServletUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.ip.AddressUtils; +import com.jiajiakang.common.utils.ip.IpUtils; import eu.bitwalker.useragentutils.UserAgent; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/UserDetailsServiceImpl.java similarity index 83% rename from ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java rename to jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/UserDetailsServiceImpl.java index 35fd05e29..9d28851dc 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java +++ b/jiajiakang-framework/src/main/java/com/jiajiakang/framework/web/service/UserDetailsServiceImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.framework.web.service; +package com.jiajiakang.framework.web.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -7,12 +7,12 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.enums.UserStatus; -import com.ruoyi.common.exception.BaseException; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.service.ISysUserService; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.enums.UserStatus; +import com.jiajiakang.common.exception.BaseException; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.service.ISysUserService; /** * 用户验证处理 diff --git a/ruoyi-generator/pom.xml b/jiajiakang-generator/pom.xml similarity index 75% rename from ruoyi-generator/pom.xml rename to jiajiakang-generator/pom.xml index 594d0b306..49b488ae1 100644 --- a/ruoyi-generator/pom.xml +++ b/jiajiakang-generator/pom.xml @@ -1,34 +1,34 @@ - - - - ruoyi - com.ruoyi - 3.4.0 - - 4.0.0 - - ruoyi-generator - - - generator代码生成 - - - - - - - org.apache.velocity - velocity - - - - - com.ruoyi - ruoyi-common - - - - + + + + jiajiakang + com.jiajiakang + 3.4.0 + + 4.0.0 + + jiajiakang-generator + + + generator代码生成 + + + + + + + org.apache.velocity + velocity + + + + + com.jiajiakang + jiajiakang-common + + + + \ No newline at end of file diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/config/GenConfig.java similarity index 97% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/config/GenConfig.java index cc4cd14c8..3e2ce377f 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/config/GenConfig.java @@ -1,4 +1,4 @@ -package com.ruoyi.generator.config; +package com.jiajiakang.generator.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/controller/GenController.java similarity index 92% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/controller/GenController.java index 8195206fe..e06783b1b 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/controller/GenController.java @@ -1,4 +1,4 @@ -package com.ruoyi.generator.controller; +package com.jiajiakang.generator.controller; import java.io.IOException; import java.util.HashMap; @@ -17,16 +17,16 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.generator.domain.GenTable; -import com.ruoyi.generator.domain.GenTableColumn; -import com.ruoyi.generator.service.IGenTableColumnService; -import com.ruoyi.generator.service.IGenTableService; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.core.text.Convert; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.generator.domain.GenTable; +import com.jiajiakang.generator.domain.GenTableColumn; +import com.jiajiakang.generator.service.IGenTableColumnService; +import com.jiajiakang.generator.service.IGenTableService; /** * 代码生成 操作处理 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/domain/GenTable.java similarity index 97% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/domain/GenTable.java index 269779cf2..a14688440 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/domain/GenTable.java @@ -1,12 +1,12 @@ -package com.ruoyi.generator.domain; +package com.jiajiakang.generator.domain; import java.util.List; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import org.apache.commons.lang3.ArrayUtils; -import com.ruoyi.common.constant.GenConstants; -import com.ruoyi.common.core.domain.BaseEntity; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.constant.GenConstants; +import com.jiajiakang.common.core.domain.BaseEntity; +import com.jiajiakang.common.utils.StringUtils; /** * 业务表 gen_table diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/domain/GenTableColumn.java similarity index 98% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/domain/GenTableColumn.java index d1733b645..ae6ddbe69 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/domain/GenTableColumn.java @@ -1,8 +1,8 @@ -package com.ruoyi.generator.domain; +package com.jiajiakang.generator.domain; import javax.validation.constraints.NotBlank; -import com.ruoyi.common.core.domain.BaseEntity; -import com.ruoyi.common.utils.StringUtils; +import com.jiajiakang.common.core.domain.BaseEntity; +import com.jiajiakang.common.utils.StringUtils; /** * 代码生成业务字段表 gen_table_column diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/mapper/GenTableColumnMapper.java similarity index 93% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/mapper/GenTableColumnMapper.java index 951e16670..a1b76a958 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/mapper/GenTableColumnMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.generator.mapper; +package com.jiajiakang.generator.mapper; import java.util.List; -import com.ruoyi.generator.domain.GenTableColumn; +import com.jiajiakang.generator.domain.GenTableColumn; /** * 业务字段 数据层 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/mapper/GenTableMapper.java similarity index 94% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/mapper/GenTableMapper.java index cb2750989..9b02b73b5 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/mapper/GenTableMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.generator.mapper; +package com.jiajiakang.generator.mapper; import java.util.List; -import com.ruoyi.generator.domain.GenTable; +import com.jiajiakang.generator.domain.GenTable; /** * 业务 数据层 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/GenTableColumnServiceImpl.java similarity index 87% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/GenTableColumnServiceImpl.java index 0679689d2..702c2d474 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/GenTableColumnServiceImpl.java @@ -1,11 +1,11 @@ -package com.ruoyi.generator.service; +package com.jiajiakang.generator.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.generator.domain.GenTableColumn; -import com.ruoyi.generator.mapper.GenTableColumnMapper; +import com.jiajiakang.common.core.text.Convert; +import com.jiajiakang.generator.domain.GenTableColumn; +import com.jiajiakang.generator.mapper.GenTableColumnMapper; /** * 业务字段 服务层实现 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/GenTableServiceImpl.java similarity index 95% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/GenTableServiceImpl.java index 796b54514..ff937d700 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/GenTableServiceImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.generator.service; +package com.jiajiakang.generator.service; import java.io.ByteArrayOutputStream; import java.io.File; @@ -21,20 +21,20 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.constant.GenConstants; -import com.ruoyi.common.core.text.CharsetKit; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.file.FileUtils; -import com.ruoyi.generator.domain.GenTable; -import com.ruoyi.generator.domain.GenTableColumn; -import com.ruoyi.generator.mapper.GenTableColumnMapper; -import com.ruoyi.generator.mapper.GenTableMapper; -import com.ruoyi.generator.util.GenUtils; -import com.ruoyi.generator.util.VelocityInitializer; -import com.ruoyi.generator.util.VelocityUtils; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.constant.GenConstants; +import com.jiajiakang.common.core.text.CharsetKit; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.file.FileUtils; +import com.jiajiakang.generator.domain.GenTable; +import com.jiajiakang.generator.domain.GenTableColumn; +import com.jiajiakang.generator.mapper.GenTableColumnMapper; +import com.jiajiakang.generator.mapper.GenTableMapper; +import com.jiajiakang.generator.util.GenUtils; +import com.jiajiakang.generator.util.VelocityInitializer; +import com.jiajiakang.generator.util.VelocityUtils; /** * 业务 服务层实现 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/IGenTableColumnService.java similarity index 90% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/IGenTableColumnService.java index 3037f707e..08f8f9e4c 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/IGenTableColumnService.java @@ -1,7 +1,7 @@ -package com.ruoyi.generator.service; +package com.jiajiakang.generator.service; import java.util.List; -import com.ruoyi.generator.domain.GenTableColumn; +import com.jiajiakang.generator.domain.GenTableColumn; /** * 业务字段 服务层 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/IGenTableService.java similarity index 96% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/IGenTableService.java index e6267cbe5..1ccb4dd6f 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/service/IGenTableService.java @@ -1,8 +1,8 @@ -package com.ruoyi.generator.service; +package com.jiajiakang.generator.service; import java.util.List; import java.util.Map; -import com.ruoyi.generator.domain.GenTable; +import com.jiajiakang.generator.domain.GenTable; /** * 业务 服务层 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/GenUtils.java similarity index 96% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/GenUtils.java index 06c682144..ad833dc3c 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/GenUtils.java @@ -1,12 +1,12 @@ -package com.ruoyi.generator.util; +package com.jiajiakang.generator.util; import java.util.Arrays; import org.apache.commons.lang3.RegExUtils; -import com.ruoyi.common.constant.GenConstants; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.generator.config.GenConfig; -import com.ruoyi.generator.domain.GenTable; -import com.ruoyi.generator.domain.GenTableColumn; +import com.jiajiakang.common.constant.GenConstants; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.generator.config.GenConfig; +import com.jiajiakang.generator.domain.GenTable; +import com.jiajiakang.generator.domain.GenTableColumn; /** * 代码生成器 工具类 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/VelocityInitializer.java similarity index 90% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/VelocityInitializer.java index 3b7b3a10e..033b798ac 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/VelocityInitializer.java @@ -1,8 +1,8 @@ -package com.ruoyi.generator.util; +package com.jiajiakang.generator.util; import java.util.Properties; import org.apache.velocity.app.Velocity; -import com.ruoyi.common.constant.Constants; +import com.jiajiakang.common.constant.Constants; /** * VelocityEngine工厂 diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/VelocityUtils.java similarity index 97% rename from ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java rename to jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/VelocityUtils.java index 12702b784..7bfb283f8 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java +++ b/jiajiakang-generator/src/main/java/com/jiajiakang/generator/util/VelocityUtils.java @@ -1,15 +1,15 @@ -package com.ruoyi.generator.util; +package com.jiajiakang.generator.util; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import org.apache.velocity.VelocityContext; import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.constant.GenConstants; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.generator.domain.GenTable; -import com.ruoyi.generator.domain.GenTableColumn; +import com.jiajiakang.common.constant.GenConstants; +import com.jiajiakang.common.utils.DateUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.generator.domain.GenTable; +import com.jiajiakang.generator.domain.GenTableColumn; /** * 模板处理工具类 diff --git a/ruoyi-generator/src/main/resources/generator.yml b/jiajiakang-generator/src/main/resources/generator.yml similarity index 87% rename from ruoyi-generator/src/main/resources/generator.yml rename to jiajiakang-generator/src/main/resources/generator.yml index 4544c8c24..2353a7512 100644 --- a/ruoyi-generator/src/main/resources/generator.yml +++ b/jiajiakang-generator/src/main/resources/generator.yml @@ -1,10 +1,10 @@ -# 代码生成 -gen: - # 作者 - author: ruoyi - # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool - packageName: com.ruoyi.system - # 自动去除表前缀,默认是false - autoRemovePre: false - # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) +# 代码生成 +gen: + # 作者 + author: ruoyi + # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool + packageName: com.jiajiakang.system + # 自动去除表前缀,默认是false + autoRemovePre: false + # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) tablePrefix: sys_ \ No newline at end of file diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/jiajiakang-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml similarity index 98% rename from ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml rename to jiajiakang-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml index 5fa790f5a..6ee745ec8 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ b/jiajiakang-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/jiajiakang-generator/src/main/resources/mapper/generator/GenTableMapper.xml similarity index 99% rename from ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml rename to jiajiakang-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 528e9250c..62b3f5904 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/jiajiakang-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm b/jiajiakang-generator/src/main/resources/vm/java/controller.java.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/java/controller.java.vm rename to jiajiakang-generator/src/main/resources/vm/java/controller.java.vm diff --git a/ruoyi-generator/src/main/resources/vm/java/domain.java.vm b/jiajiakang-generator/src/main/resources/vm/java/domain.java.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/java/domain.java.vm rename to jiajiakang-generator/src/main/resources/vm/java/domain.java.vm diff --git a/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm b/jiajiakang-generator/src/main/resources/vm/java/mapper.java.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/java/mapper.java.vm rename to jiajiakang-generator/src/main/resources/vm/java/mapper.java.vm diff --git a/ruoyi-generator/src/main/resources/vm/java/service.java.vm b/jiajiakang-generator/src/main/resources/vm/java/service.java.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/java/service.java.vm rename to jiajiakang-generator/src/main/resources/vm/java/service.java.vm diff --git a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm b/jiajiakang-generator/src/main/resources/vm/java/serviceImpl.java.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm rename to jiajiakang-generator/src/main/resources/vm/java/serviceImpl.java.vm diff --git a/ruoyi-generator/src/main/resources/vm/java/sub-domain.java.vm b/jiajiakang-generator/src/main/resources/vm/java/sub-domain.java.vm similarity index 96% rename from ruoyi-generator/src/main/resources/vm/java/sub-domain.java.vm rename to jiajiakang-generator/src/main/resources/vm/java/sub-domain.java.vm index b5e308cf7..a3f53ebab 100644 --- a/ruoyi-generator/src/main/resources/vm/java/sub-domain.java.vm +++ b/jiajiakang-generator/src/main/resources/vm/java/sub-domain.java.vm @@ -1,76 +1,76 @@ -package ${packageName}.domain; - -#foreach ($import in $subImportList) -import ${import}; -#end -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.core.domain.BaseEntity; - -/** - * ${subTable.functionName}对象 ${subTableName} - * - * @author ${author} - * @date ${datetime} - */ -public class ${subClassName} extends BaseEntity -{ - private static final long serialVersionUID = 1L; - -#foreach ($column in $subTable.columns) -#if(!$table.isSuperColumn($column.javaField)) - /** $column.columnComment */ -#if($column.list) -#set($parentheseIndex=$column.columnComment.indexOf("(")) -#if($parentheseIndex != -1) -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) -#else -#set($comment=$column.columnComment) -#end -#if($parentheseIndex != -1) - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") -#elseif($column.javaType == 'Date') - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") -#else - @Excel(name = "${comment}") -#end -#end - private $column.javaType $column.javaField; - -#end -#end -#foreach ($column in $subTable.columns) -#if(!$table.isSuperColumn($column.javaField)) -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) -#set($AttrName=$column.javaField) -#else -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#end - public void set${AttrName}($column.javaType $column.javaField) - { - this.$column.javaField = $column.javaField; - } - - public $column.javaType get${AttrName}() - { - return $column.javaField; - } -#end -#end - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) -#foreach ($column in $subTable.columns) -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) -#set($AttrName=$column.javaField) -#else -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) -#end - .append("${column.javaField}", get${AttrName}()) -#end - .toString(); - } -} +package ${packageName}.domain; + +#foreach ($import in $subImportList) +import ${import}; +#end +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * ${subTable.functionName}对象 ${subTableName} + * + * @author ${author} + * @date ${datetime} + */ +public class ${subClassName} extends BaseEntity +{ + private static final long serialVersionUID = 1L; + +#foreach ($column in $subTable.columns) +#if(!$table.isSuperColumn($column.javaField)) + /** $column.columnComment */ +#if($column.list) +#set($parentheseIndex=$column.columnComment.indexOf("(")) +#if($parentheseIndex != -1) +#set($comment=$column.columnComment.substring(0, $parentheseIndex)) +#else +#set($comment=$column.columnComment) +#end +#if($parentheseIndex != -1) + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") +#elseif($column.javaType == 'Date') + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") +#else + @Excel(name = "${comment}") +#end +#end + private $column.javaType $column.javaField; + +#end +#end +#foreach ($column in $subTable.columns) +#if(!$table.isSuperColumn($column.javaField)) +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) +#set($AttrName=$column.javaField) +#else +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) +#end + public void set${AttrName}($column.javaType $column.javaField) + { + this.$column.javaField = $column.javaField; + } + + public $column.javaType get${AttrName}() + { + return $column.javaField; + } +#end +#end + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) +#foreach ($column in $subTable.columns) +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) +#set($AttrName=$column.javaField) +#else +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) +#end + .append("${column.javaField}", get${AttrName}()) +#end + .toString(); + } +} diff --git a/ruoyi-generator/src/main/resources/vm/js/api.js.vm b/jiajiakang-generator/src/main/resources/vm/js/api.js.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/js/api.js.vm rename to jiajiakang-generator/src/main/resources/vm/js/api.js.vm diff --git a/ruoyi-generator/src/main/resources/vm/sql/sql.vm b/jiajiakang-generator/src/main/resources/vm/sql/sql.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/sql/sql.vm rename to jiajiakang-generator/src/main/resources/vm/sql/sql.vm diff --git a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/jiajiakang-generator/src/main/resources/vm/vue/index-tree.vue.vm similarity index 97% rename from ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm rename to jiajiakang-generator/src/main/resources/vm/vue/index-tree.vue.vm index aac0faf31..bc244c913 100644 --- a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm +++ b/jiajiakang-generator/src/main/resources/vm/vue/index-tree.vue.vm @@ -1,523 +1,523 @@ - - - + + + diff --git a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/jiajiakang-generator/src/main/resources/vm/vue/index.vue.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/vue/index.vue.vm rename to jiajiakang-generator/src/main/resources/vm/vue/index.vue.vm diff --git a/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm b/jiajiakang-generator/src/main/resources/vm/xml/mapper.xml.vm similarity index 100% rename from ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm rename to jiajiakang-generator/src/main/resources/vm/xml/mapper.xml.vm diff --git a/ruoyi-quartz/pom.xml b/jiajiakang-quartz/pom.xml similarity index 78% rename from ruoyi-quartz/pom.xml rename to jiajiakang-quartz/pom.xml index cc2d760a3..0bb008e99 100644 --- a/ruoyi-quartz/pom.xml +++ b/jiajiakang-quartz/pom.xml @@ -1,40 +1,40 @@ - - - - ruoyi - com.ruoyi - 3.4.0 - - 4.0.0 - - ruoyi-quartz - - - quartz定时任务 - - - - - - - org.quartz-scheduler - quartz - - - com.mchange - c3p0 - - - - - - - com.ruoyi - ruoyi-common - - - - + + + + jiajiakang + com.jiajiakang + 3.4.0 + + 4.0.0 + + jiajiakang-quartz + + + quartz定时任务 + + + + + + + org.quartz-scheduler + quartz + + + com.mchange + c3p0 + + + + + + + com.jiajiakang + jiajiakang-common + + + + \ No newline at end of file diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/config/ScheduleConfig.java similarity index 96% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/config/ScheduleConfig.java index e466ed057..7cb22d7f8 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/config/ScheduleConfig.java @@ -1,57 +1,57 @@ -package com.ruoyi.quartz.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.quartz.SchedulerFactoryBean; -import javax.sql.DataSource; -import java.util.Properties; - -/** - * 定时任务配置 - * - * @author ruoyi - */ -@Configuration -public class ScheduleConfig -{ - @Bean - public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) - { - SchedulerFactoryBean factory = new SchedulerFactoryBean(); - factory.setDataSource(dataSource); - - // quartz参数 - Properties prop = new Properties(); - prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler"); - prop.put("org.quartz.scheduler.instanceId", "AUTO"); - // 线程池配置 - prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); - prop.put("org.quartz.threadPool.threadCount", "20"); - prop.put("org.quartz.threadPool.threadPriority", "5"); - // JobStore配置 - prop.put("org.quartz.jobStore.class", "org.quartz.impl.jdbcjobstore.JobStoreTX"); - // 集群配置 - prop.put("org.quartz.jobStore.isClustered", "true"); - prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000"); - prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1"); - prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); - - // sqlserver 启用 - // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); - prop.put("org.quartz.jobStore.misfireThreshold", "12000"); - prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); - factory.setQuartzProperties(prop); - - factory.setSchedulerName("RuoyiScheduler"); - // 延时启动 - factory.setStartupDelay(1); - factory.setApplicationContextSchedulerContextKey("applicationContextKey"); - // 可选,QuartzScheduler - // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 - factory.setOverwriteExistingJobs(true); - // 设置自动启动,默认为true - factory.setAutoStartup(true); - - return factory; - } -} +package com.jiajiakang.quartz.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.quartz.SchedulerFactoryBean; +import javax.sql.DataSource; +import java.util.Properties; + +/** + * 定时任务配置 + * + * @author ruoyi + */ +@Configuration +public class ScheduleConfig +{ + @Bean + public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) + { + SchedulerFactoryBean factory = new SchedulerFactoryBean(); + factory.setDataSource(dataSource); + + // quartz参数 + Properties prop = new Properties(); + prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler"); + prop.put("org.quartz.scheduler.instanceId", "AUTO"); + // 线程池配置 + prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); + prop.put("org.quartz.threadPool.threadCount", "20"); + prop.put("org.quartz.threadPool.threadPriority", "5"); + // JobStore配置 + prop.put("org.quartz.jobStore.class", "org.quartz.impl.jdbcjobstore.JobStoreTX"); + // 集群配置 + prop.put("org.quartz.jobStore.isClustered", "true"); + prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000"); + prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1"); + prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); + + // sqlserver 启用 + // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); + prop.put("org.quartz.jobStore.misfireThreshold", "12000"); + prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); + factory.setQuartzProperties(prop); + + factory.setSchedulerName("RuoyiScheduler"); + // 延时启动 + factory.setStartupDelay(1); + factory.setApplicationContextSchedulerContextKey("applicationContextKey"); + // 可选,QuartzScheduler + // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 + factory.setOverwriteExistingJobs(true); + // 设置自动启动,默认为true + factory.setAutoStartup(true); + + return factory; + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/controller/SysJobController.java similarity index 86% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/controller/SysJobController.java index f770a7d8f..239be779c 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/controller/SysJobController.java @@ -1,142 +1,142 @@ -package com.ruoyi.quartz.controller; - -import java.util.List; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.quartz.domain.SysJob; -import com.ruoyi.quartz.service.ISysJobService; -import com.ruoyi.quartz.util.CronUtils; - -/** - * 调度任务信息操作处理 - * - * @author ruoyi - */ -@RestController -@RequestMapping("/monitor/job") -public class SysJobController extends BaseController -{ - @Autowired - private ISysJobService jobService; - - /** - * 查询定时任务列表 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:list')") - @GetMapping("/list") - public TableDataInfo list(SysJob sysJob) - { - startPage(); - List list = jobService.selectJobList(sysJob); - return getDataTable(list); - } - - /** - * 导出定时任务列表 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:export')") - @Log(title = "定时任务", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public AjaxResult export(SysJob sysJob) - { - List list = jobService.selectJobList(sysJob); - ExcelUtil util = new ExcelUtil(SysJob.class); - return util.exportExcel(list, "定时任务"); - } - - /** - * 获取定时任务详细信息 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:query')") - @GetMapping(value = "/{jobId}") - public AjaxResult getInfo(@PathVariable("jobId") Long jobId) - { - return AjaxResult.success(jobService.selectJobById(jobId)); - } - - /** - * 新增定时任务 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:add')") - @Log(title = "定时任务", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody SysJob sysJob) throws SchedulerException, TaskException - { - if (!CronUtils.isValid(sysJob.getCronExpression())) - { - return AjaxResult.error("cron表达式不正确"); - } - sysJob.setCreateBy(SecurityUtils.getUsername()); - return toAjax(jobService.insertJob(sysJob)); - } - - /** - * 修改定时任务 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:edit')") - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody SysJob sysJob) throws SchedulerException, TaskException - { - if (!CronUtils.isValid(sysJob.getCronExpression())) - { - return AjaxResult.error("cron表达式不正确"); - } - sysJob.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(jobService.updateJob(sysJob)); - } - - /** - * 定时任务状态修改 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException - { - SysJob newJob = jobService.selectJobById(job.getJobId()); - newJob.setStatus(job.getStatus()); - return toAjax(jobService.changeStatus(newJob)); - } - - /** - * 定时任务立即执行一次 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") - @Log(title = "定时任务", businessType = BusinessType.UPDATE) - @PutMapping("/run") - public AjaxResult run(@RequestBody SysJob job) throws SchedulerException - { - jobService.run(job); - return AjaxResult.success(); - } - - /** - * 删除定时任务 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:remove')") - @Log(title = "定时任务", businessType = BusinessType.DELETE) - @DeleteMapping("/{jobIds}") - public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException - { - jobService.deleteJobByIds(jobIds); - return AjaxResult.success(); - } -} +package com.jiajiakang.quartz.controller; + +import java.util.List; +import org.quartz.SchedulerException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.exception.job.TaskException; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.quartz.domain.SysJob; +import com.jiajiakang.quartz.service.ISysJobService; +import com.jiajiakang.quartz.util.CronUtils; + +/** + * 调度任务信息操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/job") +public class SysJobController extends BaseController +{ + @Autowired + private ISysJobService jobService; + + /** + * 查询定时任务列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:list')") + @GetMapping("/list") + public TableDataInfo list(SysJob sysJob) + { + startPage(); + List list = jobService.selectJobList(sysJob); + return getDataTable(list); + } + + /** + * 导出定时任务列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:export')") + @Log(title = "定时任务", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(SysJob sysJob) + { + List list = jobService.selectJobList(sysJob); + ExcelUtil util = new ExcelUtil(SysJob.class); + return util.exportExcel(list, "定时任务"); + } + + /** + * 获取定时任务详细信息 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:query')") + @GetMapping(value = "/{jobId}") + public AjaxResult getInfo(@PathVariable("jobId") Long jobId) + { + return AjaxResult.success(jobService.selectJobById(jobId)); + } + + /** + * 新增定时任务 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:add')") + @Log(title = "定时任务", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysJob sysJob) throws SchedulerException, TaskException + { + if (!CronUtils.isValid(sysJob.getCronExpression())) + { + return AjaxResult.error("cron表达式不正确"); + } + sysJob.setCreateBy(SecurityUtils.getUsername()); + return toAjax(jobService.insertJob(sysJob)); + } + + /** + * 修改定时任务 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:edit')") + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysJob sysJob) throws SchedulerException, TaskException + { + if (!CronUtils.isValid(sysJob.getCronExpression())) + { + return AjaxResult.error("cron表达式不正确"); + } + sysJob.setUpdateBy(SecurityUtils.getUsername()); + return toAjax(jobService.updateJob(sysJob)); + } + + /** + * 定时任务状态修改 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException + { + SysJob newJob = jobService.selectJobById(job.getJobId()); + newJob.setStatus(job.getStatus()); + return toAjax(jobService.changeStatus(newJob)); + } + + /** + * 定时任务立即执行一次 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping("/run") + public AjaxResult run(@RequestBody SysJob job) throws SchedulerException + { + jobService.run(job); + return AjaxResult.success(); + } + + /** + * 删除定时任务 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:remove')") + @Log(title = "定时任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{jobIds}") + public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException + { + jobService.deleteJobByIds(jobIds); + return AjaxResult.success(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/controller/SysJobLogController.java similarity index 83% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/controller/SysJobLogController.java index 10a842b6d..0a5fbb1fa 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/controller/SysJobLogController.java @@ -1,90 +1,90 @@ -package com.ruoyi.quartz.controller; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.quartz.domain.SysJobLog; -import com.ruoyi.quartz.service.ISysJobLogService; - -/** - * 调度日志操作处理 - * - * @author ruoyi - */ -@RestController -@RequestMapping("/monitor/jobLog") -public class SysJobLogController extends BaseController -{ - @Autowired - private ISysJobLogService jobLogService; - - /** - * 查询定时任务调度日志列表 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:list')") - @GetMapping("/list") - public TableDataInfo list(SysJobLog sysJobLog) - { - startPage(); - List list = jobLogService.selectJobLogList(sysJobLog); - return getDataTable(list); - } - - /** - * 导出定时任务调度日志列表 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:export')") - @Log(title = "任务调度日志", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public AjaxResult export(SysJobLog sysJobLog) - { - List list = jobLogService.selectJobLogList(sysJobLog); - ExcelUtil util = new ExcelUtil(SysJobLog.class); - return util.exportExcel(list, "调度日志"); - } - - /** - * 根据调度编号获取详细信息 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:query')") - @GetMapping(value = "/{configId}") - public AjaxResult getInfo(@PathVariable Long jobLogId) - { - return AjaxResult.success(jobLogService.selectJobLogById(jobLogId)); - } - - - /** - * 删除定时任务调度日志 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:remove')") - @Log(title = "定时任务调度日志", businessType = BusinessType.DELETE) - @DeleteMapping("/{jobLogIds}") - public AjaxResult remove(@PathVariable Long[] jobLogIds) - { - return toAjax(jobLogService.deleteJobLogByIds(jobLogIds)); - } - - /** - * 清空定时任务调度日志 - */ - @PreAuthorize("@ss.hasPermi('monitor:job:remove')") - @Log(title = "调度日志", businessType = BusinessType.CLEAN) - @DeleteMapping("/clean") - public AjaxResult clean() - { - jobLogService.cleanJobLog(); - return AjaxResult.success(); - } -} +package com.jiajiakang.quartz.controller; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.jiajiakang.common.annotation.Log; +import com.jiajiakang.common.core.controller.BaseController; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.common.core.page.TableDataInfo; +import com.jiajiakang.common.enums.BusinessType; +import com.jiajiakang.common.utils.poi.ExcelUtil; +import com.jiajiakang.quartz.domain.SysJobLog; +import com.jiajiakang.quartz.service.ISysJobLogService; + +/** + * 调度日志操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/jobLog") +public class SysJobLogController extends BaseController +{ + @Autowired + private ISysJobLogService jobLogService; + + /** + * 查询定时任务调度日志列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:list')") + @GetMapping("/list") + public TableDataInfo list(SysJobLog sysJobLog) + { + startPage(); + List list = jobLogService.selectJobLogList(sysJobLog); + return getDataTable(list); + } + + /** + * 导出定时任务调度日志列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:export')") + @Log(title = "任务调度日志", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(SysJobLog sysJobLog) + { + List list = jobLogService.selectJobLogList(sysJobLog); + ExcelUtil util = new ExcelUtil(SysJobLog.class); + return util.exportExcel(list, "调度日志"); + } + + /** + * 根据调度编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:query')") + @GetMapping(value = "/{configId}") + public AjaxResult getInfo(@PathVariable Long jobLogId) + { + return AjaxResult.success(jobLogService.selectJobLogById(jobLogId)); + } + + + /** + * 删除定时任务调度日志 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:remove')") + @Log(title = "定时任务调度日志", businessType = BusinessType.DELETE) + @DeleteMapping("/{jobLogIds}") + public AjaxResult remove(@PathVariable Long[] jobLogIds) + { + return toAjax(jobLogService.deleteJobLogByIds(jobLogIds)); + } + + /** + * 清空定时任务调度日志 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:remove')") + @Log(title = "调度日志", businessType = BusinessType.CLEAN) + @DeleteMapping("/clean") + public AjaxResult clean() + { + jobLogService.cleanJobLog(); + return AjaxResult.success(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/domain/SysJob.java similarity index 90% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/domain/SysJob.java index e9b80711f..8eb2651ce 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/domain/SysJob.java @@ -1,172 +1,172 @@ -package com.ruoyi.quartz.domain; - -import java.io.Serializable; -import java.util.Date; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.core.domain.BaseEntity; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.quartz.util.CronUtils; - -/** - * 定时任务调度表 sys_job - * - * @author ruoyi - */ -public class SysJob extends BaseEntity implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 任务ID */ - @Excel(name = "任务序号", cellType = ColumnType.NUMERIC) - private Long jobId; - - /** 任务名称 */ - @Excel(name = "任务名称") - private String jobName; - - /** 任务组名 */ - @Excel(name = "任务组名") - private String jobGroup; - - /** 调用目标字符串 */ - @Excel(name = "调用目标字符串") - private String invokeTarget; - - /** cron执行表达式 */ - @Excel(name = "执行表达式 ") - private String cronExpression; - - /** cron计划策略 */ - @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行") - private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT; - - /** 是否并发执行(0允许 1禁止) */ - @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止") - private String concurrent; - - /** 任务状态(0正常 1暂停) */ - @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停") - private String status; - - public Long getJobId() - { - return jobId; - } - - public void setJobId(Long jobId) - { - this.jobId = jobId; - } - - @NotBlank(message = "任务名称不能为空") - @Size(min = 0, max = 64, message = "任务名称不能超过64个字符") - public String getJobName() - { - return jobName; - } - - public void setJobName(String jobName) - { - this.jobName = jobName; - } - - public String getJobGroup() - { - return jobGroup; - } - - public void setJobGroup(String jobGroup) - { - this.jobGroup = jobGroup; - } - - @NotBlank(message = "调用目标字符串不能为空") - @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符") - public String getInvokeTarget() - { - return invokeTarget; - } - - public void setInvokeTarget(String invokeTarget) - { - this.invokeTarget = invokeTarget; - } - - @NotBlank(message = "Cron执行表达式不能为空") - @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符") - public String getCronExpression() - { - return cronExpression; - } - - public void setCronExpression(String cronExpression) - { - this.cronExpression = cronExpression; - } - - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - public Date getNextValidTime() - { - if (StringUtils.isNotEmpty(cronExpression)) - { - return CronUtils.getNextExecution(cronExpression); - } - return null; - } - - public String getMisfirePolicy() - { - return misfirePolicy; - } - - public void setMisfirePolicy(String misfirePolicy) - { - this.misfirePolicy = misfirePolicy; - } - - public String getConcurrent() - { - return concurrent; - } - - public void setConcurrent(String concurrent) - { - this.concurrent = concurrent; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("jobId", getJobId()) - .append("jobName", getJobName()) - .append("jobGroup", getJobGroup()) - .append("cronExpression", getCronExpression()) - .append("nextValidTime", getNextValidTime()) - .append("misfirePolicy", getMisfirePolicy()) - .append("concurrent", getConcurrent()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} +package com.jiajiakang.quartz.domain; + +import java.io.Serializable; +import java.util.Date; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.constant.ScheduleConstants; +import com.jiajiakang.common.core.domain.BaseEntity; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.quartz.util.CronUtils; + +/** + * 定时任务调度表 sys_job + * + * @author ruoyi + */ +public class SysJob extends BaseEntity implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 任务ID */ + @Excel(name = "任务序号", cellType = ColumnType.NUMERIC) + private Long jobId; + + /** 任务名称 */ + @Excel(name = "任务名称") + private String jobName; + + /** 任务组名 */ + @Excel(name = "任务组名") + private String jobGroup; + + /** 调用目标字符串 */ + @Excel(name = "调用目标字符串") + private String invokeTarget; + + /** cron执行表达式 */ + @Excel(name = "执行表达式 ") + private String cronExpression; + + /** cron计划策略 */ + @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行") + private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT; + + /** 是否并发执行(0允许 1禁止) */ + @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止") + private String concurrent; + + /** 任务状态(0正常 1暂停) */ + @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停") + private String status; + + public Long getJobId() + { + return jobId; + } + + public void setJobId(Long jobId) + { + this.jobId = jobId; + } + + @NotBlank(message = "任务名称不能为空") + @Size(min = 0, max = 64, message = "任务名称不能超过64个字符") + public String getJobName() + { + return jobName; + } + + public void setJobName(String jobName) + { + this.jobName = jobName; + } + + public String getJobGroup() + { + return jobGroup; + } + + public void setJobGroup(String jobGroup) + { + this.jobGroup = jobGroup; + } + + @NotBlank(message = "调用目标字符串不能为空") + @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符") + public String getInvokeTarget() + { + return invokeTarget; + } + + public void setInvokeTarget(String invokeTarget) + { + this.invokeTarget = invokeTarget; + } + + @NotBlank(message = "Cron执行表达式不能为空") + @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符") + public String getCronExpression() + { + return cronExpression; + } + + public void setCronExpression(String cronExpression) + { + this.cronExpression = cronExpression; + } + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date getNextValidTime() + { + if (StringUtils.isNotEmpty(cronExpression)) + { + return CronUtils.getNextExecution(cronExpression); + } + return null; + } + + public String getMisfirePolicy() + { + return misfirePolicy; + } + + public void setMisfirePolicy(String misfirePolicy) + { + this.misfirePolicy = misfirePolicy; + } + + public String getConcurrent() + { + return concurrent; + } + + public void setConcurrent(String concurrent) + { + this.concurrent = concurrent; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("jobId", getJobId()) + .append("jobName", getJobName()) + .append("jobGroup", getJobGroup()) + .append("cronExpression", getCronExpression()) + .append("nextValidTime", getNextValidTime()) + .append("misfirePolicy", getMisfirePolicy()) + .append("concurrent", getConcurrent()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/domain/SysJobLog.java similarity index 91% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/domain/SysJobLog.java index 63c4cd69d..7330000ff 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/domain/SysJobLog.java @@ -1,155 +1,155 @@ -package com.ruoyi.quartz.domain; - -import java.util.Date; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.core.domain.BaseEntity; - -/** - * 定时任务调度日志表 sys_job_log - * - * @author ruoyi - */ -public class SysJobLog extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - @Excel(name = "日志序号") - private Long jobLogId; - - /** 任务名称 */ - @Excel(name = "任务名称") - private String jobName; - - /** 任务组名 */ - @Excel(name = "任务组名") - private String jobGroup; - - /** 调用目标字符串 */ - @Excel(name = "调用目标字符串") - private String invokeTarget; - - /** 日志信息 */ - @Excel(name = "日志信息") - private String jobMessage; - - /** 执行状态(0正常 1失败) */ - @Excel(name = "执行状态", readConverterExp = "0=正常,1=失败") - private String status; - - /** 异常信息 */ - @Excel(name = "异常信息") - private String exceptionInfo; - - /** 开始时间 */ - private Date startTime; - - /** 停止时间 */ - private Date stopTime; - - public Long getJobLogId() - { - return jobLogId; - } - - public void setJobLogId(Long jobLogId) - { - this.jobLogId = jobLogId; - } - - public String getJobName() - { - return jobName; - } - - public void setJobName(String jobName) - { - this.jobName = jobName; - } - - public String getJobGroup() - { - return jobGroup; - } - - public void setJobGroup(String jobGroup) - { - this.jobGroup = jobGroup; - } - - public String getInvokeTarget() - { - return invokeTarget; - } - - public void setInvokeTarget(String invokeTarget) - { - this.invokeTarget = invokeTarget; - } - - public String getJobMessage() - { - return jobMessage; - } - - public void setJobMessage(String jobMessage) - { - this.jobMessage = jobMessage; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getExceptionInfo() - { - return exceptionInfo; - } - - public void setExceptionInfo(String exceptionInfo) - { - this.exceptionInfo = exceptionInfo; - } - - public Date getStartTime() - { - return startTime; - } - - public void setStartTime(Date startTime) - { - this.startTime = startTime; - } - - public Date getStopTime() - { - return stopTime; - } - - public void setStopTime(Date stopTime) - { - this.stopTime = stopTime; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("jobLogId", getJobLogId()) - .append("jobName", getJobName()) - .append("jobGroup", getJobGroup()) - .append("jobMessage", getJobMessage()) - .append("status", getStatus()) - .append("exceptionInfo", getExceptionInfo()) - .append("startTime", getStartTime()) - .append("stopTime", getStopTime()) - .toString(); - } -} +package com.jiajiakang.quartz.domain; + +import java.util.Date; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.core.domain.BaseEntity; + +/** + * 定时任务调度日志表 sys_job_log + * + * @author ruoyi + */ +public class SysJobLog extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** ID */ + @Excel(name = "日志序号") + private Long jobLogId; + + /** 任务名称 */ + @Excel(name = "任务名称") + private String jobName; + + /** 任务组名 */ + @Excel(name = "任务组名") + private String jobGroup; + + /** 调用目标字符串 */ + @Excel(name = "调用目标字符串") + private String invokeTarget; + + /** 日志信息 */ + @Excel(name = "日志信息") + private String jobMessage; + + /** 执行状态(0正常 1失败) */ + @Excel(name = "执行状态", readConverterExp = "0=正常,1=失败") + private String status; + + /** 异常信息 */ + @Excel(name = "异常信息") + private String exceptionInfo; + + /** 开始时间 */ + private Date startTime; + + /** 停止时间 */ + private Date stopTime; + + public Long getJobLogId() + { + return jobLogId; + } + + public void setJobLogId(Long jobLogId) + { + this.jobLogId = jobLogId; + } + + public String getJobName() + { + return jobName; + } + + public void setJobName(String jobName) + { + this.jobName = jobName; + } + + public String getJobGroup() + { + return jobGroup; + } + + public void setJobGroup(String jobGroup) + { + this.jobGroup = jobGroup; + } + + public String getInvokeTarget() + { + return invokeTarget; + } + + public void setInvokeTarget(String invokeTarget) + { + this.invokeTarget = invokeTarget; + } + + public String getJobMessage() + { + return jobMessage; + } + + public void setJobMessage(String jobMessage) + { + this.jobMessage = jobMessage; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getExceptionInfo() + { + return exceptionInfo; + } + + public void setExceptionInfo(String exceptionInfo) + { + this.exceptionInfo = exceptionInfo; + } + + public Date getStartTime() + { + return startTime; + } + + public void setStartTime(Date startTime) + { + this.startTime = startTime; + } + + public Date getStopTime() + { + return stopTime; + } + + public void setStopTime(Date stopTime) + { + this.stopTime = stopTime; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("jobLogId", getJobLogId()) + .append("jobName", getJobName()) + .append("jobGroup", getJobGroup()) + .append("jobMessage", getJobMessage()) + .append("status", getStatus()) + .append("exceptionInfo", getExceptionInfo()) + .append("startTime", getStartTime()) + .append("stopTime", getStopTime()) + .toString(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/mapper/SysJobLogMapper.java similarity index 90% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/mapper/SysJobLogMapper.java index ed01ef72e..ec9cbdb0f 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/mapper/SysJobLogMapper.java @@ -1,64 +1,64 @@ -package com.ruoyi.quartz.mapper; - -import java.util.List; -import com.ruoyi.quartz.domain.SysJobLog; - -/** - * 调度任务日志信息 数据层 - * - * @author ruoyi - */ -public interface SysJobLogMapper -{ - /** - * 获取quartz调度器日志的计划任务 - * - * @param jobLog 调度日志信息 - * @return 调度任务日志集合 - */ - public List selectJobLogList(SysJobLog jobLog); - - /** - * 查询所有调度任务日志 - * - * @return 调度任务日志列表 - */ - public List selectJobLogAll(); - - /** - * 通过调度任务日志ID查询调度信息 - * - * @param jobLogId 调度任务日志ID - * @return 调度任务日志对象信息 - */ - public SysJobLog selectJobLogById(Long jobLogId); - - /** - * 新增任务日志 - * - * @param jobLog 调度日志信息 - * @return 结果 - */ - public int insertJobLog(SysJobLog jobLog); - - /** - * 批量删除调度日志信息 - * - * @param logIds 需要删除的数据ID - * @return 结果 - */ - public int deleteJobLogByIds(Long[] logIds); - - /** - * 删除任务日志 - * - * @param jobId 调度日志ID - * @return 结果 - */ - public int deleteJobLogById(Long jobId); - - /** - * 清空任务日志 - */ - public void cleanJobLog(); -} +package com.jiajiakang.quartz.mapper; + +import java.util.List; +import com.jiajiakang.quartz.domain.SysJobLog; + +/** + * 调度任务日志信息 数据层 + * + * @author ruoyi + */ +public interface SysJobLogMapper +{ + /** + * 获取quartz调度器日志的计划任务 + * + * @param jobLog 调度日志信息 + * @return 调度任务日志集合 + */ + public List selectJobLogList(SysJobLog jobLog); + + /** + * 查询所有调度任务日志 + * + * @return 调度任务日志列表 + */ + public List selectJobLogAll(); + + /** + * 通过调度任务日志ID查询调度信息 + * + * @param jobLogId 调度任务日志ID + * @return 调度任务日志对象信息 + */ + public SysJobLog selectJobLogById(Long jobLogId); + + /** + * 新增任务日志 + * + * @param jobLog 调度日志信息 + * @return 结果 + */ + public int insertJobLog(SysJobLog jobLog); + + /** + * 批量删除调度日志信息 + * + * @param logIds 需要删除的数据ID + * @return 结果 + */ + public int deleteJobLogByIds(Long[] logIds); + + /** + * 删除任务日志 + * + * @param jobId 调度日志ID + * @return 结果 + */ + public int deleteJobLogById(Long jobId); + + /** + * 清空任务日志 + */ + public void cleanJobLog(); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/mapper/SysJobMapper.java similarity index 89% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/mapper/SysJobMapper.java index f481ea12e..a5993b388 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/mapper/SysJobMapper.java @@ -1,67 +1,67 @@ -package com.ruoyi.quartz.mapper; - -import java.util.List; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 调度任务信息 数据层 - * - * @author ruoyi - */ -public interface SysJobMapper -{ - /** - * 查询调度任务日志集合 - * - * @param job 调度信息 - * @return 操作日志集合 - */ - public List selectJobList(SysJob job); - - /** - * 查询所有调度任务 - * - * @return 调度任务列表 - */ - public List selectJobAll(); - - /** - * 通过调度ID查询调度任务信息 - * - * @param jobId 调度ID - * @return 角色对象信息 - */ - public SysJob selectJobById(Long jobId); - - /** - * 通过调度ID删除调度任务信息 - * - * @param jobId 调度ID - * @return 结果 - */ - public int deleteJobById(Long jobId); - - /** - * 批量删除调度任务信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - public int deleteJobByIds(Long[] ids); - - /** - * 修改调度任务信息 - * - * @param job 调度任务信息 - * @return 结果 - */ - public int updateJob(SysJob job); - - /** - * 新增调度任务信息 - * - * @param job 调度任务信息 - * @return 结果 - */ - public int insertJob(SysJob job); -} +package com.jiajiakang.quartz.mapper; + +import java.util.List; +import com.jiajiakang.quartz.domain.SysJob; + +/** + * 调度任务信息 数据层 + * + * @author ruoyi + */ +public interface SysJobMapper +{ + /** + * 查询调度任务日志集合 + * + * @param job 调度信息 + * @return 操作日志集合 + */ + public List selectJobList(SysJob job); + + /** + * 查询所有调度任务 + * + * @return 调度任务列表 + */ + public List selectJobAll(); + + /** + * 通过调度ID查询调度任务信息 + * + * @param jobId 调度ID + * @return 角色对象信息 + */ + public SysJob selectJobById(Long jobId); + + /** + * 通过调度ID删除调度任务信息 + * + * @param jobId 调度ID + * @return 结果 + */ + public int deleteJobById(Long jobId); + + /** + * 批量删除调度任务信息 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteJobByIds(Long[] ids); + + /** + * 修改调度任务信息 + * + * @param job 调度任务信息 + * @return 结果 + */ + public int updateJob(SysJob job); + + /** + * 新增调度任务信息 + * + * @param job 调度任务信息 + * @return 结果 + */ + public int insertJob(SysJob job); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/ISysJobLogService.java similarity index 89% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/ISysJobLogService.java index 5291a63ac..113bf0da2 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/ISysJobLogService.java @@ -1,56 +1,56 @@ -package com.ruoyi.quartz.service; - -import java.util.List; -import com.ruoyi.quartz.domain.SysJobLog; - -/** - * 定时任务调度日志信息信息 服务层 - * - * @author ruoyi - */ -public interface ISysJobLogService -{ - /** - * 获取quartz调度器日志的计划任务 - * - * @param jobLog 调度日志信息 - * @return 调度任务日志集合 - */ - public List selectJobLogList(SysJobLog jobLog); - - /** - * 通过调度任务日志ID查询调度信息 - * - * @param jobLogId 调度任务日志ID - * @return 调度任务日志对象信息 - */ - public SysJobLog selectJobLogById(Long jobLogId); - - /** - * 新增任务日志 - * - * @param jobLog 调度日志信息 - */ - public void addJobLog(SysJobLog jobLog); - - /** - * 批量删除调度日志信息 - * - * @param logIds 需要删除的日志ID - * @return 结果 - */ - public int deleteJobLogByIds(Long[] logIds); - - /** - * 删除任务日志 - * - * @param jobId 调度日志ID - * @return 结果 - */ - public int deleteJobLogById(Long jobId); - - /** - * 清空任务日志 - */ - public void cleanJobLog(); -} +package com.jiajiakang.quartz.service; + +import java.util.List; +import com.jiajiakang.quartz.domain.SysJobLog; + +/** + * 定时任务调度日志信息信息 服务层 + * + * @author ruoyi + */ +public interface ISysJobLogService +{ + /** + * 获取quartz调度器日志的计划任务 + * + * @param jobLog 调度日志信息 + * @return 调度任务日志集合 + */ + public List selectJobLogList(SysJobLog jobLog); + + /** + * 通过调度任务日志ID查询调度信息 + * + * @param jobLogId 调度任务日志ID + * @return 调度任务日志对象信息 + */ + public SysJobLog selectJobLogById(Long jobLogId); + + /** + * 新增任务日志 + * + * @param jobLog 调度日志信息 + */ + public void addJobLog(SysJobLog jobLog); + + /** + * 批量删除调度日志信息 + * + * @param logIds 需要删除的日志ID + * @return 结果 + */ + public int deleteJobLogByIds(Long[] logIds); + + /** + * 删除任务日志 + * + * @param jobId 调度日志ID + * @return 结果 + */ + public int deleteJobLogById(Long jobId); + + /** + * 清空任务日志 + */ + public void cleanJobLog(); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/ISysJobService.java similarity index 90% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/ISysJobService.java index 53f098956..b9aa5cb53 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/ISysJobService.java @@ -1,102 +1,102 @@ -package com.ruoyi.quartz.service; - -import java.util.List; -import org.quartz.SchedulerException; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 定时任务调度信息信息 服务层 - * - * @author ruoyi - */ -public interface ISysJobService -{ - /** - * 获取quartz调度器的计划任务 - * - * @param job 调度信息 - * @return 调度任务集合 - */ - public List selectJobList(SysJob job); - - /** - * 通过调度任务ID查询调度信息 - * - * @param jobId 调度任务ID - * @return 调度任务对象信息 - */ - public SysJob selectJobById(Long jobId); - - /** - * 暂停任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int pauseJob(SysJob job) throws SchedulerException; - - /** - * 恢复任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int resumeJob(SysJob job) throws SchedulerException; - - /** - * 删除任务后,所对应的trigger也将被删除 - * - * @param job 调度信息 - * @return 结果 - */ - public int deleteJob(SysJob job) throws SchedulerException; - - /** - * 批量删除调度信息 - * - * @param jobIds 需要删除的任务ID - * @return 结果 - */ - public void deleteJobByIds(Long[] jobIds) throws SchedulerException; - - /** - * 任务调度状态修改 - * - * @param job 调度信息 - * @return 结果 - */ - public int changeStatus(SysJob job) throws SchedulerException; - - /** - * 立即运行任务 - * - * @param job 调度信息 - * @return 结果 - */ - public void run(SysJob job) throws SchedulerException; - - /** - * 新增任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int insertJob(SysJob job) throws SchedulerException, TaskException; - - /** - * 更新任务 - * - * @param job 调度信息 - * @return 结果 - */ - public int updateJob(SysJob job) throws SchedulerException, TaskException; - - /** - * 校验cron表达式是否有效 - * - * @param cronExpression 表达式 - * @return 结果 - */ - public boolean checkCronExpressionIsValid(String cronExpression); -} +package com.jiajiakang.quartz.service; + +import java.util.List; +import org.quartz.SchedulerException; +import com.jiajiakang.common.exception.job.TaskException; +import com.jiajiakang.quartz.domain.SysJob; + +/** + * 定时任务调度信息信息 服务层 + * + * @author ruoyi + */ +public interface ISysJobService +{ + /** + * 获取quartz调度器的计划任务 + * + * @param job 调度信息 + * @return 调度任务集合 + */ + public List selectJobList(SysJob job); + + /** + * 通过调度任务ID查询调度信息 + * + * @param jobId 调度任务ID + * @return 调度任务对象信息 + */ + public SysJob selectJobById(Long jobId); + + /** + * 暂停任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int pauseJob(SysJob job) throws SchedulerException; + + /** + * 恢复任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int resumeJob(SysJob job) throws SchedulerException; + + /** + * 删除任务后,所对应的trigger也将被删除 + * + * @param job 调度信息 + * @return 结果 + */ + public int deleteJob(SysJob job) throws SchedulerException; + + /** + * 批量删除调度信息 + * + * @param jobIds 需要删除的任务ID + * @return 结果 + */ + public void deleteJobByIds(Long[] jobIds) throws SchedulerException; + + /** + * 任务调度状态修改 + * + * @param job 调度信息 + * @return 结果 + */ + public int changeStatus(SysJob job) throws SchedulerException; + + /** + * 立即运行任务 + * + * @param job 调度信息 + * @return 结果 + */ + public void run(SysJob job) throws SchedulerException; + + /** + * 新增任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int insertJob(SysJob job) throws SchedulerException, TaskException; + + /** + * 更新任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int updateJob(SysJob job) throws SchedulerException, TaskException; + + /** + * 校验cron表达式是否有效 + * + * @param cronExpression 表达式 + * @return 结果 + */ + public boolean checkCronExpressionIsValid(String cronExpression); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/impl/SysJobLogServiceImpl.java similarity index 86% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/impl/SysJobLogServiceImpl.java index f68a5482b..3d2be65c8 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/impl/SysJobLogServiceImpl.java @@ -1,87 +1,87 @@ -package com.ruoyi.quartz.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.quartz.domain.SysJobLog; -import com.ruoyi.quartz.mapper.SysJobLogMapper; -import com.ruoyi.quartz.service.ISysJobLogService; - -/** - * 定时任务调度日志信息 服务层 - * - * @author ruoyi - */ -@Service -public class SysJobLogServiceImpl implements ISysJobLogService -{ - @Autowired - private SysJobLogMapper jobLogMapper; - - /** - * 获取quartz调度器日志的计划任务 - * - * @param jobLog 调度日志信息 - * @return 调度任务日志集合 - */ - @Override - public List selectJobLogList(SysJobLog jobLog) - { - return jobLogMapper.selectJobLogList(jobLog); - } - - /** - * 通过调度任务日志ID查询调度信息 - * - * @param jobLogId 调度任务日志ID - * @return 调度任务日志对象信息 - */ - @Override - public SysJobLog selectJobLogById(Long jobLogId) - { - return jobLogMapper.selectJobLogById(jobLogId); - } - - /** - * 新增任务日志 - * - * @param jobLog 调度日志信息 - */ - @Override - public void addJobLog(SysJobLog jobLog) - { - jobLogMapper.insertJobLog(jobLog); - } - - /** - * 批量删除调度日志信息 - * - * @param logIds 需要删除的数据ID - * @return 结果 - */ - @Override - public int deleteJobLogByIds(Long[] logIds) - { - return jobLogMapper.deleteJobLogByIds(logIds); - } - - /** - * 删除任务日志 - * - * @param jobId 调度日志ID - */ - @Override - public int deleteJobLogById(Long jobId) - { - return jobLogMapper.deleteJobLogById(jobId); - } - - /** - * 清空任务日志 - */ - @Override - public void cleanJobLog() - { - jobLogMapper.cleanJobLog(); - } -} +package com.jiajiakang.quartz.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.jiajiakang.quartz.domain.SysJobLog; +import com.jiajiakang.quartz.mapper.SysJobLogMapper; +import com.jiajiakang.quartz.service.ISysJobLogService; + +/** + * 定时任务调度日志信息 服务层 + * + * @author ruoyi + */ +@Service +public class SysJobLogServiceImpl implements ISysJobLogService +{ + @Autowired + private SysJobLogMapper jobLogMapper; + + /** + * 获取quartz调度器日志的计划任务 + * + * @param jobLog 调度日志信息 + * @return 调度任务日志集合 + */ + @Override + public List selectJobLogList(SysJobLog jobLog) + { + return jobLogMapper.selectJobLogList(jobLog); + } + + /** + * 通过调度任务日志ID查询调度信息 + * + * @param jobLogId 调度任务日志ID + * @return 调度任务日志对象信息 + */ + @Override + public SysJobLog selectJobLogById(Long jobLogId) + { + return jobLogMapper.selectJobLogById(jobLogId); + } + + /** + * 新增任务日志 + * + * @param jobLog 调度日志信息 + */ + @Override + public void addJobLog(SysJobLog jobLog) + { + jobLogMapper.insertJobLog(jobLog); + } + + /** + * 批量删除调度日志信息 + * + * @param logIds 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteJobLogByIds(Long[] logIds) + { + return jobLogMapper.deleteJobLogByIds(logIds); + } + + /** + * 删除任务日志 + * + * @param jobId 调度日志ID + */ + @Override + public int deleteJobLogById(Long jobId) + { + return jobLogMapper.deleteJobLogById(jobId); + } + + /** + * 清空任务日志 + */ + @Override + public void cleanJobLog() + { + jobLogMapper.cleanJobLog(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/impl/SysJobServiceImpl.java similarity index 91% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/impl/SysJobServiceImpl.java index d7bc6c984..8ab2dc7d1 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/service/impl/SysJobServiceImpl.java @@ -1,254 +1,254 @@ -package com.ruoyi.quartz.service.impl; - -import java.util.List; -import javax.annotation.PostConstruct; -import org.quartz.JobDataMap; -import org.quartz.JobKey; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.quartz.domain.SysJob; -import com.ruoyi.quartz.mapper.SysJobMapper; -import com.ruoyi.quartz.service.ISysJobService; -import com.ruoyi.quartz.util.CronUtils; -import com.ruoyi.quartz.util.ScheduleUtils; - -/** - * 定时任务调度信息 服务层 - * - * @author ruoyi - */ -@Service -public class SysJobServiceImpl implements ISysJobService -{ - @Autowired - private Scheduler scheduler; - - @Autowired - private SysJobMapper jobMapper; - - /** - * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据) - */ - @PostConstruct - public void init() throws SchedulerException, TaskException - { - scheduler.clear(); - List jobList = jobMapper.selectJobAll(); - for (SysJob job : jobList) - { - ScheduleUtils.createScheduleJob(scheduler, job); - } - } - - /** - * 获取quartz调度器的计划任务列表 - * - * @param job 调度信息 - * @return - */ - @Override - public List selectJobList(SysJob job) - { - return jobMapper.selectJobList(job); - } - - /** - * 通过调度任务ID查询调度信息 - * - * @param jobId 调度任务ID - * @return 调度任务对象信息 - */ - @Override - public SysJob selectJobById(Long jobId) - { - return jobMapper.selectJobById(jobId); - } - - /** - * 暂停任务 - * - * @param job 调度信息 - */ - @Override - @Transactional - public int pauseJob(SysJob job) throws SchedulerException - { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); - int rows = jobMapper.updateJob(job); - if (rows > 0) - { - scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 恢复任务 - * - * @param job 调度信息 - */ - @Override - @Transactional - public int resumeJob(SysJob job) throws SchedulerException - { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - job.setStatus(ScheduleConstants.Status.NORMAL.getValue()); - int rows = jobMapper.updateJob(job); - if (rows > 0) - { - scheduler.resumeJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 删除任务后,所对应的trigger也将被删除 - * - * @param job 调度信息 - */ - @Override - @Transactional - public int deleteJob(SysJob job) throws SchedulerException - { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - int rows = jobMapper.deleteJobById(jobId); - if (rows > 0) - { - scheduler.deleteJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - return rows; - } - - /** - * 批量删除调度信息 - * - * @param jobIds 需要删除的任务ID - * @return 结果 - */ - @Override - @Transactional - public void deleteJobByIds(Long[] jobIds) throws SchedulerException - { - for (Long jobId : jobIds) - { - SysJob job = jobMapper.selectJobById(jobId); - deleteJob(job); - } - } - - /** - * 任务调度状态修改 - * - * @param job 调度信息 - */ - @Override - @Transactional - public int changeStatus(SysJob job) throws SchedulerException - { - int rows = 0; - String status = job.getStatus(); - if (ScheduleConstants.Status.NORMAL.getValue().equals(status)) - { - rows = resumeJob(job); - } - else if (ScheduleConstants.Status.PAUSE.getValue().equals(status)) - { - rows = pauseJob(job); - } - return rows; - } - - /** - * 立即运行任务 - * - * @param job 调度信息 - */ - @Override - @Transactional - public void run(SysJob job) throws SchedulerException - { - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - SysJob properties = selectJobById(job.getJobId()); - // 参数 - JobDataMap dataMap = new JobDataMap(); - dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties); - scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, jobGroup), dataMap); - } - - /** - * 新增任务 - * - * @param job 调度信息 调度信息 - */ - @Override - @Transactional - public int insertJob(SysJob job) throws SchedulerException, TaskException - { - job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); - int rows = jobMapper.insertJob(job); - if (rows > 0) - { - ScheduleUtils.createScheduleJob(scheduler, job); - } - return rows; - } - - /** - * 更新任务的时间表达式 - * - * @param job 调度信息 - */ - @Override - @Transactional - public int updateJob(SysJob job) throws SchedulerException, TaskException - { - SysJob properties = selectJobById(job.getJobId()); - int rows = jobMapper.updateJob(job); - if (rows > 0) - { - updateSchedulerJob(job, properties.getJobGroup()); - } - return rows; - } - - /** - * 更新任务 - * - * @param job 任务对象 - * @param jobGroup 任务组名 - */ - public void updateSchedulerJob(SysJob job, String jobGroup) throws SchedulerException, TaskException - { - Long jobId = job.getJobId(); - // 判断是否存在 - JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup); - if (scheduler.checkExists(jobKey)) - { - // 防止创建时存在数据问题 先移除,然后在执行创建操作 - scheduler.deleteJob(jobKey); - } - ScheduleUtils.createScheduleJob(scheduler, job); - } - - /** - * 校验cron表达式是否有效 - * - * @param cronExpression 表达式 - * @return 结果 - */ - @Override - public boolean checkCronExpressionIsValid(String cronExpression) - { - return CronUtils.isValid(cronExpression); - } -} +package com.jiajiakang.quartz.service.impl; + +import java.util.List; +import javax.annotation.PostConstruct; +import org.quartz.JobDataMap; +import org.quartz.JobKey; +import org.quartz.Scheduler; +import org.quartz.SchedulerException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.jiajiakang.common.constant.ScheduleConstants; +import com.jiajiakang.common.exception.job.TaskException; +import com.jiajiakang.quartz.domain.SysJob; +import com.jiajiakang.quartz.mapper.SysJobMapper; +import com.jiajiakang.quartz.service.ISysJobService; +import com.jiajiakang.quartz.util.CronUtils; +import com.jiajiakang.quartz.util.ScheduleUtils; + +/** + * 定时任务调度信息 服务层 + * + * @author ruoyi + */ +@Service +public class SysJobServiceImpl implements ISysJobService +{ + @Autowired + private Scheduler scheduler; + + @Autowired + private SysJobMapper jobMapper; + + /** + * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据) + */ + @PostConstruct + public void init() throws SchedulerException, TaskException + { + scheduler.clear(); + List jobList = jobMapper.selectJobAll(); + for (SysJob job : jobList) + { + ScheduleUtils.createScheduleJob(scheduler, job); + } + } + + /** + * 获取quartz调度器的计划任务列表 + * + * @param job 调度信息 + * @return + */ + @Override + public List selectJobList(SysJob job) + { + return jobMapper.selectJobList(job); + } + + /** + * 通过调度任务ID查询调度信息 + * + * @param jobId 调度任务ID + * @return 调度任务对象信息 + */ + @Override + public SysJob selectJobById(Long jobId) + { + return jobMapper.selectJobById(jobId); + } + + /** + * 暂停任务 + * + * @param job 调度信息 + */ + @Override + @Transactional + public int pauseJob(SysJob job) throws SchedulerException + { + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); + int rows = jobMapper.updateJob(job); + if (rows > 0) + { + scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + return rows; + } + + /** + * 恢复任务 + * + * @param job 调度信息 + */ + @Override + @Transactional + public int resumeJob(SysJob job) throws SchedulerException + { + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + job.setStatus(ScheduleConstants.Status.NORMAL.getValue()); + int rows = jobMapper.updateJob(job); + if (rows > 0) + { + scheduler.resumeJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + return rows; + } + + /** + * 删除任务后,所对应的trigger也将被删除 + * + * @param job 调度信息 + */ + @Override + @Transactional + public int deleteJob(SysJob job) throws SchedulerException + { + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + int rows = jobMapper.deleteJobById(jobId); + if (rows > 0) + { + scheduler.deleteJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + return rows; + } + + /** + * 批量删除调度信息 + * + * @param jobIds 需要删除的任务ID + * @return 结果 + */ + @Override + @Transactional + public void deleteJobByIds(Long[] jobIds) throws SchedulerException + { + for (Long jobId : jobIds) + { + SysJob job = jobMapper.selectJobById(jobId); + deleteJob(job); + } + } + + /** + * 任务调度状态修改 + * + * @param job 调度信息 + */ + @Override + @Transactional + public int changeStatus(SysJob job) throws SchedulerException + { + int rows = 0; + String status = job.getStatus(); + if (ScheduleConstants.Status.NORMAL.getValue().equals(status)) + { + rows = resumeJob(job); + } + else if (ScheduleConstants.Status.PAUSE.getValue().equals(status)) + { + rows = pauseJob(job); + } + return rows; + } + + /** + * 立即运行任务 + * + * @param job 调度信息 + */ + @Override + @Transactional + public void run(SysJob job) throws SchedulerException + { + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + SysJob properties = selectJobById(job.getJobId()); + // 参数 + JobDataMap dataMap = new JobDataMap(); + dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties); + scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, jobGroup), dataMap); + } + + /** + * 新增任务 + * + * @param job 调度信息 调度信息 + */ + @Override + @Transactional + public int insertJob(SysJob job) throws SchedulerException, TaskException + { + job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); + int rows = jobMapper.insertJob(job); + if (rows > 0) + { + ScheduleUtils.createScheduleJob(scheduler, job); + } + return rows; + } + + /** + * 更新任务的时间表达式 + * + * @param job 调度信息 + */ + @Override + @Transactional + public int updateJob(SysJob job) throws SchedulerException, TaskException + { + SysJob properties = selectJobById(job.getJobId()); + int rows = jobMapper.updateJob(job); + if (rows > 0) + { + updateSchedulerJob(job, properties.getJobGroup()); + } + return rows; + } + + /** + * 更新任务 + * + * @param job 任务对象 + * @param jobGroup 任务组名 + */ + public void updateSchedulerJob(SysJob job, String jobGroup) throws SchedulerException, TaskException + { + Long jobId = job.getJobId(); + // 判断是否存在 + JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup); + if (scheduler.checkExists(jobKey)) + { + // 防止创建时存在数据问题 先移除,然后在执行创建操作 + scheduler.deleteJob(jobKey); + } + ScheduleUtils.createScheduleJob(scheduler, job); + } + + /** + * 校验cron表达式是否有效 + * + * @param cronExpression 表达式 + * @return 结果 + */ + @Override + public boolean checkCronExpressionIsValid(String cronExpression) + { + return CronUtils.isValid(cronExpression); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/task/RyTask.java similarity index 85% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/task/RyTask.java index 25d1ddd02..aacac39ee 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/task/RyTask.java @@ -1,28 +1,28 @@ -package com.ruoyi.quartz.task; - -import org.springframework.stereotype.Component; -import com.ruoyi.common.utils.StringUtils; - -/** - * 定时任务调度测试 - * - * @author ruoyi - */ -@Component("ryTask") -public class RyTask -{ - public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) - { - System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); - } - - public void ryParams(String params) - { - System.out.println("执行有参方法:" + params); - } - - public void ryNoParams() - { - System.out.println("执行无参方法"); - } -} +package com.jiajiakang.quartz.task; + +import org.springframework.stereotype.Component; +import com.jiajiakang.common.utils.StringUtils; + +/** + * 定时任务调度测试 + * + * @author ruoyi + */ +@Component("ryTask") +public class RyTask +{ + public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) + { + System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); + } + + public void ryParams(String params) + { + System.out.println("执行有参方法:" + params); + } + + public void ryNoParams() + { + System.out.println("执行无参方法"); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/AbstractQuartzJob.java similarity index 84% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/AbstractQuartzJob.java index fd652d677..8b71a617d 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/AbstractQuartzJob.java @@ -1,107 +1,107 @@ -package com.ruoyi.quartz.util; - -import java.util.Date; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.utils.ExceptionUtil; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.bean.BeanUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.quartz.domain.SysJob; -import com.ruoyi.quartz.domain.SysJobLog; -import com.ruoyi.quartz.service.ISysJobLogService; - -/** - * 抽象quartz调用 - * - * @author ruoyi - */ -public abstract class AbstractQuartzJob implements Job -{ - private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class); - - /** - * 线程本地变量 - */ - private static ThreadLocal threadLocal = new ThreadLocal<>(); - - @Override - public void execute(JobExecutionContext context) throws JobExecutionException - { - SysJob sysJob = new SysJob(); - BeanUtils.copyBeanProp(sysJob, context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES)); - try - { - before(context, sysJob); - if (sysJob != null) - { - doExecute(context, sysJob); - } - after(context, sysJob, null); - } - catch (Exception e) - { - log.error("任务执行异常 - :", e); - after(context, sysJob, e); - } - } - - /** - * 执行前 - * - * @param context 工作执行上下文对象 - * @param sysJob 系统计划任务 - */ - protected void before(JobExecutionContext context, SysJob sysJob) - { - threadLocal.set(new Date()); - } - - /** - * 执行后 - * - * @param context 工作执行上下文对象 - * @param sysJob 系统计划任务 - */ - protected void after(JobExecutionContext context, SysJob sysJob, Exception e) - { - Date startTime = threadLocal.get(); - threadLocal.remove(); - - final SysJobLog sysJobLog = new SysJobLog(); - sysJobLog.setJobName(sysJob.getJobName()); - sysJobLog.setJobGroup(sysJob.getJobGroup()); - sysJobLog.setInvokeTarget(sysJob.getInvokeTarget()); - sysJobLog.setStartTime(startTime); - sysJobLog.setStopTime(new Date()); - long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime(); - sysJobLog.setJobMessage(sysJobLog.getJobName() + " 总共耗时:" + runMs + "毫秒"); - if (e != null) - { - sysJobLog.setStatus(Constants.FAIL); - String errorMsg = StringUtils.substring(ExceptionUtil.getExceptionMessage(e), 0, 2000); - sysJobLog.setExceptionInfo(errorMsg); - } - else - { - sysJobLog.setStatus(Constants.SUCCESS); - } - - // 写入数据库当中 - SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog); - } - - /** - * 执行方法,由子类重载 - * - * @param context 工作执行上下文对象 - * @param sysJob 系统计划任务 - * @throws Exception 执行过程中的异常 - */ - protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception; -} +package com.jiajiakang.quartz.util; + +import java.util.Date; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.constant.ScheduleConstants; +import com.jiajiakang.common.utils.ExceptionUtil; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.bean.BeanUtils; +import com.jiajiakang.common.utils.spring.SpringUtils; +import com.jiajiakang.quartz.domain.SysJob; +import com.jiajiakang.quartz.domain.SysJobLog; +import com.jiajiakang.quartz.service.ISysJobLogService; + +/** + * 抽象quartz调用 + * + * @author ruoyi + */ +public abstract class AbstractQuartzJob implements Job +{ + private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class); + + /** + * 线程本地变量 + */ + private static ThreadLocal threadLocal = new ThreadLocal<>(); + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException + { + SysJob sysJob = new SysJob(); + BeanUtils.copyBeanProp(sysJob, context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES)); + try + { + before(context, sysJob); + if (sysJob != null) + { + doExecute(context, sysJob); + } + after(context, sysJob, null); + } + catch (Exception e) + { + log.error("任务执行异常 - :", e); + after(context, sysJob, e); + } + } + + /** + * 执行前 + * + * @param context 工作执行上下文对象 + * @param sysJob 系统计划任务 + */ + protected void before(JobExecutionContext context, SysJob sysJob) + { + threadLocal.set(new Date()); + } + + /** + * 执行后 + * + * @param context 工作执行上下文对象 + * @param sysJob 系统计划任务 + */ + protected void after(JobExecutionContext context, SysJob sysJob, Exception e) + { + Date startTime = threadLocal.get(); + threadLocal.remove(); + + final SysJobLog sysJobLog = new SysJobLog(); + sysJobLog.setJobName(sysJob.getJobName()); + sysJobLog.setJobGroup(sysJob.getJobGroup()); + sysJobLog.setInvokeTarget(sysJob.getInvokeTarget()); + sysJobLog.setStartTime(startTime); + sysJobLog.setStopTime(new Date()); + long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime(); + sysJobLog.setJobMessage(sysJobLog.getJobName() + " 总共耗时:" + runMs + "毫秒"); + if (e != null) + { + sysJobLog.setStatus(Constants.FAIL); + String errorMsg = StringUtils.substring(ExceptionUtil.getExceptionMessage(e), 0, 2000); + sysJobLog.setExceptionInfo(errorMsg); + } + else + { + sysJobLog.setStatus(Constants.SUCCESS); + } + + // 写入数据库当中 + SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog); + } + + /** + * 执行方法,由子类重载 + * + * @param context 工作执行上下文对象 + * @param sysJob 系统计划任务 + * @throws Exception 执行过程中的异常 + */ + protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception; +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/CronUtils.java similarity index 94% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/CronUtils.java index 6826787a6..63d474a16 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/CronUtils.java @@ -1,63 +1,63 @@ -package com.ruoyi.quartz.util; - -import java.text.ParseException; -import java.util.Date; -import org.quartz.CronExpression; - -/** - * cron表达式工具类 - * - * @author ruoyi - * - */ -public class CronUtils -{ - /** - * 返回一个布尔值代表一个给定的Cron表达式的有效性 - * - * @param cronExpression Cron表达式 - * @return boolean 表达式是否有效 - */ - public static boolean isValid(String cronExpression) - { - return CronExpression.isValidExpression(cronExpression); - } - - /** - * 返回一个字符串值,表示该消息无效Cron表达式给出有效性 - * - * @param cronExpression Cron表达式 - * @return String 无效时返回表达式错误描述,如果有效返回null - */ - public static String getInvalidMessage(String cronExpression) - { - try - { - new CronExpression(cronExpression); - return null; - } - catch (ParseException pe) - { - return pe.getMessage(); - } - } - - /** - * 返回下一个执行时间根据给定的Cron表达式 - * - * @param cronExpression Cron表达式 - * @return Date 下次Cron表达式执行时间 - */ - public static Date getNextExecution(String cronExpression) - { - try - { - CronExpression cron = new CronExpression(cronExpression); - return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis())); - } - catch (ParseException e) - { - throw new IllegalArgumentException(e.getMessage()); - } - } -} +package com.jiajiakang.quartz.util; + +import java.text.ParseException; +import java.util.Date; +import org.quartz.CronExpression; + +/** + * cron表达式工具类 + * + * @author ruoyi + * + */ +public class CronUtils +{ + /** + * 返回一个布尔值代表一个给定的Cron表达式的有效性 + * + * @param cronExpression Cron表达式 + * @return boolean 表达式是否有效 + */ + public static boolean isValid(String cronExpression) + { + return CronExpression.isValidExpression(cronExpression); + } + + /** + * 返回一个字符串值,表示该消息无效Cron表达式给出有效性 + * + * @param cronExpression Cron表达式 + * @return String 无效时返回表达式错误描述,如果有效返回null + */ + public static String getInvalidMessage(String cronExpression) + { + try + { + new CronExpression(cronExpression); + return null; + } + catch (ParseException pe) + { + return pe.getMessage(); + } + } + + /** + * 返回下一个执行时间根据给定的Cron表达式 + * + * @param cronExpression Cron表达式 + * @return Date 下次Cron表达式执行时间 + */ + public static Date getNextExecution(String cronExpression) + { + try + { + CronExpression cron = new CronExpression(cronExpression); + return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis())); + } + catch (ParseException e) + { + throw new IllegalArgumentException(e.getMessage()); + } + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/JobInvokeUtil.java similarity index 94% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/JobInvokeUtil.java index 5519c672f..5b3a81be0 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/JobInvokeUtil.java @@ -1,182 +1,182 @@ -package com.ruoyi.quartz.util; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.LinkedList; -import java.util.List; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 任务执行工具 - * - * @author ruoyi - */ -public class JobInvokeUtil -{ - /** - * 执行方法 - * - * @param sysJob 系统任务 - */ - public static void invokeMethod(SysJob sysJob) throws Exception - { - String invokeTarget = sysJob.getInvokeTarget(); - String beanName = getBeanName(invokeTarget); - String methodName = getMethodName(invokeTarget); - List methodParams = getMethodParams(invokeTarget); - - if (!isValidClassName(beanName)) - { - Object bean = SpringUtils.getBean(beanName); - invokeMethod(bean, methodName, methodParams); - } - else - { - Object bean = Class.forName(beanName).newInstance(); - invokeMethod(bean, methodName, methodParams); - } - } - - /** - * 调用任务方法 - * - * @param bean 目标对象 - * @param methodName 方法名称 - * @param methodParams 方法参数 - */ - private static void invokeMethod(Object bean, String methodName, List methodParams) - throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, - InvocationTargetException - { - if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0) - { - Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams)); - method.invoke(bean, getMethodParamsValue(methodParams)); - } - else - { - Method method = bean.getClass().getDeclaredMethod(methodName); - method.invoke(bean); - } - } - - /** - * 校验是否为为class包名 - * - * @param str 名称 - * @return true是 false否 - */ - public static boolean isValidClassName(String invokeTarget) - { - return StringUtils.countMatches(invokeTarget, ".") > 1; - } - - /** - * 获取bean名称 - * - * @param invokeTarget 目标字符串 - * @return bean名称 - */ - public static String getBeanName(String invokeTarget) - { - String beanName = StringUtils.substringBefore(invokeTarget, "("); - return StringUtils.substringBeforeLast(beanName, "."); - } - - /** - * 获取bean方法 - * - * @param invokeTarget 目标字符串 - * @return method方法 - */ - public static String getMethodName(String invokeTarget) - { - String methodName = StringUtils.substringBefore(invokeTarget, "("); - return StringUtils.substringAfterLast(methodName, "."); - } - - /** - * 获取method方法参数相关列表 - * - * @param invokeTarget 目标字符串 - * @return method方法相关参数列表 - */ - public static List getMethodParams(String invokeTarget) - { - String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")"); - if (StringUtils.isEmpty(methodStr)) - { - return null; - } - String[] methodParams = methodStr.split(","); - List classs = new LinkedList<>(); - for (int i = 0; i < methodParams.length; i++) - { - String str = StringUtils.trimToEmpty(methodParams[i]); - // String字符串类型,包含' - if (StringUtils.contains(str, "'")) - { - classs.add(new Object[] { StringUtils.replace(str, "'", ""), String.class }); - } - // boolean布尔类型,等于true或者false - else if (StringUtils.equals(str, "true") || StringUtils.equalsIgnoreCase(str, "false")) - { - classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); - } - // long长整形,包含L - else if (StringUtils.containsIgnoreCase(str, "L")) - { - classs.add(new Object[] { Long.valueOf(StringUtils.replaceIgnoreCase(str, "L", "")), Long.class }); - } - // double浮点类型,包含D - else if (StringUtils.containsIgnoreCase(str, "D")) - { - classs.add(new Object[] { Double.valueOf(StringUtils.replaceIgnoreCase(str, "D", "")), Double.class }); - } - // 其他类型归类为整形 - else - { - classs.add(new Object[] { Integer.valueOf(str), Integer.class }); - } - } - return classs; - } - - /** - * 获取参数类型 - * - * @param methodParams 参数相关列表 - * @return 参数类型列表 - */ - public static Class[] getMethodParamsType(List methodParams) - { - Class[] classs = new Class[methodParams.size()]; - int index = 0; - for (Object[] os : methodParams) - { - classs[index] = (Class) os[1]; - index++; - } - return classs; - } - - /** - * 获取参数值 - * - * @param methodParams 参数相关列表 - * @return 参数值列表 - */ - public static Object[] getMethodParamsValue(List methodParams) - { - Object[] classs = new Object[methodParams.size()]; - int index = 0; - for (Object[] os : methodParams) - { - classs[index] = (Object) os[0]; - index++; - } - return classs; - } -} +package com.jiajiakang.quartz.util; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.LinkedList; +import java.util.List; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.spring.SpringUtils; +import com.jiajiakang.quartz.domain.SysJob; + +/** + * 任务执行工具 + * + * @author ruoyi + */ +public class JobInvokeUtil +{ + /** + * 执行方法 + * + * @param sysJob 系统任务 + */ + public static void invokeMethod(SysJob sysJob) throws Exception + { + String invokeTarget = sysJob.getInvokeTarget(); + String beanName = getBeanName(invokeTarget); + String methodName = getMethodName(invokeTarget); + List methodParams = getMethodParams(invokeTarget); + + if (!isValidClassName(beanName)) + { + Object bean = SpringUtils.getBean(beanName); + invokeMethod(bean, methodName, methodParams); + } + else + { + Object bean = Class.forName(beanName).newInstance(); + invokeMethod(bean, methodName, methodParams); + } + } + + /** + * 调用任务方法 + * + * @param bean 目标对象 + * @param methodName 方法名称 + * @param methodParams 方法参数 + */ + private static void invokeMethod(Object bean, String methodName, List methodParams) + throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, + InvocationTargetException + { + if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0) + { + Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams)); + method.invoke(bean, getMethodParamsValue(methodParams)); + } + else + { + Method method = bean.getClass().getDeclaredMethod(methodName); + method.invoke(bean); + } + } + + /** + * 校验是否为为class包名 + * + * @param str 名称 + * @return true是 false否 + */ + public static boolean isValidClassName(String invokeTarget) + { + return StringUtils.countMatches(invokeTarget, ".") > 1; + } + + /** + * 获取bean名称 + * + * @param invokeTarget 目标字符串 + * @return bean名称 + */ + public static String getBeanName(String invokeTarget) + { + String beanName = StringUtils.substringBefore(invokeTarget, "("); + return StringUtils.substringBeforeLast(beanName, "."); + } + + /** + * 获取bean方法 + * + * @param invokeTarget 目标字符串 + * @return method方法 + */ + public static String getMethodName(String invokeTarget) + { + String methodName = StringUtils.substringBefore(invokeTarget, "("); + return StringUtils.substringAfterLast(methodName, "."); + } + + /** + * 获取method方法参数相关列表 + * + * @param invokeTarget 目标字符串 + * @return method方法相关参数列表 + */ + public static List getMethodParams(String invokeTarget) + { + String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")"); + if (StringUtils.isEmpty(methodStr)) + { + return null; + } + String[] methodParams = methodStr.split(","); + List classs = new LinkedList<>(); + for (int i = 0; i < methodParams.length; i++) + { + String str = StringUtils.trimToEmpty(methodParams[i]); + // String字符串类型,包含' + if (StringUtils.contains(str, "'")) + { + classs.add(new Object[] { StringUtils.replace(str, "'", ""), String.class }); + } + // boolean布尔类型,等于true或者false + else if (StringUtils.equals(str, "true") || StringUtils.equalsIgnoreCase(str, "false")) + { + classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); + } + // long长整形,包含L + else if (StringUtils.containsIgnoreCase(str, "L")) + { + classs.add(new Object[] { Long.valueOf(StringUtils.replaceIgnoreCase(str, "L", "")), Long.class }); + } + // double浮点类型,包含D + else if (StringUtils.containsIgnoreCase(str, "D")) + { + classs.add(new Object[] { Double.valueOf(StringUtils.replaceIgnoreCase(str, "D", "")), Double.class }); + } + // 其他类型归类为整形 + else + { + classs.add(new Object[] { Integer.valueOf(str), Integer.class }); + } + } + return classs; + } + + /** + * 获取参数类型 + * + * @param methodParams 参数相关列表 + * @return 参数类型列表 + */ + public static Class[] getMethodParamsType(List methodParams) + { + Class[] classs = new Class[methodParams.size()]; + int index = 0; + for (Object[] os : methodParams) + { + classs[index] = (Class) os[1]; + index++; + } + return classs; + } + + /** + * 获取参数值 + * + * @param methodParams 参数相关列表 + * @return 参数值列表 + */ + public static Object[] getMethodParamsValue(List methodParams) + { + Object[] classs = new Object[methodParams.size()]; + int index = 0; + for (Object[] os : methodParams) + { + classs[index] = (Object) os[0]; + index++; + } + return classs; + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/QuartzDisallowConcurrentExecution.java similarity index 82% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/QuartzDisallowConcurrentExecution.java index 96a6dcf8e..0934e13dd 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/QuartzDisallowConcurrentExecution.java @@ -1,21 +1,21 @@ -package com.ruoyi.quartz.util; - -import org.quartz.DisallowConcurrentExecution; -import org.quartz.JobExecutionContext; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 定时任务处理(禁止并发执行) - * - * @author ruoyi - * - */ -@DisallowConcurrentExecution -public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob -{ - @Override - protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception - { - JobInvokeUtil.invokeMethod(sysJob); - } -} +package com.jiajiakang.quartz.util; + +import org.quartz.DisallowConcurrentExecution; +import org.quartz.JobExecutionContext; +import com.jiajiakang.quartz.domain.SysJob; + +/** + * 定时任务处理(禁止并发执行) + * + * @author ruoyi + * + */ +@DisallowConcurrentExecution +public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob +{ + @Override + protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception + { + JobInvokeUtil.invokeMethod(sysJob); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/QuartzJobExecution.java similarity index 79% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/QuartzJobExecution.java index 87a06bc13..7e50afbca 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/QuartzJobExecution.java @@ -1,19 +1,19 @@ -package com.ruoyi.quartz.util; - -import org.quartz.JobExecutionContext; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 定时任务处理(允许并发执行) - * - * @author ruoyi - * - */ -public class QuartzJobExecution extends AbstractQuartzJob -{ - @Override - protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception - { - JobInvokeUtil.invokeMethod(sysJob); - } -} +package com.jiajiakang.quartz.util; + +import org.quartz.JobExecutionContext; +import com.jiajiakang.quartz.domain.SysJob; + +/** + * 定时任务处理(允许并发执行) + * + * @author ruoyi + * + */ +public class QuartzJobExecution extends AbstractQuartzJob +{ + @Override + protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception + { + JobInvokeUtil.invokeMethod(sysJob); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/ScheduleUtils.java similarity index 91% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java rename to jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/ScheduleUtils.java index 37fe72e04..4d266e234 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java +++ b/jiajiakang-quartz/src/main/java/com/jiajiakang/quartz/util/ScheduleUtils.java @@ -1,113 +1,113 @@ -package com.ruoyi.quartz.util; - -import org.quartz.CronScheduleBuilder; -import org.quartz.CronTrigger; -import org.quartz.Job; -import org.quartz.JobBuilder; -import org.quartz.JobDetail; -import org.quartz.JobKey; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.quartz.TriggerBuilder; -import org.quartz.TriggerKey; -import com.ruoyi.common.constant.ScheduleConstants; -import com.ruoyi.common.exception.job.TaskException; -import com.ruoyi.common.exception.job.TaskException.Code; -import com.ruoyi.quartz.domain.SysJob; - -/** - * 定时任务工具类 - * - * @author ruoyi - * - */ -public class ScheduleUtils -{ - /** - * 得到quartz任务类 - * - * @param sysJob 执行计划 - * @return 具体执行任务类 - */ - private static Class getQuartzJobClass(SysJob sysJob) - { - boolean isConcurrent = "0".equals(sysJob.getConcurrent()); - return isConcurrent ? QuartzJobExecution.class : QuartzDisallowConcurrentExecution.class; - } - - /** - * 构建任务触发对象 - */ - public static TriggerKey getTriggerKey(Long jobId, String jobGroup) - { - return TriggerKey.triggerKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); - } - - /** - * 构建任务键对象 - */ - public static JobKey getJobKey(Long jobId, String jobGroup) - { - return JobKey.jobKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); - } - - /** - * 创建定时任务 - */ - public static void createScheduleJob(Scheduler scheduler, SysJob job) throws SchedulerException, TaskException - { - Class jobClass = getQuartzJobClass(job); - // 构建job信息 - Long jobId = job.getJobId(); - String jobGroup = job.getJobGroup(); - JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(getJobKey(jobId, jobGroup)).build(); - - // 表达式调度构建器 - CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(job.getCronExpression()); - cronScheduleBuilder = handleCronScheduleMisfirePolicy(job, cronScheduleBuilder); - - // 按新的cronExpression表达式构建一个新的trigger - CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup)) - .withSchedule(cronScheduleBuilder).build(); - - // 放入参数,运行时的方法可以获取 - jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job); - - // 判断是否存在 - if (scheduler.checkExists(getJobKey(jobId, jobGroup))) - { - // 防止创建时存在数据问题 先移除,然后在执行创建操作 - scheduler.deleteJob(getJobKey(jobId, jobGroup)); - } - - scheduler.scheduleJob(jobDetail, trigger); - - // 暂停任务 - if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue())) - { - scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); - } - } - - /** - * 设置定时任务策略 - */ - public static CronScheduleBuilder handleCronScheduleMisfirePolicy(SysJob job, CronScheduleBuilder cb) - throws TaskException - { - switch (job.getMisfirePolicy()) - { - case ScheduleConstants.MISFIRE_DEFAULT: - return cb; - case ScheduleConstants.MISFIRE_IGNORE_MISFIRES: - return cb.withMisfireHandlingInstructionIgnoreMisfires(); - case ScheduleConstants.MISFIRE_FIRE_AND_PROCEED: - return cb.withMisfireHandlingInstructionFireAndProceed(); - case ScheduleConstants.MISFIRE_DO_NOTHING: - return cb.withMisfireHandlingInstructionDoNothing(); - default: - throw new TaskException("The task misfire policy '" + job.getMisfirePolicy() - + "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR); - } - } -} +package com.jiajiakang.quartz.util; + +import org.quartz.CronScheduleBuilder; +import org.quartz.CronTrigger; +import org.quartz.Job; +import org.quartz.JobBuilder; +import org.quartz.JobDetail; +import org.quartz.JobKey; +import org.quartz.Scheduler; +import org.quartz.SchedulerException; +import org.quartz.TriggerBuilder; +import org.quartz.TriggerKey; +import com.jiajiakang.common.constant.ScheduleConstants; +import com.jiajiakang.common.exception.job.TaskException; +import com.jiajiakang.common.exception.job.TaskException.Code; +import com.jiajiakang.quartz.domain.SysJob; + +/** + * 定时任务工具类 + * + * @author ruoyi + * + */ +public class ScheduleUtils +{ + /** + * 得到quartz任务类 + * + * @param sysJob 执行计划 + * @return 具体执行任务类 + */ + private static Class getQuartzJobClass(SysJob sysJob) + { + boolean isConcurrent = "0".equals(sysJob.getConcurrent()); + return isConcurrent ? QuartzJobExecution.class : QuartzDisallowConcurrentExecution.class; + } + + /** + * 构建任务触发对象 + */ + public static TriggerKey getTriggerKey(Long jobId, String jobGroup) + { + return TriggerKey.triggerKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); + } + + /** + * 构建任务键对象 + */ + public static JobKey getJobKey(Long jobId, String jobGroup) + { + return JobKey.jobKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); + } + + /** + * 创建定时任务 + */ + public static void createScheduleJob(Scheduler scheduler, SysJob job) throws SchedulerException, TaskException + { + Class jobClass = getQuartzJobClass(job); + // 构建job信息 + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(getJobKey(jobId, jobGroup)).build(); + + // 表达式调度构建器 + CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(job.getCronExpression()); + cronScheduleBuilder = handleCronScheduleMisfirePolicy(job, cronScheduleBuilder); + + // 按新的cronExpression表达式构建一个新的trigger + CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup)) + .withSchedule(cronScheduleBuilder).build(); + + // 放入参数,运行时的方法可以获取 + jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job); + + // 判断是否存在 + if (scheduler.checkExists(getJobKey(jobId, jobGroup))) + { + // 防止创建时存在数据问题 先移除,然后在执行创建操作 + scheduler.deleteJob(getJobKey(jobId, jobGroup)); + } + + scheduler.scheduleJob(jobDetail, trigger); + + // 暂停任务 + if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue())) + { + scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + } + + /** + * 设置定时任务策略 + */ + public static CronScheduleBuilder handleCronScheduleMisfirePolicy(SysJob job, CronScheduleBuilder cb) + throws TaskException + { + switch (job.getMisfirePolicy()) + { + case ScheduleConstants.MISFIRE_DEFAULT: + return cb; + case ScheduleConstants.MISFIRE_IGNORE_MISFIRES: + return cb.withMisfireHandlingInstructionIgnoreMisfires(); + case ScheduleConstants.MISFIRE_FIRE_AND_PROCEED: + return cb.withMisfireHandlingInstructionFireAndProceed(); + case ScheduleConstants.MISFIRE_DO_NOTHING: + return cb.withMisfireHandlingInstructionDoNothing(); + default: + throw new TaskException("The task misfire policy '" + job.getMisfirePolicy() + + "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR); + } + } +} diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml b/jiajiakang-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml similarity index 96% rename from ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml rename to jiajiakang-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml index 588d17705..3829019b3 100644 --- a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml +++ b/jiajiakang-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml @@ -1,93 +1,93 @@ - - - - - - - - - - - - - - - - - select job_log_id, job_name, job_group, invoke_target, job_message, status, exception_info, create_time - from sys_job_log - - - - - - - - - - delete from sys_job_log where job_log_id = #{jobLogId} - - - - delete from sys_job_log where job_log_id in - - #{jobLogId} - - - - - truncate table sys_job_log - - - - insert into sys_job_log( - job_log_id, - job_name, - job_group, - invoke_target, - job_message, - status, - exception_info, - create_time - )values( - #{jobLogId}, - #{jobName}, - #{jobGroup}, - #{invokeTarget}, - #{jobMessage}, - #{status}, - #{exceptionInfo}, - sysdate() - ) - - + + + + + + + + + + + + + + + + + select job_log_id, job_name, job_group, invoke_target, job_message, status, exception_info, create_time + from sys_job_log + + + + + + + + + + delete from sys_job_log where job_log_id = #{jobLogId} + + + + delete from sys_job_log where job_log_id in + + #{jobLogId} + + + + + truncate table sys_job_log + + + + insert into sys_job_log( + job_log_id, + job_name, + job_group, + invoke_target, + job_message, + status, + exception_info, + create_time + )values( + #{jobLogId}, + #{jobName}, + #{jobGroup}, + #{invokeTarget}, + #{jobMessage}, + #{status}, + #{exceptionInfo}, + sysdate() + ) + + \ No newline at end of file diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml b/jiajiakang-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml similarity index 96% rename from ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml rename to jiajiakang-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml index 69233bdf7..d20e8ad47 100644 --- a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml +++ b/jiajiakang-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml @@ -1,111 +1,111 @@ - - - - - - - - - - - - - - - - - - - - - - select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark - from sys_job - - - - - - - - - - delete from sys_job where job_id = #{jobId} - - - - delete from sys_job where job_id in - - #{jobId} - - - - - update sys_job - - job_name = #{jobName}, - job_group = #{jobGroup}, - invoke_target = #{invokeTarget}, - cron_expression = #{cronExpression}, - misfire_policy = #{misfirePolicy}, - concurrent = #{concurrent}, - status = #{status}, - remark = #{remark}, - update_by = #{updateBy}, - update_time = sysdate() - - where job_id = #{jobId} - - - - insert into sys_job( - job_id, - job_name, - job_group, - invoke_target, - cron_expression, - misfire_policy, - concurrent, - status, - remark, - create_by, - create_time - )values( - #{jobId}, - #{jobName}, - #{jobGroup}, - #{invokeTarget}, - #{cronExpression}, - #{misfirePolicy}, - #{concurrent}, - #{status}, - #{remark}, - #{createBy}, - sysdate() - ) - - + + + + + + + + + + + + + + + + + + + + + + select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark + from sys_job + + + + + + + + + + delete from sys_job where job_id = #{jobId} + + + + delete from sys_job where job_id in + + #{jobId} + + + + + update sys_job + + job_name = #{jobName}, + job_group = #{jobGroup}, + invoke_target = #{invokeTarget}, + cron_expression = #{cronExpression}, + misfire_policy = #{misfirePolicy}, + concurrent = #{concurrent}, + status = #{status}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where job_id = #{jobId} + + + + insert into sys_job( + job_id, + job_name, + job_group, + invoke_target, + cron_expression, + misfire_policy, + concurrent, + status, + remark, + create_by, + create_time + )values( + #{jobId}, + #{jobName}, + #{jobGroup}, + #{invokeTarget}, + #{cronExpression}, + #{misfirePolicy}, + #{concurrent}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + \ No newline at end of file diff --git a/ruoyi-system/pom.xml b/jiajiakang-system/pom.xml similarity index 70% rename from ruoyi-system/pom.xml rename to jiajiakang-system/pom.xml index 81eb2a28c..ec87d925e 100644 --- a/ruoyi-system/pom.xml +++ b/jiajiakang-system/pom.xml @@ -1,28 +1,28 @@ - - - - ruoyi - com.ruoyi - 3.4.0 - - 4.0.0 - - ruoyi-system - - - system系统模块 - - - - - - - com.ruoyi - ruoyi-common - - - - + + + + jiajiakang + com.jiajiakang + 3.4.0 + + 4.0.0 + + jiajiakang-system + + + system系统模块 + + + + + + + com.jiajiakang + jiajiakang-common + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysConfig.java similarity index 93% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysConfig.java index c54678cc9..66f1677c9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysConfig.java @@ -1,12 +1,12 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 参数配置表 sys_config diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysLogininfor.java similarity index 92% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysLogininfor.java index 7fdea3073..6fb757451 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysLogininfor.java @@ -1,10 +1,10 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 系统访问记录表 sys_logininfor diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysNotice.java similarity index 96% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysNotice.java index b43abea3b..fa6d61d17 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysNotice.java @@ -1,10 +1,10 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 通知公告表 sys_notice diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysOperLog.java similarity index 96% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysOperLog.java index 175ee03f5..b81042eba 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysOperLog.java @@ -1,10 +1,10 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 操作日志记录表 oper_log diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysPost.java similarity index 93% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysPost.java index 1f1fcf4c0..4fc6b86a2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysPost.java @@ -1,12 +1,12 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.annotation.Excel.ColumnType; -import com.ruoyi.common.core.domain.BaseEntity; +import com.jiajiakang.common.annotation.Excel; +import com.jiajiakang.common.annotation.Excel.ColumnType; +import com.jiajiakang.common.core.domain.BaseEntity; /** * 岗位表 sys_post diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleDept.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysRoleDept.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleDept.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysRoleDept.java index 47b21bf79..2cc28e8ba 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleDept.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysRoleDept.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysRoleMenu.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysRoleMenu.java index de10a7470..a0ca171c6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysRoleMenu.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserOnline.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserOnline.java similarity index 97% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserOnline.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserOnline.java index 2bbd31888..2c9909af2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserOnline.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserOnline.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; /** * 当前在线会话 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserPost.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserPost.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserPost.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserPost.java index 6e8c416f2..5d5389b9d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserPost.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserPost.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserRole.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserRole.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserRole.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserRole.java index 4d1581014..431b72e41 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserRole.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/SysUserRole.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain; +package com.jiajiakang.system.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/vo/MetaVo.java similarity index 96% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/vo/MetaVo.java index af7234c15..ccff38879 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/vo/MetaVo.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain.vo; +package com.jiajiakang.system.domain.vo; /** * 路由显示信息 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RouterVo.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/vo/RouterVo.java similarity index 98% rename from ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RouterVo.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/domain/vo/RouterVo.java index b5501b775..cdde508b0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RouterVo.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/domain/vo/RouterVo.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.domain.vo; +package com.jiajiakang.system.domain.vo; import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysConfigMapper.java similarity index 94% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysConfigMapper.java index 0ed0c0af9..d0254eed9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysConfigMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysConfig; +import com.jiajiakang.system.domain.SysConfig; /** * 参数配置 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDeptMapper.java similarity index 96% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDeptMapper.java index 000bf6681..cd7a78d83 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDeptMapper.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; -import com.ruoyi.common.core.domain.entity.SysDept; +import com.jiajiakang.common.core.domain.entity.SysDept; /** * 部门管理 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDictDataMapper.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDictDataMapper.java index a341f1e30..cf8bd0164 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDictDataMapper.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; -import com.ruoyi.common.core.domain.entity.SysDictData; +import com.jiajiakang.common.core.domain.entity.SysDictData; /** * 字典表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDictTypeMapper.java similarity index 94% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDictTypeMapper.java index 17545cd99..f2a6dc4ff 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysDictTypeMapper.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Mapper; -import com.ruoyi.common.core.domain.entity.SysDictType; +import com.jiajiakang.common.core.domain.entity.SysDictType; /** * 字典表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysLogininforMapper.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysLogininforMapper.java index 629866f58..eb8caf428 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysLogininforMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysLogininfor; +import com.jiajiakang.system.domain.SysLogininfor; /** * 系统访问日志情况信息 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysMenuMapper.java similarity index 96% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysMenuMapper.java index 1c2e8530e..fb2ffb523 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysMenuMapper.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; -import com.ruoyi.common.core.domain.entity.SysMenu; +import com.jiajiakang.common.core.domain.entity.SysMenu; /** * 菜单表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysNoticeMapper.java similarity index 92% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysNoticeMapper.java index c34f0a279..0b14ed9cf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysNoticeMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysNotice; +import com.jiajiakang.system.domain.SysNotice; /** * 通知公告表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysOperLogMapper.java similarity index 91% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysOperLogMapper.java index 2ae6457f7..11996ebce 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysOperLogMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysOperLog; +import com.jiajiakang.system.domain.SysOperLog; /** * 操作日志 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysPostMapper.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysPostMapper.java index b42874797..7bd719128 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysPostMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysPost; +import com.jiajiakang.system.domain.SysPost; /** * 岗位信息 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleDeptMapper.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleDeptMapper.java index f9d3a2f39..78e59add6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleDeptMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysRoleDept; +import com.jiajiakang.system.domain.SysRoleDept; /** * 角色与部门关联表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleMapper.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleMapper.java index 16d55943e..460f3993f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.entity.SysRole; /** * 角色表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleMenuMapper.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleMenuMapper.java index fccdbf09f..9a6ddb8e7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysRoleMenuMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysRoleMenu; +import com.jiajiakang.system.domain.SysRoleMenu; /** * 角色与菜单关联表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserMapper.java similarity index 96% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserMapper.java index 39f62bc2d..fc563e0ad 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserMapper.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; -import com.ruoyi.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.entity.SysUser; /** * 用户表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserPostMapper.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserPostMapper.java index e08991dee..c76409bd7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserPostMapper.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; -import com.ruoyi.system.domain.SysUserPost; +import com.jiajiakang.system.domain.SysUserPost; /** * 用户与岗位关联表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserRoleMapper.java similarity index 93% rename from ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserRoleMapper.java index 3143ec828..f4cb72c6d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/mapper/SysUserRoleMapper.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.mapper; +package com.jiajiakang.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; -import com.ruoyi.system.domain.SysUserRole; +import com.jiajiakang.system.domain.SysUserRole; /** * 用户与角色关联表 数据层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysConfigService.java similarity index 94% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysConfigService.java index 9bca585bb..df12a5085 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysConfigService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.system.domain.SysConfig; +import com.jiajiakang.system.domain.SysConfig; /** * 参数配置 服务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDeptService.java similarity index 93% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDeptService.java index bf8ab3e8f..dd813a37b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDeptService.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.common.core.domain.TreeSelect; -import com.ruoyi.common.core.domain.entity.SysDept; +import com.jiajiakang.common.core.domain.TreeSelect; +import com.jiajiakang.common.core.domain.entity.SysDept; /** * 部门管理 服务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDictDataService.java similarity index 93% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDictDataService.java index 6cebd695f..afffe8a91 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDictDataService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.common.core.domain.entity.SysDictData; +import com.jiajiakang.common.core.domain.entity.SysDictData; /** * 字典 业务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDictTypeService.java similarity index 92% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDictTypeService.java index 310809e56..d7aead7f7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysDictTypeService.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.common.core.domain.entity.SysDictType; +import com.jiajiakang.common.core.domain.entity.SysDictData; +import com.jiajiakang.common.core.domain.entity.SysDictType; /** * 字典 业务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysLogininforService.java similarity index 89% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysLogininforService.java index 96c4d5473..6ef1a5421 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysLogininforService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.system.domain.SysLogininfor; +import com.jiajiakang.system.domain.SysLogininfor; /** * 系统访问日志情况信息 服务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysMenuService.java similarity index 93% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysMenuService.java index f64bee110..a89b068a5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysMenuService.java @@ -1,10 +1,10 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; import java.util.Set; -import com.ruoyi.common.core.domain.TreeSelect; -import com.ruoyi.common.core.domain.entity.SysMenu; -import com.ruoyi.system.domain.vo.RouterVo; +import com.jiajiakang.common.core.domain.TreeSelect; +import com.jiajiakang.common.core.domain.entity.SysMenu; +import com.jiajiakang.system.domain.vo.RouterVo; /** * 菜单 业务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysNoticeService.java similarity index 92% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysNoticeService.java index 47ce1b71e..67992b755 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysNoticeService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.system.domain.SysNotice; +import com.jiajiakang.system.domain.SysNotice; /** * 公告 服务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysOperLogService.java similarity index 91% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysOperLogService.java index 4fd8e5a85..ddc6c73f4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysOperLogService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.system.domain.SysOperLog; +import com.jiajiakang.system.domain.SysOperLog; /** * 操作日志 服务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysPostService.java similarity index 95% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysPostService.java index aab216d8a..0d9da6bee 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysPostService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.system.domain.SysPost; +import com.jiajiakang.system.domain.SysPost; /** * 岗位信息 服务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysRoleService.java similarity index 96% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysRoleService.java index 070a5ceed..4a4671f0e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysRoleService.java @@ -1,8 +1,8 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; import java.util.Set; -import com.ruoyi.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.entity.SysRole; /** * 角色业务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserOnlineService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysUserOnlineService.java similarity index 87% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserOnlineService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysUserOnlineService.java index 8eb5448cd..7165bad1f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserOnlineService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysUserOnlineService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.system.domain.SysUserOnline; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.system.domain.SysUserOnline; /** * 在线用户 服务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysUserService.java similarity index 97% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysUserService.java index ea0333b54..c5e156eee 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/ISysUserService.java @@ -1,7 +1,7 @@ -package com.ruoyi.system.service; +package com.jiajiakang.system.service; import java.util.List; -import com.ruoyi.common.core.domain.entity.SysUser; +import com.jiajiakang.common.core.domain.entity.SysUser; /** * 用户 业务层 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysConfigServiceImpl.java similarity index 88% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysConfigServiceImpl.java index 9cd51de0b..0d06f81b6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysConfigServiceImpl.java @@ -1,21 +1,21 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.Collection; import java.util.List; import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.common.annotation.DataSource; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.common.enums.DataSourceType; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.SysConfig; -import com.ruoyi.system.mapper.SysConfigMapper; -import com.ruoyi.system.service.ISysConfigService; +import com.jiajiakang.common.annotation.DataSource; +import com.jiajiakang.common.constant.Constants; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.redis.RedisCache; +import com.jiajiakang.common.core.text.Convert; +import com.jiajiakang.common.enums.DataSourceType; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.domain.SysConfig; +import com.jiajiakang.system.mapper.SysConfigMapper; +import com.jiajiakang.system.service.ISysConfigService; /** * 参数配置 服务层实现 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDeptServiceImpl.java similarity index 93% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDeptServiceImpl.java index 7d6984db5..674f5c3ac 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDeptServiceImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.ArrayList; import java.util.Iterator; @@ -6,16 +6,16 @@ import java.util.List; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.common.annotation.DataScope; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.TreeSelect; -import com.ruoyi.common.core.domain.entity.SysDept; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.mapper.SysDeptMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.service.ISysDeptService; +import com.jiajiakang.common.annotation.DataScope; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.domain.TreeSelect; +import com.jiajiakang.common.core.domain.entity.SysDept; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.mapper.SysDeptMapper; +import com.jiajiakang.system.mapper.SysRoleMapper; +import com.jiajiakang.system.service.ISysDeptService; /** * 部门管理 服务实现 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDictDataServiceImpl.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDictDataServiceImpl.java index 2ee7a6ce2..698294d77 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDictDataServiceImpl.java @@ -1,12 +1,12 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.common.utils.DictUtils; -import com.ruoyi.system.mapper.SysDictDataMapper; -import com.ruoyi.system.service.ISysDictDataService; +import com.jiajiakang.common.core.domain.entity.SysDictData; +import com.jiajiakang.common.utils.DictUtils; +import com.jiajiakang.system.mapper.SysDictDataMapper; +import com.jiajiakang.system.service.ISysDictDataService; /** * 字典 业务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDictTypeServiceImpl.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDictTypeServiceImpl.java index 48ba3c62d..e1751fc9b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysDictTypeServiceImpl.java @@ -1,19 +1,19 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.List; import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.common.core.domain.entity.SysDictType; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.DictUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.mapper.SysDictDataMapper; -import com.ruoyi.system.mapper.SysDictTypeMapper; -import com.ruoyi.system.service.ISysDictTypeService; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.domain.entity.SysDictData; +import com.jiajiakang.common.core.domain.entity.SysDictType; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.DictUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.mapper.SysDictDataMapper; +import com.jiajiakang.system.mapper.SysDictTypeMapper; +import com.jiajiakang.system.service.ISysDictTypeService; /** * 字典 业务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysLogininforServiceImpl.java similarity index 86% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysLogininforServiceImpl.java index a3b5257cf..10f271b33 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysLogininforServiceImpl.java @@ -1,11 +1,11 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.system.domain.SysLogininfor; -import com.ruoyi.system.mapper.SysLogininforMapper; -import com.ruoyi.system.service.ISysLogininforService; +import com.jiajiakang.system.domain.SysLogininfor; +import com.jiajiakang.system.mapper.SysLogininforMapper; +import com.jiajiakang.system.service.ISysLogininforService; /** * 系统访问日志情况信息 服务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysMenuServiceImpl.java similarity index 94% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysMenuServiceImpl.java index 09748eb4d..c367c9196 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysMenuServiceImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.ArrayList; import java.util.Arrays; @@ -10,19 +10,19 @@ import java.util.Set; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.TreeSelect; -import com.ruoyi.common.core.domain.entity.SysMenu; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.vo.MetaVo; -import com.ruoyi.system.domain.vo.RouterVo; -import com.ruoyi.system.mapper.SysMenuMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.mapper.SysRoleMenuMapper; -import com.ruoyi.system.service.ISysMenuService; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.domain.TreeSelect; +import com.jiajiakang.common.core.domain.entity.SysMenu; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.domain.vo.MetaVo; +import com.jiajiakang.system.domain.vo.RouterVo; +import com.jiajiakang.system.mapper.SysMenuMapper; +import com.jiajiakang.system.mapper.SysRoleMapper; +import com.jiajiakang.system.mapper.SysRoleMenuMapper; +import com.jiajiakang.system.service.ISysMenuService; /** * 菜单 业务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysNoticeServiceImpl.java similarity index 89% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysNoticeServiceImpl.java index 765438b8a..f3e17fd43 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysNoticeServiceImpl.java @@ -1,11 +1,11 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.system.domain.SysNotice; -import com.ruoyi.system.mapper.SysNoticeMapper; -import com.ruoyi.system.service.ISysNoticeService; +import com.jiajiakang.system.domain.SysNotice; +import com.jiajiakang.system.mapper.SysNoticeMapper; +import com.jiajiakang.system.service.ISysNoticeService; /** * 公告 服务层实现 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysOperLogServiceImpl.java similarity index 88% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysOperLogServiceImpl.java index 54898152e..b5e14bd87 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysOperLogServiceImpl.java @@ -1,11 +1,11 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.system.domain.SysOperLog; -import com.ruoyi.system.mapper.SysOperLogMapper; -import com.ruoyi.system.service.ISysOperLogService; +import com.jiajiakang.system.domain.SysOperLog; +import com.jiajiakang.system.mapper.SysOperLogMapper; +import com.jiajiakang.system.service.ISysOperLogService; /** * 操作日志 服务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysPostServiceImpl.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysPostServiceImpl.java index c0da6d4d7..5035c80c0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysPostServiceImpl.java @@ -1,15 +1,15 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.SysPost; -import com.ruoyi.system.mapper.SysPostMapper; -import com.ruoyi.system.mapper.SysUserPostMapper; -import com.ruoyi.system.service.ISysPostService; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.domain.SysPost; +import com.jiajiakang.system.mapper.SysPostMapper; +import com.jiajiakang.system.mapper.SysUserPostMapper; +import com.jiajiakang.system.service.ISysPostService; /** * 岗位信息 服务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysRoleServiceImpl.java similarity index 91% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysRoleServiceImpl.java index 227147213..28639282c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysRoleServiceImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.ArrayList; import java.util.Arrays; @@ -8,19 +8,19 @@ import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.ruoyi.common.annotation.DataScope; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.system.domain.SysRoleDept; -import com.ruoyi.system.domain.SysRoleMenu; -import com.ruoyi.system.mapper.SysRoleDeptMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.mapper.SysRoleMenuMapper; -import com.ruoyi.system.mapper.SysUserRoleMapper; -import com.ruoyi.system.service.ISysRoleService; +import com.jiajiakang.common.annotation.DataScope; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.common.utils.spring.SpringUtils; +import com.jiajiakang.system.domain.SysRoleDept; +import com.jiajiakang.system.domain.SysRoleMenu; +import com.jiajiakang.system.mapper.SysRoleDeptMapper; +import com.jiajiakang.system.mapper.SysRoleMapper; +import com.jiajiakang.system.mapper.SysRoleMenuMapper; +import com.jiajiakang.system.mapper.SysUserRoleMapper; +import com.jiajiakang.system.service.ISysRoleService; /** * 角色 业务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysUserOnlineServiceImpl.java similarity index 90% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysUserOnlineServiceImpl.java index f80a87717..0cd35af91 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysUserOnlineServiceImpl.java @@ -1,10 +1,10 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import org.springframework.stereotype.Service; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.SysUserOnline; -import com.ruoyi.system.service.ISysUserOnlineService; +import com.jiajiakang.common.core.domain.model.LoginUser; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.domain.SysUserOnline; +import com.jiajiakang.system.service.ISysUserOnlineService; /** * 在线用户 服务层处理 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysUserServiceImpl.java similarity index 92% rename from ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java rename to jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysUserServiceImpl.java index b48a7de00..e37d1ea5c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/jiajiakang-system/src/main/java/com/jiajiakang/system/service/impl/SysUserServiceImpl.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.service.impl; +package com.jiajiakang.system.service.impl; import java.util.ArrayList; import java.util.List; @@ -7,23 +7,23 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.ruoyi.common.annotation.DataScope; -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.exception.CustomException; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.SysPost; -import com.ruoyi.system.domain.SysUserPost; -import com.ruoyi.system.domain.SysUserRole; -import com.ruoyi.system.mapper.SysPostMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.mapper.SysUserMapper; -import com.ruoyi.system.mapper.SysUserPostMapper; -import com.ruoyi.system.mapper.SysUserRoleMapper; -import com.ruoyi.system.service.ISysConfigService; -import com.ruoyi.system.service.ISysUserService; +import com.jiajiakang.common.annotation.DataScope; +import com.jiajiakang.common.constant.UserConstants; +import com.jiajiakang.common.core.domain.entity.SysRole; +import com.jiajiakang.common.core.domain.entity.SysUser; +import com.jiajiakang.common.exception.CustomException; +import com.jiajiakang.common.utils.SecurityUtils; +import com.jiajiakang.common.utils.StringUtils; +import com.jiajiakang.system.domain.SysPost; +import com.jiajiakang.system.domain.SysUserPost; +import com.jiajiakang.system.domain.SysUserRole; +import com.jiajiakang.system.mapper.SysPostMapper; +import com.jiajiakang.system.mapper.SysRoleMapper; +import com.jiajiakang.system.mapper.SysUserMapper; +import com.jiajiakang.system.mapper.SysUserPostMapper; +import com.jiajiakang.system.mapper.SysUserRoleMapper; +import com.jiajiakang.system.service.ISysConfigService; +import com.jiajiakang.system.service.ISysUserService; /** * 用户 业务层处理 diff --git a/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysConfigMapper.xml similarity index 98% rename from ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysConfigMapper.xml index 8b979061b..9bd139a93 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysConfigMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysDeptMapper.xml similarity index 99% rename from ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysDeptMapper.xml index 8777b4067..8b89eca76 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysDictDataMapper.xml similarity index 98% rename from ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysDictDataMapper.xml index 8da9030bf..683ec1ff3 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysDictTypeMapper.xml similarity index 98% rename from ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index 55b4075f1..df38363c7 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysLogininforMapper.xml similarity index 97% rename from ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysLogininforMapper.xml index b8178fa3e..bc156eb24 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysLogininforMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysMenuMapper.xml similarity index 99% rename from ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysMenuMapper.xml index 22a4cd10d..500d79680 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysNoticeMapper.xml similarity index 98% rename from ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysNoticeMapper.xml index c51dabe76..aefa5a4f3 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysNoticeMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysOperLogMapper.xml similarity index 98% rename from ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysOperLogMapper.xml index f017ef868..134ca6e37 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysOperLogMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysPostMapper.xml similarity index 98% rename from ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysPostMapper.xml index c82d808f5..0f1387aa4 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysPostMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml similarity index 93% rename from ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml index 7c4139bce..7ff686d32 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysRoleMapper.xml similarity index 99% rename from ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysRoleMapper.xml index 3506de8e2..a9f88cd2a 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml similarity index 93% rename from ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml index d3248655c..97a4aacba 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysUserMapper.xml similarity index 99% rename from ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysUserMapper.xml index 296912d2a..d669e6a55 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysUserPostMapper.xml similarity index 93% rename from ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysUserPostMapper.xml index 2b90bc40b..104b2819d 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysUserPostMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/jiajiakang-system/src/main/resources/mapper/system/SysUserRoleMapper.xml similarity index 95% rename from ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml rename to jiajiakang-system/src/main/resources/mapper/system/SysUserRoleMapper.xml index dd726891a..42da439c0 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml +++ b/jiajiakang-system/src/main/resources/mapper/system/SysUserRoleMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/pom.xml b/pom.xml index f0e37d792..7424813ec 100644 --- a/pom.xml +++ b/pom.xml @@ -4,16 +4,16 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.ruoyi - ruoyi + com.jiajiakang + jiajiakang 3.4.0 - ruoyi + jiajiakang http://www.ruoyi.vip - 若依管理系统 + 佳家康管理系统 - 3.4.0 + 3.4.0 UTF-8 UTF-8 1.8 @@ -191,57 +191,57 @@ - com.ruoyi - ruoyi-quartz - ${ruoyi.version} + com.jiajiakang + jiajiakang-quartz + ${jiajiakang.version} - com.ruoyi - ruoyi-generator - ${ruoyi.version} + com.jiajiakang + jiajiakang-generator + ${jiajiakang.version} - com.ruoyi - ruoyi-framework - ${ruoyi.version} + com.jiajiakang + jiajiakang-framework + ${jiajiakang.version} - com.ruoyi - ruoyi-system - ${ruoyi.version} + com.jiajiakang + jiajiakang-system + ${jiajiakang.version} - com.ruoyi - ruoyi-common - ${ruoyi.version} + com.jiajiakang + jiajiakang-common + ${jiajiakang.version} - com.ruoyi - ruoyi-demo - ${ruoyi.version} + com.jiajiakang + jiajiakang-demo + ${jiajiakang.version} - ruoyi-admin - ruoyi-framework - ruoyi-system - ruoyi-quartz - ruoyi-generator - ruoyi-common - ruoyi-demo + jiajiakang-admin + jiajiakang-framework + jiajiakang-system + jiajiakang-quartz + jiajiakang-generator + jiajiakang-common + jiajiakang-demo pom diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/FeignTestController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/FeignTestController.java index f4c5f4499..9a2ccd887 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/FeignTestController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/FeignTestController.java @@ -1,7 +1,7 @@ -package com.ruoyi.demo.controller; +package com.jiajiakang.demo.controller; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.demo.feign.FeignTestService; +import com.jiajiakang.common.core.domain.AjaxResult; +import com.jiajiakang.demo.feign.FeignTestService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/package-info.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/package-info.java index 4239668a6..fdcd3751c 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/package-info.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/package-info.java @@ -1 +1 @@ -package com.ruoyi.demo.controller; \ No newline at end of file +package com.jiajiakang.demo.controller; \ No newline at end of file diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/package-info.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/package-info.java index e2da76563..e588637b2 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/package-info.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/package-info.java @@ -1 +1 @@ -package com.ruoyi.demo.domain; \ No newline at end of file +package com.jiajiakang.demo.domain; \ No newline at end of file diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/FeignTestService.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/FeignTestService.java index 4945f5967..7941f5354 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/FeignTestService.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/FeignTestService.java @@ -1,6 +1,6 @@ -package com.ruoyi.demo.feign; +package com.jiajiakang.demo.feign; -import com.ruoyi.demo.feign.fallback.FeignTestFallback; +import com.jiajiakang.demo.feign.fallback.FeignTestFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java index f2012f965..171873ac1 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java @@ -1,7 +1,7 @@ -package com.ruoyi.demo.feign.fallback; +package com.jiajiakang.demo.feign.fallback; -import com.ruoyi.demo.feign.FeignTestService; +import com.jiajiakang.demo.feign.FeignTestService; public class FeignTestFallback implements FeignTestService { diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/package-info.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/package-info.java index 47983a0e1..76ac93ac7 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/package-info.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/package-info.java @@ -1 +1 @@ -package com.ruoyi.demo.feign.fallback; \ No newline at end of file +package com.jiajiakang.demo.feign.fallback; \ No newline at end of file diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/package-info.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/package-info.java index 91e4b4a5b..ed3124300 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/package-info.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/package-info.java @@ -1 +1 @@ -package com.ruoyi.demo.feign; \ No newline at end of file +package com.jiajiakang.demo.feign; \ No newline at end of file diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/package-info.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/package-info.java index 7243da910..76910e5f0 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/package-info.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/package-info.java @@ -1 +1 @@ -package com.ruoyi.demo.mapper; \ No newline at end of file +package com.jiajiakang.demo.mapper; \ No newline at end of file diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/package-info.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/package-info.java index 6060849c9..0d704372b 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/package-info.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/package-info.java @@ -1 +1 @@ -package com.ruoyi.demo.service.impl; \ No newline at end of file +package com.jiajiakang.demo.service.impl; \ No newline at end of file diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/package-info.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/package-info.java index d6a44c989..30e480eea 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/package-info.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/package-info.java @@ -1 +1 @@ -package com.ruoyi.demo.service; \ No newline at end of file +package com.jiajiakang.demo.service; \ No newline at end of file