diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java index 4b5557a97..7bbca7e21 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java @@ -41,10 +41,13 @@ public interface CacheNames { String SYS_CLIENT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_client#30d"; /** - * 客户端 + * saas客户端 */ String SYS_SAAS_CLIENT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_saas_client#30d"; - + /** + * saas部门 + */ + String SYS_SAAS_DEPT = "sys_saas_dept#30d"; /** * 用户账户 */ diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java index 250070866..1f138b13f 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java @@ -165,7 +165,7 @@ public class SsoServerController { } // 已登录情况下,构建 redirectUrl redirect = SaFoxUtil.decoderUrl(redirect); - if (SaSsoConsts.MODE_SIMPLE.equals(mode)) { + if (SaSsoConsts.MODE_SIMPLE.equals(mode)) { // 模式一 SaSsoUtil.checkRedirectUrl(redirect); return SaResult.data(redirect); diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/properties/UserPasswordProperties.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/properties/UserPasswordProperties.java index 0f5e33279..da5b6d779 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/properties/UserPasswordProperties.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/properties/UserPasswordProperties.java @@ -17,13 +17,13 @@ import org.springframework.context.annotation.Configuration; public class UserPasswordProperties { /** - * 密码最大错误次数 + * 密码最大错误次数,默认5次 */ - private Integer maxRetryCount; + private Integer maxRetryCount = 5; /** * 密码锁定时间(默认10分钟) */ - private Integer lockTime; + private Integer lockTime = 10; } diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml b/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml index dd913088e..4527109b5 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml +++ b/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml @@ -31,6 +31,10 @@ spring: # Sa-Token配置 sa-token: + # 允许动态设置 token 有效期 + dynamic-active-timeout: true + # 允许从 请求参数 读取 token + is-read-body: true sign: # API 接口签名秘钥 (随便乱摁几个字母即可) secret-key: kQwIOrYbtXmSDkwEiFngrKidMcdrgKor diff --git a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/controller/system/SysSaasConfigController.java b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/controller/system/SysSaasConfigController.java index 1781117ef..6ecc1d66f 100644 --- a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/controller/system/SysSaasConfigController.java +++ b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/controller/system/SysSaasConfigController.java @@ -1,137 +1,137 @@ -package org.dromara.system.saas.controller.system; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import org.dromara.common.core.domain.R; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.web.core.BaseController; -import org.dromara.system.saas.domain.bo.SysSaasConfigBo; -import org.dromara.system.saas.domain.vo.SysSaasConfigVo; -import org.dromara.system.saas.service.ISysSaasConfigService; -import jakarta.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 参数配置 信息操作处理 - * - * @author Lion Li - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/system/saasConfig") -public class SysSaasConfigController extends BaseController { - - private final ISysSaasConfigService configService; - - /** - * 获取参数配置列表 - */ - @SaCheckPermission("system:config:list") - @GetMapping("/list") - public TableDataInfo list(SysSaasConfigBo config, PageQuery pageQuery) { - return configService.selectPageConfigList(config, pageQuery); - } - - /** - * 导出参数配置列表 - */ - @Log(title = "参数管理", businessType = BusinessType.EXPORT) - @SaCheckPermission("system:config:export") - @PostMapping("/export") - public void export(SysSaasConfigBo config, HttpServletResponse response) { - List list = configService.selectConfigList(config); - ExcelUtil.exportExcel(list, "参数数据", SysSaasConfigVo.class, response); - } - - /** - * 根据参数编号获取详细信息 - * - * @param configId 参数ID - */ - @SaCheckPermission("system:config:query") - @GetMapping(value = "/{configId}") - public R getInfo(@PathVariable Long configId) { - return R.ok(configService.selectConfigById(configId)); - } - - /** - * 根据参数键名查询参数值 - * - * @param configKey 参数Key - */ - @GetMapping(value = "/configKey/{configKey}") - public R getConfigKey(@PathVariable String configKey) { - return R.ok("操作成功", configService.selectConfigByKey(configKey)); - } - - /** - * 新增参数配置 - */ - @SaCheckPermission("system:config:add") - @Log(title = "参数管理", businessType = BusinessType.INSERT) - @PostMapping - public R add(@Validated @RequestBody SysSaasConfigBo config) { - if (!configService.checkConfigKeyUnique(config)) { - return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); - } - configService.insertConfig(config); - return R.ok(); - } - - /** - * 修改参数配置 - */ - @SaCheckPermission("system:config:edit") - @Log(title = "参数管理", businessType = BusinessType.UPDATE) - @PutMapping - public R edit(@Validated @RequestBody SysSaasConfigBo config) { - if (!configService.checkConfigKeyUnique(config)) { - return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); - } - configService.updateConfig(config); - return R.ok(); - } - - /** - * 根据参数键名修改参数配置 - */ - @SaCheckPermission("system:config:edit") - @Log(title = "参数管理", businessType = BusinessType.UPDATE) - @PutMapping("/updateByKey") - public R updateByKey(@RequestBody SysSaasConfigBo config) { - configService.updateConfig(config); - return R.ok(); - } - - /** - * 删除参数配置 - * - * @param configIds 参数ID串 - */ - @SaCheckPermission("system:config:remove") - @Log(title = "参数管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{configIds}") - public R remove(@PathVariable Long[] configIds) { - configService.deleteConfigByIds(configIds); - return R.ok(); - } - - /** - * 刷新参数缓存 - */ - @SaCheckPermission("system:config:remove") - @Log(title = "参数管理", businessType = BusinessType.CLEAN) - @DeleteMapping("/refreshCache") - public R refreshCache() { - configService.resetConfigCache(); - return R.ok(); - } -} +//package org.dromara.system.saas.controller.system; +// +//import cn.dev33.satoken.annotation.SaCheckPermission; +//import org.dromara.common.core.domain.R; +//import org.dromara.common.excel.utils.ExcelUtil; +//import org.dromara.common.log.annotation.Log; +//import org.dromara.common.log.enums.BusinessType; +//import org.dromara.common.mybatis.core.page.PageQuery; +//import org.dromara.common.mybatis.core.page.TableDataInfo; +//import org.dromara.common.web.core.BaseController; +//import org.dromara.system.saas.domain.bo.SysSaasConfigBo; +//import org.dromara.system.saas.domain.vo.SysSaasConfigVo; +//import org.dromara.system.saas.service.ISysSaasConfigService; +//import jakarta.servlet.http.HttpServletResponse; +//import lombok.RequiredArgsConstructor; +//import org.springframework.validation.annotation.Validated; +//import org.springframework.web.bind.annotation.*; +// +//import java.util.List; +// +///** +// * 参数配置 信息操作处理 +// * +// * @author Lion Li +// */ +//@Validated +//@RequiredArgsConstructor +//@RestController +//@RequestMapping("/system/saasConfig") +//public class SysSaasConfigController extends BaseController { +// +// private final ISysSaasConfigService configService; +// +// /** +// * 获取参数配置列表 +// */ +// @SaCheckPermission("system:config:list") +// @GetMapping("/list") +// public TableDataInfo list(SysSaasConfigBo config, PageQuery pageQuery) { +// return configService.selectPageConfigList(config, pageQuery); +// } +// +// /** +// * 导出参数配置列表 +// */ +// @Log(title = "参数管理", businessType = BusinessType.EXPORT) +// @SaCheckPermission("system:config:export") +// @PostMapping("/export") +// public void export(SysSaasConfigBo config, HttpServletResponse response) { +// List list = configService.selectConfigList(config); +// ExcelUtil.exportExcel(list, "参数数据", SysSaasConfigVo.class, response); +// } +// +// /** +// * 根据参数编号获取详细信息 +// * +// * @param configId 参数ID +// */ +// @SaCheckPermission("system:config:query") +// @GetMapping(value = "/{configId}") +// public R getInfo(@PathVariable Long configId) { +// return R.ok(configService.selectConfigById(configId)); +// } +// +// /** +// * 根据参数键名查询参数值 +// * +// * @param configKey 参数Key +// */ +// @GetMapping(value = "/configKey/{configKey}") +// public R getConfigKey(@PathVariable String configKey) { +// return R.ok("操作成功", configService.selectConfigByKey(configKey)); +// } +// +// /** +// * 新增参数配置 +// */ +// @SaCheckPermission("system:config:add") +// @Log(title = "参数管理", businessType = BusinessType.INSERT) +// @PostMapping +// public R add(@Validated @RequestBody SysSaasConfigBo config) { +// if (!configService.checkConfigKeyUnique(config)) { +// return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); +// } +// configService.insertConfig(config); +// return R.ok(); +// } +// +// /** +// * 修改参数配置 +// */ +// @SaCheckPermission("system:config:edit") +// @Log(title = "参数管理", businessType = BusinessType.UPDATE) +// @PutMapping +// public R edit(@Validated @RequestBody SysSaasConfigBo config) { +// if (!configService.checkConfigKeyUnique(config)) { +// return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); +// } +// configService.updateConfig(config); +// return R.ok(); +// } +// +// /** +// * 根据参数键名修改参数配置 +// */ +// @SaCheckPermission("system:config:edit") +// @Log(title = "参数管理", businessType = BusinessType.UPDATE) +// @PutMapping("/updateByKey") +// public R updateByKey(@RequestBody SysSaasConfigBo config) { +// configService.updateConfig(config); +// return R.ok(); +// } +// +// /** +// * 删除参数配置 +// * +// * @param configIds 参数ID串 +// */ +// @SaCheckPermission("system:config:remove") +// @Log(title = "参数管理", businessType = BusinessType.DELETE) +// @DeleteMapping("/{configIds}") +// public R remove(@PathVariable Long[] configIds) { +// configService.deleteConfigByIds(configIds); +// return R.ok(); +// } +// +// /** +// * 刷新参数缓存 +// */ +// @SaCheckPermission("system:config:remove") +// @Log(title = "参数管理", businessType = BusinessType.CLEAN) +// @DeleteMapping("/refreshCache") +// public R refreshCache() { +// configService.resetConfigCache(); +// return R.ok(); +// } +//} diff --git a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/SysSaasClient.java b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/SysSaasClient.java index 886b7f663..e3ce669c2 100644 --- a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/SysSaasClient.java +++ b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/SysSaasClient.java @@ -8,14 +8,14 @@ import lombok.EqualsAndHashCode; import java.io.Serial; /** - * 授权管理对象 sys2_client + * 授权管理对象 sys_saas_client * * @author Michelle.Chung * @date 2023-05-15 */ @Data @EqualsAndHashCode(callSuper = true) -@TableName("sys2_client") +@TableName("sys_saas_client") public class SysSaasClient extends BaseEntity { @Serial diff --git a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasClientBo.java b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasClientBo.java index ae4232be2..d0015a5f4 100644 --- a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasClientBo.java +++ b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasClientBo.java @@ -12,7 +12,7 @@ import jakarta.validation.constraints.*; import java.util.List; /** - * 授权管理业务对象 sys2_client + * 授权管理业务对象 sys_saas_client * * @author Michelle.Chung * @date 2023-05-15 diff --git a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasUserBo.java b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasUserBo.java index f4bd09bc2..dfac816dd 100644 --- a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasUserBo.java +++ b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/bo/SysSaasUserBo.java @@ -24,11 +24,6 @@ import org.dromara.system.saas.domain.SysSaasUser; @AutoMapper(target = SysSaasUser.class, reverseConvertGenerate = false) public class SysSaasUserBo extends BaseEntity { - /** - * 应用id - */ - @NotBlank(message = "不能为空") - private Long applicationId; /** * 用户ID diff --git a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/vo/SysSaasClientVo.java b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/vo/SysSaasClientVo.java index cf51a61b4..1e28e50f0 100644 --- a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/vo/SysSaasClientVo.java +++ b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/domain/vo/SysSaasClientVo.java @@ -14,7 +14,7 @@ import java.util.List; /** - * 授权管理视图对象 sys2_client + * 授权管理视图对象 sys_saas_client * * @author Michelle.Chung * @date 2023-05-15 diff --git a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/service/impl/SysSaasDeptServiceImpl.java b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/service/impl/SysSaasDeptServiceImpl.java index 62b1bf8ae..c7cd61541 100644 --- a/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/service/impl/SysSaasDeptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system-saas/src/main/java/org/dromara/system/saas/service/impl/SysSaasDeptServiceImpl.java @@ -127,7 +127,7 @@ public class SysSaasDeptServiceImpl implements ISysSaasDeptService, SaasDeptServ * @param deptId 部门ID * @return 部门信息 */ - @Cacheable(cacheNames = CacheNames.SYS_DEPT, key = "#deptId") + @Cacheable(cacheNames = CacheNames.SYS_SAAS_DEPT, key = "#deptId") @Override public SysSaasDeptVo selectDeptById(Long deptId) { SysSaasDeptVo dept = baseMapper.selectVoById(deptId); @@ -260,7 +260,7 @@ public class SysSaasDeptServiceImpl implements ISysSaasDeptService, SaasDeptServ * @param bo 部门信息 * @return 结果 */ - @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#bo.deptId") + @CacheEvict(cacheNames = CacheNames.SYS_SAAS_DEPT, key = "#bo.deptId") @Override public int updateDept(SysSaasDeptBo bo) { SysSaasDept dept = MapstructUtils.convert(bo, SysSaasDept.class); @@ -317,7 +317,7 @@ public class SysSaasDeptServiceImpl implements ISysSaasDeptService, SaasDeptServ } if (CollUtil.isNotEmpty(list)) { if (baseMapper.updateBatchById(list)) { - list.forEach(dept -> CacheUtils.evict(CacheNames.SYS_DEPT, dept.getDeptId())); + list.forEach(dept -> CacheUtils.evict(CacheNames.SYS_SAAS_DEPT, dept.getDeptId())); } } } @@ -328,7 +328,7 @@ public class SysSaasDeptServiceImpl implements ISysSaasDeptService, SaasDeptServ * @param deptId 部门ID * @return 结果 */ - @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#deptId") + @CacheEvict(cacheNames = CacheNames.SYS_SAAS_DEPT, key = "#deptId") @Override public int deleteDeptById(Long deptId) { return baseMapper.deleteById(deptId); diff --git a/script/sql/tenant/ry_vue_5.X.sql b/script/sql/tenant/ry_vue_5.X.sql index 936d0baf8..55bd51cf2 100644 --- a/script/sql/tenant/ry_vue_5.X.sql +++ b/script/sql/tenant/ry_vue_5.X.sql @@ -819,7 +819,7 @@ insert into sys2_oss_config values (5, '000000', 'image', 'ruoyi', ' -- ---------------------------- -- 系统授权表 -- ---------------------------- -create table sys2_client ( +create table sys_saas_client ( id bigint(20) not null comment 'id', client_id varchar(64) default null comment '客户端id', client_key varchar(32) default null comment '客户端key', @@ -837,6 +837,3 @@ create table sys2_client ( update_time datetime default null comment '更新时间', primary key (id) ) engine=innodb comment='系统授权表'; - -insert into sys2_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate()); -insert into sys2_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate()); \ No newline at end of file