Commit 6c6babb4c3b76cfaec8a765fb57f3890d23fc09d
1 parent
abf5fae9
reactor:yudao-common 增加 biz 包,将 framework 依赖的 api 统一迁移,方便后续 yudao-framework 独立仓库
Showing
84 changed files
with
309 additions
and
334 deletions
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiAccessLogApi.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/infra/logger/ApiAccessLogCommonApi.java
| 1 | -package cn.iocoder.yudao.module.infra.api.logger; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; | |
| 1 | +package cn.iocoder.yudao.framework.common.biz.infra.logger; | |
| 4 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; | |
| 5 | 4 | import jakarta.validation.Valid; |
| 6 | 5 | import org.springframework.scheduling.annotation.Async; |
| 7 | 6 | |
| ... | ... | @@ -10,7 +9,7 @@ import org.springframework.scheduling.annotation.Async; |
| 10 | 9 | * |
| 11 | 10 | * @author 芋道源码 |
| 12 | 11 | */ |
| 13 | -public interface ApiAccessLogApi { | |
| 12 | +public interface ApiAccessLogCommonApi { | |
| 14 | 13 | |
| 15 | 14 | /** |
| 16 | 15 | * 创建 API 访问日志 | ... | ... |
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiErrorLogApi.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/infra/logger/ApiErrorLogCommonApi.java
| 1 | -package cn.iocoder.yudao.module.infra.api.logger; | |
| 1 | +package cn.iocoder.yudao.framework.common.biz.infra.logger; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO; | |
| 4 | 4 | |
| 5 | 5 | import jakarta.validation.Valid; |
| 6 | 6 | import org.springframework.scheduling.annotation.Async; |
| ... | ... | @@ -10,7 +10,7 @@ import org.springframework.scheduling.annotation.Async; |
| 10 | 10 | * |
| 11 | 11 | * @author 芋道源码 |
| 12 | 12 | */ |
| 13 | -public interface ApiErrorLogApi { | |
| 13 | +public interface ApiErrorLogCommonApi { | |
| 14 | 14 | |
| 15 | 15 | /** |
| 16 | 16 | * 创建 API 错误日志 | ... | ... |
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/infra/logger/dto/ApiAccessLogCreateReqDTO.java
| 1 | -package cn.iocoder.yudao.module.infra.api.logger.dto; | |
| 1 | +package cn.iocoder.yudao.framework.common.biz.infra.logger.dto; | |
| 2 | 2 | |
| 3 | +import jakarta.validation.constraints.NotNull; | |
| 3 | 4 | import lombok.Data; |
| 4 | 5 | |
| 5 | -import jakarta.validation.constraints.NotNull; | |
| 6 | 6 | import java.time.LocalDateTime; |
| 7 | 7 | |
| 8 | 8 | /** | ... | ... |
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiErrorLogCreateReqDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/infra/logger/dto/ApiErrorLogCreateReqDTO.java
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/infra/package-info.java
0 → 100644
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/package-info.java
0 → 100644
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/dict/DictDataCommonApi.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.common.biz.system.dict; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.dict.dto.DictDataRespDTO; | |
| 4 | + | |
| 5 | +import java.util.List; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 字典数据 API 接口 | |
| 9 | + * | |
| 10 | + * @author 芋道源码 | |
| 11 | + */ | |
| 12 | +public interface DictDataCommonApi { | |
| 13 | + | |
| 14 | + /** | |
| 15 | + * 获得指定字典类型的字典数据列表 | |
| 16 | + * | |
| 17 | + * @param dictType 字典类型 | |
| 18 | + * @return 字典数据列表 | |
| 19 | + */ | |
| 20 | + List<DictDataRespDTO> getDictDataList(String dictType); | |
| 21 | + | |
| 22 | +} | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/dto/DictDataRespDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/dict/dto/DictDataRespDTO.java
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/logger/OperateLogCommonApi.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.common.biz.system.logger; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO; | |
| 4 | +import jakarta.validation.Valid; | |
| 5 | +import org.springframework.scheduling.annotation.Async; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 操作日志 API 接口 | |
| 9 | + * | |
| 10 | + * @author 芋道源码 | |
| 11 | + */ | |
| 12 | +public interface OperateLogCommonApi { | |
| 13 | + | |
| 14 | + /** | |
| 15 | + * 创建操作日志 | |
| 16 | + * | |
| 17 | + * @param createReqDTO 请求 | |
| 18 | + */ | |
| 19 | + void createOperateLog(@Valid OperateLogCreateReqDTO createReqDTO); | |
| 20 | + | |
| 21 | + /** | |
| 22 | + * 【异步】创建操作日志 | |
| 23 | + * | |
| 24 | + * @param createReqDTO 请求 | |
| 25 | + */ | |
| 26 | + @Async | |
| 27 | + default void createOperateLogAsync(OperateLogCreateReqDTO createReqDTO) { | |
| 28 | + createOperateLog(createReqDTO); | |
| 29 | + } | |
| 30 | + | |
| 31 | +} | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/OperateLogCreateReqDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/logger/dto/OperateLogCreateReqDTO.java
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApi.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/oauth2/OAuth2TokenCommonApi.java
| 1 | -package cn.iocoder.yudao.module.system.api.oauth2; | |
| 1 | +package cn.iocoder.yudao.framework.common.biz.system.oauth2; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 4 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCreateReqDTO; | |
| 5 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCreateReqDTO; | |
| 5 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 6 | 6 | |
| 7 | 7 | import jakarta.validation.Valid; |
| 8 | 8 | |
| ... | ... | @@ -11,7 +11,7 @@ import jakarta.validation.Valid; |
| 11 | 11 | * |
| 12 | 12 | * @author 芋道源码 |
| 13 | 13 | */ |
| 14 | -public interface OAuth2TokenApi { | |
| 14 | +public interface OAuth2TokenCommonApi { | |
| 15 | 15 | |
| 16 | 16 | /** |
| 17 | 17 | * 创建访问令牌 | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/dto/OAuth2AccessTokenCheckRespDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/oauth2/dto/OAuth2AccessTokenCheckRespDTO.java
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/dto/OAuth2AccessTokenCreateReqDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/oauth2/dto/OAuth2AccessTokenCreateReqDTO.java
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/dto/OAuth2AccessTokenRespDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/oauth2/dto/OAuth2AccessTokenRespDTO.java
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/package-info.java
0 → 100644
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/permission/PermissionCommonApi.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.common.biz.system.permission; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 权限 API 接口 | |
| 7 | + * | |
| 8 | + * @author 芋道源码 | |
| 9 | + */ | |
| 10 | +public interface PermissionCommonApi { | |
| 11 | + | |
| 12 | + /** | |
| 13 | + * 判断是否有权限,任一一个即可 | |
| 14 | + * | |
| 15 | + * @param userId 用户编号 | |
| 16 | + * @param permissions 权限 | |
| 17 | + * @return 是否 | |
| 18 | + */ | |
| 19 | + boolean hasAnyPermissions(Long userId, String... permissions); | |
| 20 | + | |
| 21 | + /** | |
| 22 | + * 判断是否有角色,任一一个即可 | |
| 23 | + * | |
| 24 | + * @param userId 用户编号 | |
| 25 | + * @param roles 角色数组 | |
| 26 | + * @return 是否 | |
| 27 | + */ | |
| 28 | + boolean hasAnyRoles(Long userId, String... roles); | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 获得登陆用户的部门数据权限 | |
| 32 | + * | |
| 33 | + * @param userId 用户编号 | |
| 34 | + * @return 部门数据权限 | |
| 35 | + */ | |
| 36 | + DeptDataPermissionRespDTO getDeptDataPermission(Long userId); | |
| 37 | + | |
| 38 | +} | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/DeptDataPermissionRespDTO.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/permission/dto/DeptDataPermissionRespDTO.java
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApi.java renamed to yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/biz/system/tenant/TenantCommonApi.java
| 1 | -package cn.iocoder.yudao.module.system.api.tenant; | |
| 1 | +package cn.iocoder.yudao.framework.common.biz.system.tenant; | |
| 2 | 2 | |
| 3 | 3 | import java.util.List; |
| 4 | 4 | |
| ... | ... | @@ -7,7 +7,7 @@ import java.util.List; |
| 7 | 7 | * |
| 8 | 8 | * @author 芋道源码 |
| 9 | 9 | */ |
| 10 | -public interface TenantApi { | |
| 10 | +public interface TenantCommonApi { | |
| 11 | 11 | |
| 12 | 12 | /** |
| 13 | 13 | * 获得所有租户 | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-data-permission/pom.xml
| ... | ... | @@ -34,13 +34,6 @@ |
| 34 | 34 | <artifactId>yudao-spring-boot-starter-mybatis</artifactId> |
| 35 | 35 | </dependency> |
| 36 | 36 | |
| 37 | - <!-- 业务组件 --> | |
| 38 | - <dependency> | |
| 39 | - <groupId>cn.iocoder.boot</groupId> | |
| 40 | - <artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行数据权限的获取 --> | |
| 41 | - <version>${revision}</version> | |
| 42 | - </dependency> | |
| 43 | - | |
| 44 | 37 | <!-- Test 测试相关 --> |
| 45 | 38 | <dependency> |
| 46 | 39 | <groupId>cn.iocoder.boot</groupId> | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/config/YudaoDeptDataPermissionAutoConfiguration.java
| 1 | 1 | package cn.iocoder.yudao.framework.datapermission.config; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.permission.PermissionCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRule; |
| 4 | 5 | import cn.iocoder.yudao.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer; |
| 5 | 6 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 6 | -import cn.iocoder.yudao.module.system.api.permission.PermissionApi; | |
| 7 | 7 | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| 8 | 8 | import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; |
| 9 | 9 | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; |
| ... | ... | @@ -18,11 +18,11 @@ import java.util.List; |
| 18 | 18 | */ |
| 19 | 19 | @AutoConfiguration |
| 20 | 20 | @ConditionalOnClass(LoginUser.class) |
| 21 | -@ConditionalOnBean(value = {PermissionApi.class, DeptDataPermissionRuleCustomizer.class}) | |
| 21 | +@ConditionalOnBean(value = {PermissionCommonApi.class, DeptDataPermissionRuleCustomizer.class}) | |
| 22 | 22 | public class YudaoDeptDataPermissionAutoConfiguration { |
| 23 | 23 | |
| 24 | 24 | @Bean |
| 25 | - public DeptDataPermissionRule deptDataPermissionRule(PermissionApi permissionApi, | |
| 25 | + public DeptDataPermissionRule deptDataPermissionRule(PermissionCommonApi permissionApi, | |
| 26 | 26 | List<DeptDataPermissionRuleCustomizer> customizers) { |
| 27 | 27 | // 创建 DeptDataPermissionRule 对象 |
| 28 | 28 | DeptDataPermissionRule rule = new DeptDataPermissionRule(permissionApi); | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java
| ... | ... | @@ -3,6 +3,8 @@ package cn.iocoder.yudao.framework.datapermission.core.rule.dept; |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ObjectUtil; |
| 5 | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | +import cn.iocoder.yudao.framework.common.biz.system.permission.PermissionCommonApi; | |
| 7 | +import cn.iocoder.yudao.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; | |
| 6 | 8 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 7 | 9 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 8 | 10 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| ... | ... | @@ -11,12 +13,13 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 11 | 13 | import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; |
| 12 | 14 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 13 | 15 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 14 | -import cn.iocoder.yudao.module.system.api.permission.PermissionApi; | |
| 15 | -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; | |
| 16 | 16 | import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; |
| 17 | 17 | import lombok.AllArgsConstructor; |
| 18 | 18 | import lombok.extern.slf4j.Slf4j; |
| 19 | -import net.sf.jsqlparser.expression.*; | |
| 19 | +import net.sf.jsqlparser.expression.Alias; | |
| 20 | +import net.sf.jsqlparser.expression.Expression; | |
| 21 | +import net.sf.jsqlparser.expression.LongValue; | |
| 22 | +import net.sf.jsqlparser.expression.NullValue; | |
| 20 | 23 | import net.sf.jsqlparser.expression.operators.conditional.OrExpression; |
| 21 | 24 | import net.sf.jsqlparser.expression.operators.relational.EqualsTo; |
| 22 | 25 | import net.sf.jsqlparser.expression.operators.relational.ExpressionList; |
| ... | ... | @@ -59,7 +62,7 @@ public class DeptDataPermissionRule implements DataPermissionRule { |
| 59 | 62 | |
| 60 | 63 | static final Expression EXPRESSION_NULL = new NullValue(); |
| 61 | 64 | |
| 62 | - private final PermissionApi permissionApi; | |
| 65 | + private final PermissionCommonApi permissionApi; | |
| 63 | 66 | |
| 64 | 67 | /** |
| 65 | 68 | * 基于部门的表字段配置 | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/test/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRuleTest.java
| ... | ... | @@ -2,13 +2,13 @@ package cn.iocoder.yudao.framework.datapermission.core.rule.dept; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ReflectUtil; |
| 5 | +import cn.iocoder.yudao.framework.common.biz.system.permission.PermissionCommonApi; | |
| 6 | +import cn.iocoder.yudao.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; | |
| 5 | 7 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 6 | 8 | import cn.iocoder.yudao.framework.common.util.collection.SetUtils; |
| 7 | 9 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 8 | 10 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 9 | 11 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| 10 | -import cn.iocoder.yudao.module.system.api.permission.PermissionApi; | |
| 11 | -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; | |
| 12 | 12 | import net.sf.jsqlparser.expression.Alias; |
| 13 | 13 | import net.sf.jsqlparser.expression.Expression; |
| 14 | 14 | import org.junit.jupiter.api.BeforeEach; |
| ... | ... | @@ -39,7 +39,7 @@ class DeptDataPermissionRuleTest extends BaseMockitoUnitTest { |
| 39 | 39 | private DeptDataPermissionRule rule; |
| 40 | 40 | |
| 41 | 41 | @Mock |
| 42 | - private PermissionApi permissionApi; | |
| 42 | + private PermissionCommonApi permissionApi; | |
| 43 | 43 | |
| 44 | 44 | @BeforeEach |
| 45 | 45 | @SuppressWarnings("unchecked") | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/config/YudaoTenantAutoConfiguration.java
| 1 | 1 | package cn.iocoder.yudao.framework.tenant.config; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.tenant.TenantCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum; |
| 4 | 5 | import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; |
| 5 | 6 | import cn.iocoder.yudao.framework.redis.config.YudaoCacheProperties; |
| ... | ... | @@ -19,7 +20,6 @@ import cn.iocoder.yudao.framework.tenant.core.web.TenantContextWebFilter; |
| 19 | 20 | import cn.iocoder.yudao.framework.tenant.core.web.TenantVisitContextInterceptor; |
| 20 | 21 | import cn.iocoder.yudao.framework.web.config.WebProperties; |
| 21 | 22 | import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; |
| 22 | -import cn.iocoder.yudao.module.system.api.tenant.TenantApi; | |
| 23 | 23 | import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; |
| 24 | 24 | import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; |
| 25 | 25 | import jakarta.annotation.Resource; |
| ... | ... | @@ -58,7 +58,7 @@ public class YudaoTenantAutoConfiguration { |
| 58 | 58 | private ApplicationContext applicationContext; |
| 59 | 59 | |
| 60 | 60 | @Bean |
| 61 | - public TenantFrameworkService tenantFrameworkService(TenantApi tenantApi) { | |
| 61 | + public TenantFrameworkService tenantFrameworkService(TenantCommonApi tenantApi) { | |
| 62 | 62 | return new TenantFrameworkServiceImpl(tenantApi); |
| 63 | 63 | } |
| 64 | 64 | ... | ... |
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/service/TenantFrameworkServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.framework.tenant.core.service; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.tenant.TenantCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.util.cache.CacheUtils; |
| 5 | -import cn.iocoder.yudao.module.system.api.tenant.TenantApi; | |
| 6 | 6 | import com.google.common.cache.CacheLoader; |
| 7 | 7 | import com.google.common.cache.LoadingCache; |
| 8 | 8 | import lombok.RequiredArgsConstructor; |
| ... | ... | @@ -21,7 +21,7 @@ public class TenantFrameworkServiceImpl implements TenantFrameworkService { |
| 21 | 21 | |
| 22 | 22 | private static final ServiceException SERVICE_EXCEPTION_NULL = new ServiceException(); |
| 23 | 23 | |
| 24 | - private final TenantApi tenantApi; | |
| 24 | + private final TenantCommonApi tenantApi; | |
| 25 | 25 | |
| 26 | 26 | /** |
| 27 | 27 | * 针对 {@link #getTenantIds()} 的缓存 | ... | ... |
yudao-framework/yudao-spring-boot-starter-excel/pom.xml
| ... | ... | @@ -27,13 +27,6 @@ |
| 27 | 27 | <artifactId>spring-boot-starter</artifactId> |
| 28 | 28 | </dependency> |
| 29 | 29 | |
| 30 | - <!-- 业务组件 --> | |
| 31 | - <dependency> | |
| 32 | - <groupId>cn.iocoder.boot</groupId> | |
| 33 | - <artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行 Dict 的查询 --> | |
| 34 | - <version>${revision}</version> | |
| 35 | - </dependency> | |
| 36 | - | |
| 37 | 30 | <!-- Web 相关 --> |
| 38 | 31 | <dependency> |
| 39 | 32 | <groupId>org.springframework</groupId> | ... | ... |
yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/dict/config/YudaoDictAutoConfiguration.java
| 1 | 1 | package cn.iocoder.yudao.framework.dict.config; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.dict.DictDataCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils; |
| 4 | -import cn.iocoder.yudao.module.system.api.dict.DictDataApi; | |
| 5 | 5 | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| 6 | 6 | import org.springframework.context.annotation.Bean; |
| 7 | 7 | |
| ... | ... | @@ -10,7 +10,7 @@ public class YudaoDictAutoConfiguration { |
| 10 | 10 | |
| 11 | 11 | @Bean |
| 12 | 12 | @SuppressWarnings("InstantiationOfUtilityClass") |
| 13 | - public DictFrameworkUtils dictUtils(DictDataApi dictDataApi) { | |
| 13 | + public DictFrameworkUtils dictUtils(DictDataCommonApi dictDataApi) { | |
| 14 | 14 | DictFrameworkUtils.init(dictDataApi); |
| 15 | 15 | return new DictFrameworkUtils(); |
| 16 | 16 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/dict/core/DictFrameworkUtils.java
| 1 | 1 | package cn.iocoder.yudao.framework.dict.core; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.util.ObjectUtil; | |
| 4 | -import cn.iocoder.yudao.framework.common.core.KeyValue; | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.dict.DictDataCommonApi; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.cache.CacheUtils; |
| 6 | -import cn.iocoder.yudao.module.system.api.dict.DictDataApi; | |
| 7 | -import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO; | |
| 6 | +import cn.iocoder.yudao.framework.common.biz.system.dict.dto.DictDataRespDTO; | |
| 8 | 7 | import com.google.common.cache.CacheLoader; |
| 9 | 8 | import com.google.common.cache.LoadingCache; |
| 10 | 9 | import lombok.SneakyThrows; |
| ... | ... | @@ -12,6 +11,9 @@ import lombok.extern.slf4j.Slf4j; |
| 12 | 11 | |
| 13 | 12 | import java.time.Duration; |
| 14 | 13 | import java.util.List; |
| 14 | +import java.util.Objects; | |
| 15 | + | |
| 16 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | |
| 15 | 17 | |
| 16 | 18 | /** |
| 17 | 19 | * 字典工具类 |
| ... | ... | @@ -21,76 +23,57 @@ import java.util.List; |
| 21 | 23 | @Slf4j |
| 22 | 24 | public class DictFrameworkUtils { |
| 23 | 25 | |
| 24 | - private static DictDataApi dictDataApi; | |
| 25 | - | |
| 26 | - private static final DictDataRespDTO DICT_DATA_NULL = new DictDataRespDTO(); | |
| 27 | - | |
| 28 | - // TODO @puhui999:GET_DICT_DATA_CACHE、GET_DICT_DATA_LIST_CACHE、PARSE_DICT_DATA_CACHE 这 3 个缓存是有点重叠,可以思考下,有没可能减少 1 个。微信讨论好私聊,再具体改哈 | |
| 29 | - /** | |
| 30 | - * 针对 {@link #getDictDataLabel(String, String)} 的缓存 | |
| 31 | - */ | |
| 32 | - private static final LoadingCache<KeyValue<String, String>, DictDataRespDTO> GET_DICT_DATA_CACHE = CacheUtils.buildAsyncReloadingCache( | |
| 33 | - Duration.ofMinutes(1L), // 过期时间 1 分钟 | |
| 34 | - new CacheLoader<KeyValue<String, String>, DictDataRespDTO>() { | |
| 35 | - | |
| 36 | - @Override | |
| 37 | - public DictDataRespDTO load(KeyValue<String, String> key) { | |
| 38 | - return ObjectUtil.defaultIfNull(dictDataApi.getDictData(key.getKey(), key.getValue()), DICT_DATA_NULL); | |
| 39 | - } | |
| 40 | - | |
| 41 | - }); | |
| 42 | - | |
| 43 | - /** | |
| 44 | - * 针对 {@link #getDictDataLabelList(String)} 的缓存 | |
| 45 | - */ | |
| 46 | - private static final LoadingCache<String, List<String>> GET_DICT_DATA_LIST_CACHE = CacheUtils.buildAsyncReloadingCache( | |
| 47 | - Duration.ofMinutes(1L), // 过期时间 1 分钟 | |
| 48 | - new CacheLoader<String, List<String>>() { | |
| 49 | - | |
| 50 | - @Override | |
| 51 | - public List<String> load(String dictType) { | |
| 52 | - return dictDataApi.getDictDataLabelList(dictType); | |
| 53 | - } | |
| 54 | - | |
| 55 | - }); | |
| 26 | + private static DictDataCommonApi dictDataApi; | |
| 56 | 27 | |
| 57 | 28 | /** |
| 58 | - * 针对 {@link #parseDictDataValue(String, String)} 的缓存 | |
| 29 | + * 针对 dictType 的字段数据缓存 | |
| 59 | 30 | */ |
| 60 | - private static final LoadingCache<KeyValue<String, String>, DictDataRespDTO> PARSE_DICT_DATA_CACHE = CacheUtils.buildAsyncReloadingCache( | |
| 31 | + private static final LoadingCache<String, List<DictDataRespDTO>> GET_DICT_DATA_CACHE = CacheUtils.buildAsyncReloadingCache( | |
| 61 | 32 | Duration.ofMinutes(1L), // 过期时间 1 分钟 |
| 62 | - new CacheLoader<KeyValue<String, String>, DictDataRespDTO>() { | |
| 33 | + new CacheLoader<String, List<DictDataRespDTO>>() { | |
| 63 | 34 | |
| 64 | 35 | @Override |
| 65 | - public DictDataRespDTO load(KeyValue<String, String> key) { | |
| 66 | - return ObjectUtil.defaultIfNull(dictDataApi.parseDictData(key.getKey(), key.getValue()), DICT_DATA_NULL); | |
| 36 | + public List<DictDataRespDTO> load(String dictType) { | |
| 37 | + return dictDataApi.getDictDataList(dictType); | |
| 67 | 38 | } |
| 68 | 39 | |
| 69 | 40 | }); |
| 70 | 41 | |
| 71 | - public static void init(DictDataApi dictDataApi) { | |
| 42 | + public static void init(DictDataCommonApi dictDataApi) { | |
| 72 | 43 | DictFrameworkUtils.dictDataApi = dictDataApi; |
| 73 | 44 | log.info("[init][初始化 DictFrameworkUtils 成功]"); |
| 74 | 45 | } |
| 75 | 46 | |
| 47 | + public static void clearCache() { | |
| 48 | + GET_DICT_DATA_CACHE.invalidateAll(); | |
| 49 | + } | |
| 50 | + | |
| 76 | 51 | @SneakyThrows |
| 77 | - public static String getDictDataLabel(String dictType, Integer value) { | |
| 78 | - return GET_DICT_DATA_CACHE.get(new KeyValue<>(dictType, String.valueOf(value))).getLabel(); | |
| 52 | + public static String parseDictDataLabel(String dictType, Integer value) { | |
| 53 | + if (value == null) { | |
| 54 | + return null; | |
| 55 | + } | |
| 56 | + return parseDictDataLabel(dictType, String.valueOf(value)); | |
| 79 | 57 | } |
| 80 | 58 | |
| 81 | 59 | @SneakyThrows |
| 82 | - public static String getDictDataLabel(String dictType, String value) { | |
| 83 | - return GET_DICT_DATA_CACHE.get(new KeyValue<>(dictType, value)).getLabel(); | |
| 60 | + public static String parseDictDataLabel(String dictType, String value) { | |
| 61 | + List<DictDataRespDTO> dictDatas = GET_DICT_DATA_CACHE.get(dictType); | |
| 62 | + DictDataRespDTO dictData = CollUtil.findOne(dictDatas, data -> Objects.equals(data.getValue(), value)); | |
| 63 | + return dictData != null ? dictData.getLabel(): null; | |
| 84 | 64 | } |
| 85 | 65 | |
| 86 | 66 | @SneakyThrows |
| 87 | 67 | public static List<String> getDictDataLabelList(String dictType) { |
| 88 | - return GET_DICT_DATA_LIST_CACHE.get(dictType); | |
| 68 | + List<DictDataRespDTO> dictDatas = GET_DICT_DATA_CACHE.get(dictType); | |
| 69 | + return convertList(dictDatas, DictDataRespDTO::getLabel); | |
| 89 | 70 | } |
| 90 | 71 | |
| 91 | 72 | @SneakyThrows |
| 92 | 73 | public static String parseDictDataValue(String dictType, String label) { |
| 93 | - return PARSE_DICT_DATA_CACHE.get(new KeyValue<>(dictType, label)).getValue(); | |
| 74 | + List<DictDataRespDTO> dictDatas = GET_DICT_DATA_CACHE.get(dictType); | |
| 75 | + DictDataRespDTO dictData = CollUtil.findOne(dictDatas, data -> Objects.equals(data.getLabel(), label)); | |
| 76 | + return dictData!= null ? dictData.getValue(): null; | |
| 94 | 77 | } |
| 95 | 78 | |
| 96 | 79 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/convert/DictConvert.java
| ... | ... | @@ -56,7 +56,7 @@ public class DictConvert implements Converter<Object> { |
| 56 | 56 | // 使用字典格式化 |
| 57 | 57 | String type = getType(contentProperty); |
| 58 | 58 | String value = String.valueOf(object); |
| 59 | - String label = DictFrameworkUtils.getDictDataLabel(type, value); | |
| 59 | + String label = DictFrameworkUtils.parseDictDataLabel(type, value); | |
| 60 | 60 | if (label == null) { |
| 61 | 61 | log.error("[convertToExcelData][type({}) 转换不了 label({})]", type, value); |
| 62 | 62 | return new WriteCellData<>(""); | ... | ... |
yudao-framework/yudao-spring-boot-starter-excel/src/test/java/cn/iocoder/yudao/framework/dict/core/util/DictFrameworkUtilsTest.java
| 1 | 1 | package cn.iocoder.yudao.framework.dict.core.util; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.dict.DictDataCommonApi; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.dict.dto.DictDataRespDTO; | |
| 4 | 5 | import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils; |
| 5 | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| 6 | -import cn.iocoder.yudao.module.system.api.dict.DictDataApi; | |
| 7 | -import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO; | |
| 8 | 7 | import org.junit.jupiter.api.BeforeEach; |
| 9 | 8 | import org.junit.jupiter.api.Test; |
| 10 | 9 | import org.mockito.Mock; |
| 11 | 10 | |
| 11 | +import java.util.List; | |
| 12 | + | |
| 12 | 13 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; |
| 13 | 14 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| 15 | +import static org.mockito.ArgumentMatchers.eq; | |
| 14 | 16 | import static org.mockito.Mockito.when; |
| 15 | 17 | |
| 16 | 18 | /** |
| ... | ... | @@ -19,33 +21,40 @@ import static org.mockito.Mockito.when; |
| 19 | 21 | public class DictFrameworkUtilsTest extends BaseMockitoUnitTest { |
| 20 | 22 | |
| 21 | 23 | @Mock |
| 22 | - private DictDataApi dictDataApi; | |
| 24 | + private DictDataCommonApi dictDataApi; | |
| 23 | 25 | |
| 24 | 26 | @BeforeEach |
| 25 | 27 | public void setUp() { |
| 26 | 28 | DictFrameworkUtils.init(dictDataApi); |
| 29 | + DictFrameworkUtils.clearCache(); | |
| 27 | 30 | } |
| 28 | 31 | |
| 29 | 32 | @Test |
| 30 | - public void testGetDictDataLabel() { | |
| 33 | + public void testParseDictDataLabel() { | |
| 31 | 34 | // mock 数据 |
| 32 | - DictDataRespDTO dataRespDTO = randomPojo(DictDataRespDTO.class, o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus())); | |
| 35 | + List<DictDataRespDTO> dictDatas = List.of( | |
| 36 | + randomPojo(DictDataRespDTO.class, o -> o.setDictType("animal").setValue("cat").setLabel("猫")), | |
| 37 | + randomPojo(DictDataRespDTO.class, o -> o.setDictType("animal").setValue("dog").setLabel("狗")) | |
| 38 | + ); | |
| 33 | 39 | // mock 方法 |
| 34 | - when(dictDataApi.getDictData(dataRespDTO.getDictType(), dataRespDTO.getValue())).thenReturn(dataRespDTO); | |
| 40 | + when(dictDataApi.getDictDataList(eq("animal"))).thenReturn(dictDatas); | |
| 35 | 41 | |
| 36 | 42 | // 断言返回值 |
| 37 | - assertEquals(dataRespDTO.getLabel(), DictFrameworkUtils.getDictDataLabel(dataRespDTO.getDictType(), dataRespDTO.getValue())); | |
| 43 | + assertEquals("狗", DictFrameworkUtils.parseDictDataLabel("animal", "dog")); | |
| 38 | 44 | } |
| 39 | 45 | |
| 40 | 46 | @Test |
| 41 | 47 | public void testParseDictDataValue() { |
| 42 | 48 | // mock 数据 |
| 43 | - DictDataRespDTO resp = randomPojo(DictDataRespDTO.class, o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus())); | |
| 49 | + List<DictDataRespDTO> dictDatas = List.of( | |
| 50 | + randomPojo(DictDataRespDTO.class, o -> o.setDictType("animal").setValue("cat").setLabel("猫")), | |
| 51 | + randomPojo(DictDataRespDTO.class, o -> o.setDictType("animal").setValue("dog").setLabel("狗")) | |
| 52 | + ); | |
| 44 | 53 | // mock 方法 |
| 45 | - when(dictDataApi.parseDictData(resp.getDictType(), resp.getLabel())).thenReturn(resp); | |
| 54 | + when(dictDataApi.getDictDataList(eq("animal"))).thenReturn(dictDatas); | |
| 46 | 55 | |
| 47 | 56 | // 断言返回值 |
| 48 | - assertEquals(resp.getValue(), DictFrameworkUtils.parseDictDataValue(resp.getDictType(), resp.getLabel())); | |
| 57 | + assertEquals("dog", DictFrameworkUtils.parseDictDataValue("animal", "狗")); | |
| 49 | 58 | } |
| 50 | 59 | |
| 51 | 60 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-security/pom.xml
| ... | ... | @@ -59,13 +59,6 @@ |
| 59 | 59 | <groupId>io.github.mouzt</groupId> |
| 60 | 60 | <artifactId>bizlog-sdk</artifactId> |
| 61 | 61 | </dependency> |
| 62 | - | |
| 63 | - <!-- 业务组件 --> | |
| 64 | - <dependency> | |
| 65 | - <groupId>cn.iocoder.boot</groupId> | |
| 66 | - <artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行 Token 的校验 --> | |
| 67 | - <version>${revision}</version> | |
| 68 | - </dependency> | |
| 69 | 62 | </dependencies> |
| 70 | 63 | |
| 71 | 64 | </project> | ... | ... |
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/operatelog/core/service/LogRecordServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.framework.operatelog.core.service; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.logger.OperateLogCommonApi; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO; | |
| 3 | 5 | import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; |
| 4 | 6 | import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; |
| 5 | 7 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 6 | 8 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 7 | -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; | |
| 8 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO; | |
| 9 | 9 | import com.mzt.logapi.beans.LogRecord; |
| 10 | 10 | import com.mzt.logapi.service.ILogRecordService; |
| 11 | 11 | import jakarta.annotation.Resource; |
| ... | ... | @@ -17,7 +17,7 @@ import java.util.List; |
| 17 | 17 | /** |
| 18 | 18 | * 操作日志 ILogRecordService 实现类 |
| 19 | 19 | * |
| 20 | - * 基于 {@link OperateLogApi} 实现,记录操作日志 | |
| 20 | + * 基于 {@link OperateLogCommonApi} 实现,记录操作日志 | |
| 21 | 21 | * |
| 22 | 22 | * @author HUIHUI |
| 23 | 23 | */ |
| ... | ... | @@ -25,7 +25,7 @@ import java.util.List; |
| 25 | 25 | public class LogRecordServiceImpl implements ILogRecordService { |
| 26 | 26 | |
| 27 | 27 | @Resource |
| 28 | - private OperateLogApi operateLogApi; | |
| 28 | + private OperateLogCommonApi operateLogApi; | |
| 29 | 29 | |
| 30 | 30 | @Override |
| 31 | 31 | public void record(LogRecord logRecord) { | ... | ... |
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoSecurityAutoConfiguration.java
| 1 | 1 | package cn.iocoder.yudao.framework.security.config; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.OAuth2TokenCommonApi; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.permission.PermissionCommonApi; | |
| 3 | 5 | import cn.iocoder.yudao.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy; |
| 4 | 6 | import cn.iocoder.yudao.framework.security.core.filter.TokenAuthenticationFilter; |
| 5 | 7 | import cn.iocoder.yudao.framework.security.core.handler.AccessDeniedHandlerImpl; |
| ... | ... | @@ -7,8 +9,6 @@ import cn.iocoder.yudao.framework.security.core.handler.AuthenticationEntryPoint |
| 7 | 9 | import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkService; |
| 8 | 10 | import cn.iocoder.yudao.framework.security.core.service.SecurityFrameworkServiceImpl; |
| 9 | 11 | import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; |
| 10 | -import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; | |
| 11 | -import cn.iocoder.yudao.module.system.api.permission.PermissionApi; | |
| 12 | 12 | import jakarta.annotation.Resource; |
| 13 | 13 | import org.springframework.beans.factory.config.MethodInvokingFactoryBean; |
| 14 | 14 | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| ... | ... | @@ -69,12 +69,12 @@ public class YudaoSecurityAutoConfiguration { |
| 69 | 69 | */ |
| 70 | 70 | @Bean |
| 71 | 71 | public TokenAuthenticationFilter authenticationTokenFilter(GlobalExceptionHandler globalExceptionHandler, |
| 72 | - OAuth2TokenApi oauth2TokenApi) { | |
| 72 | + OAuth2TokenCommonApi oauth2TokenApi) { | |
| 73 | 73 | return new TokenAuthenticationFilter(securityProperties, globalExceptionHandler, oauth2TokenApi); |
| 74 | 74 | } |
| 75 | 75 | |
| 76 | 76 | @Bean("ss") // 使用 Spring Security 的缩写,方便使用 |
| 77 | - public SecurityFrameworkService securityFrameworkService(PermissionApi permissionApi) { | |
| 77 | + public SecurityFrameworkService securityFrameworkService(PermissionCommonApi permissionApi) { | |
| 78 | 78 | return new SecurityFrameworkServiceImpl(permissionApi); |
| 79 | 79 | } |
| 80 | 80 | ... | ... |
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/filter/TokenAuthenticationFilter.java
| ... | ... | @@ -2,6 +2,8 @@ package cn.iocoder.yudao.framework.security.core.filter; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.ObjectUtil; |
| 4 | 4 | import cn.hutool.core.util.StrUtil; |
| 5 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.OAuth2TokenCommonApi; | |
| 6 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 5 | 7 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 6 | 8 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 7 | 9 | import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; |
| ... | ... | @@ -10,16 +12,14 @@ import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 10 | 12 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 11 | 13 | import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; |
| 12 | 14 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 13 | -import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; | |
| 14 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 15 | -import lombok.RequiredArgsConstructor; | |
| 16 | -import org.springframework.security.access.AccessDeniedException; | |
| 17 | -import org.springframework.web.filter.OncePerRequestFilter; | |
| 18 | - | |
| 19 | 15 | import jakarta.servlet.FilterChain; |
| 20 | 16 | import jakarta.servlet.ServletException; |
| 21 | 17 | import jakarta.servlet.http.HttpServletRequest; |
| 22 | 18 | import jakarta.servlet.http.HttpServletResponse; |
| 19 | +import lombok.RequiredArgsConstructor; | |
| 20 | +import org.springframework.security.access.AccessDeniedException; | |
| 21 | +import org.springframework.web.filter.OncePerRequestFilter; | |
| 22 | + | |
| 23 | 23 | import java.io.IOException; |
| 24 | 24 | |
| 25 | 25 | /** |
| ... | ... | @@ -35,7 +35,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { |
| 35 | 35 | |
| 36 | 36 | private final GlobalExceptionHandler globalExceptionHandler; |
| 37 | 37 | |
| 38 | - private final OAuth2TokenApi oauth2TokenApi; | |
| 38 | + private final OAuth2TokenCommonApi oauth2TokenApi; | |
| 39 | 39 | |
| 40 | 40 | @Override |
| 41 | 41 | @SuppressWarnings("NullableProblems") | ... | ... |
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/service/SecurityFrameworkServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.framework.security.core.service; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.permission.PermissionCommonApi; | |
| 4 | 5 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 5 | 6 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 6 | -import cn.iocoder.yudao.module.system.api.permission.PermissionApi; | |
| 7 | 7 | import lombok.AllArgsConstructor; |
| 8 | 8 | |
| 9 | 9 | import java.util.Arrays; |
| ... | ... | @@ -19,7 +19,7 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti |
| 19 | 19 | @AllArgsConstructor |
| 20 | 20 | public class SecurityFrameworkServiceImpl implements SecurityFrameworkService { |
| 21 | 21 | |
| 22 | - private final PermissionApi permissionApi; | |
| 22 | + private final PermissionCommonApi permissionApi; | |
| 23 | 23 | |
| 24 | 24 | @Override |
| 25 | 25 | public boolean hasPermission(String permission) { | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/pom.xml
| ... | ... | @@ -53,18 +53,6 @@ |
| 53 | 53 | <scope>provided</scope> <!-- 设置为 provided,主要是 GlobalExceptionHandler 使用 --> |
| 54 | 54 | </dependency> |
| 55 | 55 | |
| 56 | - <!-- 业务组件 --> | |
| 57 | - <dependency> | |
| 58 | - <groupId>cn.iocoder.boot</groupId> | |
| 59 | - <artifactId>yudao-module-infra-api</artifactId> <!-- 需要使用它,进行操作日志的记录 --> | |
| 60 | - <version>${revision}</version> | |
| 61 | - </dependency> | |
| 62 | - <dependency> | |
| 63 | - <groupId>cn.iocoder.boot</groupId> | |
| 64 | - <artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行错误码的记录 --> | |
| 65 | - <version>${revision}</version> | |
| 66 | - </dependency> | |
| 67 | - | |
| 68 | 56 | <!-- xss --> |
| 69 | 57 | <dependency> |
| 70 | 58 | <groupId>org.jsoup</groupId> | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/config/YudaoApiLogAutoConfiguration.java
| ... | ... | @@ -2,10 +2,10 @@ package cn.iocoder.yudao.framework.apilog.config; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.apilog.core.filter.ApiAccessLogFilter; |
| 4 | 4 | import cn.iocoder.yudao.framework.apilog.core.interceptor.ApiAccessLogInterceptor; |
| 5 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.ApiAccessLogCommonApi; | |
| 5 | 6 | import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum; |
| 6 | 7 | import cn.iocoder.yudao.framework.web.config.WebProperties; |
| 7 | 8 | import cn.iocoder.yudao.framework.web.config.YudaoWebAutoConfiguration; |
| 8 | -import cn.iocoder.yudao.module.infra.api.logger.ApiAccessLogApi; | |
| 9 | 9 | import jakarta.servlet.Filter; |
| 10 | 10 | import org.springframework.beans.factory.annotation.Value; |
| 11 | 11 | import org.springframework.boot.autoconfigure.AutoConfiguration; |
| ... | ... | @@ -25,7 +25,7 @@ public class YudaoApiLogAutoConfiguration implements WebMvcConfigurer { |
| 25 | 25 | @ConditionalOnProperty(prefix = "yudao.access-log", value = "enable", matchIfMissing = true) // 允许使用 yudao.access-log.enable=false 禁用访问日志 |
| 26 | 26 | public FilterRegistrationBean<ApiAccessLogFilter> apiAccessLogFilter(WebProperties webProperties, |
| 27 | 27 | @Value("${spring.application.name}") String applicationName, |
| 28 | - ApiAccessLogApi apiAccessLogApi) { | |
| 28 | + ApiAccessLogCommonApi apiAccessLogApi) { | |
| 29 | 29 | ApiAccessLogFilter filter = new ApiAccessLogFilter(webProperties, applicationName, apiAccessLogApi); |
| 30 | 30 | return createFilterBean(filter, WebFilterOrderEnum.API_ACCESS_LOG_FILTER); |
| 31 | 31 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/core/filter/ApiAccessLogFilter.java
| ... | ... | @@ -9,6 +9,8 @@ import cn.hutool.core.util.BooleanUtil; |
| 9 | 9 | import cn.hutool.core.util.StrUtil; |
| 10 | 10 | import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; |
| 11 | 11 | import cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum; |
| 12 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.ApiAccessLogCommonApi; | |
| 13 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; | |
| 12 | 14 | import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; |
| 13 | 15 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 14 | 16 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| ... | ... | @@ -17,8 +19,6 @@ import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; |
| 17 | 19 | import cn.iocoder.yudao.framework.web.config.WebProperties; |
| 18 | 20 | import cn.iocoder.yudao.framework.web.core.filter.ApiRequestFilter; |
| 19 | 21 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 20 | -import cn.iocoder.yudao.module.infra.api.logger.ApiAccessLogApi; | |
| 21 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; | |
| 22 | 22 | import com.fasterxml.jackson.databind.JsonNode; |
| 23 | 23 | import io.swagger.v3.oas.annotations.Operation; |
| 24 | 24 | import io.swagger.v3.oas.annotations.tags.Tag; |
| ... | ... | @@ -53,9 +53,9 @@ public class ApiAccessLogFilter extends ApiRequestFilter { |
| 53 | 53 | |
| 54 | 54 | private final String applicationName; |
| 55 | 55 | |
| 56 | - private final ApiAccessLogApi apiAccessLogApi; | |
| 56 | + private final ApiAccessLogCommonApi apiAccessLogApi; | |
| 57 | 57 | |
| 58 | - public ApiAccessLogFilter(WebProperties webProperties, String applicationName, ApiAccessLogApi apiAccessLogApi) { | |
| 58 | + public ApiAccessLogFilter(WebProperties webProperties, String applicationName, ApiAccessLogCommonApi apiAccessLogApi) { | |
| 59 | 59 | super(webProperties); |
| 60 | 60 | this.applicationName = applicationName; |
| 61 | 61 | this.apiAccessLogApi = apiAccessLogApi; | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java
| ... | ... | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.web.core.filter.DemoFilter; |
| 6 | 6 | import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; |
| 7 | 7 | import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler; |
| 8 | 8 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 9 | -import cn.iocoder.yudao.module.infra.api.logger.ApiErrorLogApi; | |
| 9 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.ApiErrorLogCommonApi; | |
| 10 | 10 | import jakarta.annotation.Resource; |
| 11 | 11 | import jakarta.servlet.Filter; |
| 12 | 12 | import org.springframework.beans.factory.annotation.Value; |
| ... | ... | @@ -59,7 +59,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { |
| 59 | 59 | |
| 60 | 60 | @Bean |
| 61 | 61 | @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") |
| 62 | - public GlobalExceptionHandler globalExceptionHandler(ApiErrorLogApi apiErrorLogApi) { | |
| 62 | + public GlobalExceptionHandler globalExceptionHandler(ApiErrorLogCommonApi apiErrorLogApi) { | |
| 63 | 63 | return new GlobalExceptionHandler(applicationName, apiErrorLogApi); |
| 64 | 64 | } |
| 65 | 65 | ... | ... |
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/handler/GlobalExceptionHandler.java
| ... | ... | @@ -14,8 +14,8 @@ import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 14 | 14 | import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; |
| 15 | 15 | import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; |
| 16 | 16 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 17 | -import cn.iocoder.yudao.module.infra.api.logger.ApiErrorLogApi; | |
| 18 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; | |
| 17 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.ApiErrorLogCommonApi; | |
| 18 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO; | |
| 19 | 19 | import com.fasterxml.jackson.databind.exc.InvalidFormatException; |
| 20 | 20 | import jakarta.servlet.http.HttpServletRequest; |
| 21 | 21 | import jakarta.validation.ConstraintViolation; |
| ... | ... | @@ -63,7 +63,7 @@ public class GlobalExceptionHandler { |
| 63 | 63 | @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") |
| 64 | 64 | private final String applicationName; |
| 65 | 65 | |
| 66 | - private final ApiErrorLogApi apiErrorLogApi; | |
| 66 | + private final ApiErrorLogCommonApi apiErrorLogApi; | |
| 67 | 67 | |
| 68 | 68 | /** |
| 69 | 69 | * 处理所有异常,主要是提供给 Filter 使用 | ... | ... |
yudao-module-crm/yudao-module-crm-biz/pom.xml
| ... | ... | @@ -24,6 +24,11 @@ |
| 24 | 24 | </dependency> |
| 25 | 25 | <dependency> |
| 26 | 26 | <groupId>cn.iocoder.boot</groupId> |
| 27 | + <artifactId>yudao-module-infra-api</artifactId> | |
| 28 | + <version>${revision}</version> | |
| 29 | + </dependency> | |
| 30 | + <dependency> | |
| 31 | + <groupId>cn.iocoder.boot</groupId> | |
| 27 | 32 | <artifactId>yudao-module-crm-api</artifactId> |
| 28 | 33 | <version>${revision}</version> |
| 29 | 34 | </dependency> | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/CrmCustomerIndustryParseFunction.java
| ... | ... | @@ -34,7 +34,7 @@ public class CrmCustomerIndustryParseFunction implements IParseFunction { |
| 34 | 34 | if (StrUtil.isEmptyIfStr(value)) { |
| 35 | 35 | return ""; |
| 36 | 36 | } |
| 37 | - return DictFrameworkUtils.getDictDataLabel(CRM_CUSTOMER_INDUSTRY, value.toString()); | |
| 37 | + return DictFrameworkUtils.parseDictDataLabel(CRM_CUSTOMER_INDUSTRY, value.toString()); | |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/CrmCustomerLevelParseFunction.java
| ... | ... | @@ -34,7 +34,7 @@ public class CrmCustomerLevelParseFunction implements IParseFunction { |
| 34 | 34 | if (StrUtil.isEmptyIfStr(value)) { |
| 35 | 35 | return ""; |
| 36 | 36 | } |
| 37 | - return DictFrameworkUtils.getDictDataLabel(CRM_CUSTOMER_LEVEL, value.toString()); | |
| 37 | + return DictFrameworkUtils.parseDictDataLabel(CRM_CUSTOMER_LEVEL, value.toString()); | |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/CrmCustomerSourceParseFunction.java
| ... | ... | @@ -34,7 +34,7 @@ public class CrmCustomerSourceParseFunction implements IParseFunction { |
| 34 | 34 | if (StrUtil.isEmptyIfStr(value)) { |
| 35 | 35 | return ""; |
| 36 | 36 | } |
| 37 | - return DictFrameworkUtils.getDictDataLabel(CRM_CUSTOMER_SOURCE, value.toString()); | |
| 37 | + return DictFrameworkUtils.parseDictDataLabel(CRM_CUSTOMER_SOURCE, value.toString()); | |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/CrmProductStatusParseFunction.java
| ... | ... | @@ -33,7 +33,7 @@ public class CrmProductStatusParseFunction implements IParseFunction { |
| 33 | 33 | if (StrUtil.isEmptyIfStr(value)) { |
| 34 | 34 | return ""; |
| 35 | 35 | } |
| 36 | - return DictFrameworkUtils.getDictDataLabel(DictTypeConstants.CRM_PRODUCT_STATUS, value.toString()); | |
| 36 | + return DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.CRM_PRODUCT_STATUS, value.toString()); | |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/CrmProductUnitParseFunction.java
| ... | ... | @@ -33,7 +33,7 @@ public class CrmProductUnitParseFunction implements IParseFunction { |
| 33 | 33 | if (StrUtil.isEmptyIfStr(value)) { |
| 34 | 34 | return ""; |
| 35 | 35 | } |
| 36 | - return DictFrameworkUtils.getDictDataLabel(DictTypeConstants.CRM_PRODUCT_UNIT, value.toString()); | |
| 36 | + return DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.CRM_PRODUCT_UNIT, value.toString()); | |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/CrmReceivableReturnTypeParseFunction.java
| ... | ... | @@ -34,7 +34,7 @@ public class CrmReceivableReturnTypeParseFunction implements IParseFunction { |
| 34 | 34 | if (StrUtil.isEmptyIfStr(value)) { |
| 35 | 35 | return ""; |
| 36 | 36 | } |
| 37 | - return DictFrameworkUtils.getDictDataLabel(CRM_RECEIVABLE_RETURN_TYPE, value.toString()); | |
| 37 | + return DictFrameworkUtils.parseDictDataLabel(CRM_RECEIVABLE_RETURN_TYPE, value.toString()); | |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/SysBooleanParseFunction.java
| ... | ... | @@ -33,7 +33,7 @@ public class SysBooleanParseFunction implements IParseFunction { |
| 33 | 33 | if (StrUtil.isEmptyIfStr(value)) { |
| 34 | 34 | return ""; |
| 35 | 35 | } |
| 36 | - return DictFrameworkUtils.getDictDataLabel(DictTypeConstants.BOOLEAN_STRING, value.toString()); | |
| 36 | + return DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.BOOLEAN_STRING, value.toString()); | |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/operatelog/core/SysSexParseFunction.java
| ... | ... | @@ -33,7 +33,7 @@ public class SysSexParseFunction implements IParseFunction { |
| 33 | 33 | if (StrUtil.isEmptyIfStr(value)) { |
| 34 | 34 | return ""; |
| 35 | 35 | } |
| 36 | - return DictFrameworkUtils.getDictDataLabel(DictTypeConstants.USER_SEX, value.toString()); | |
| 36 | + return DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.USER_SEX, value.toString()); | |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | } | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiAccessLogApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.api.logger; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.ApiAccessLogCommonApi; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; | |
| 4 | 5 | import cn.iocoder.yudao.module.infra.service.logger.ApiAccessLogService; |
| 6 | +import jakarta.annotation.Resource; | |
| 5 | 7 | import org.springframework.stereotype.Service; |
| 6 | 8 | import org.springframework.validation.annotation.Validated; |
| 7 | 9 | |
| 8 | -import jakarta.annotation.Resource; | |
| 9 | - | |
| 10 | 10 | /** |
| 11 | 11 | * API 访问日志的 API 实现类 |
| 12 | 12 | * |
| ... | ... | @@ -14,7 +14,7 @@ import jakarta.annotation.Resource; |
| 14 | 14 | */ |
| 15 | 15 | @Service |
| 16 | 16 | @Validated |
| 17 | -public class ApiAccessLogApiImpl implements ApiAccessLogApi { | |
| 17 | +public class ApiAccessLogApiImpl implements ApiAccessLogCommonApi { | |
| 18 | 18 | |
| 19 | 19 | @Resource |
| 20 | 20 | private ApiAccessLogService apiAccessLogService; | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/logger/ApiErrorLogApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.api.logger; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.ApiErrorLogCommonApi; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO; | |
| 4 | 5 | import cn.iocoder.yudao.module.infra.service.logger.ApiErrorLogService; |
| 5 | 6 | import org.springframework.stereotype.Service; |
| 6 | 7 | import org.springframework.validation.annotation.Validated; |
| ... | ... | @@ -14,7 +15,7 @@ import jakarta.annotation.Resource; |
| 14 | 15 | */ |
| 15 | 16 | @Service |
| 16 | 17 | @Validated |
| 17 | -public class ApiErrorLogApiImpl implements ApiErrorLogApi { | |
| 18 | +public class ApiErrorLogApiImpl implements ApiErrorLogCommonApi { | |
| 18 | 19 | |
| 19 | 20 | @Resource |
| 20 | 21 | private ApiErrorLogService apiErrorLogService; | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogService.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.service.logger; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; | |
| 5 | 5 | import cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; |
| 6 | 6 | import cn.iocoder.yudao.module.infra.dal.dataobject.logger.ApiAccessLogDO; |
| 7 | 7 | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.service.logger; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | 6 | import cn.iocoder.yudao.framework.common.util.string.StrUtils; |
| 6 | 7 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 7 | 8 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; |
| 8 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; | |
| 9 | 9 | import cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; |
| 10 | 10 | import cn.iocoder.yudao.module.infra.dal.dataobject.logger.ApiAccessLogDO; |
| 11 | 11 | import cn.iocoder.yudao.module.infra.dal.mysql.logger.ApiAccessLogMapper; | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogService.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.service.logger; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO; | |
| 5 | 5 | import cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; |
| 6 | 6 | import cn.iocoder.yudao.module.infra.dal.dataobject.logger.ApiErrorLogDO; |
| 7 | 7 | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImpl.java
| ... | ... | @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.string.StrUtils; |
| 6 | 6 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 7 | 7 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; |
| 8 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; | |
| 8 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO; | |
| 9 | 9 | import cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; |
| 10 | 10 | import cn.iocoder.yudao.module.infra.dal.dataobject.logger.ApiErrorLogDO; |
| 11 | 11 | import cn.iocoder.yudao.module.infra.dal.mysql.logger.ApiErrorLogMapper; | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiAccessLogServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.infra.service.logger; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; |
| 5 | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 7 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; | |
| 8 | 8 | import cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO; |
| 9 | 9 | import cn.iocoder.yudao.module.infra.dal.dataobject.logger.ApiAccessLogDO; |
| 10 | 10 | import cn.iocoder.yudao.module.infra.dal.mysql.logger.ApiAccessLogMapper; |
| 11 | +import jakarta.annotation.Resource; | |
| 11 | 12 | import org.junit.jupiter.api.Test; |
| 12 | 13 | import org.springframework.context.annotation.Import; |
| 13 | 14 | |
| 14 | -import jakarta.annotation.Resource; | |
| 15 | 15 | import java.time.Duration; |
| 16 | 16 | import java.util.List; |
| 17 | 17 | ... | ... |
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/logger/ApiErrorLogServiceImplTest.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.infra.service.logger; |
| 3 | 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 5 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 6 | -import cn.iocoder.yudao.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; | |
| 6 | +import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO; | |
| 7 | 7 | import cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apierrorlog.ApiErrorLogPageReqVO; |
| 8 | 8 | import cn.iocoder.yudao.module.infra.dal.dataobject.logger.ApiErrorLogDO; |
| 9 | 9 | import cn.iocoder.yudao.module.infra.dal.mysql.logger.ApiErrorLogMapper; | ... | ... |
yudao-module-iot/yudao-module-iot-biz/pom.xml
| ... | ... | @@ -21,6 +21,11 @@ |
| 21 | 21 | <dependencies> |
| 22 | 22 | <dependency> |
| 23 | 23 | <groupId>cn.iocoder.boot</groupId> |
| 24 | + <artifactId>yudao-module-system-api</artifactId> | |
| 25 | + <version>${revision}</version> | |
| 26 | + </dependency> | |
| 27 | + <dependency> | |
| 28 | + <groupId>cn.iocoder.boot</groupId> | |
| 24 | 29 | <artifactId>yudao-module-iot-api</artifactId> |
| 25 | 30 | <version>${revision}</version> |
| 26 | 31 | </dependency> | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/pom.xml
| ... | ... | @@ -36,6 +36,16 @@ |
| 36 | 36 | </dependency> |
| 37 | 37 | <dependency> |
| 38 | 38 | <groupId>cn.iocoder.boot</groupId> |
| 39 | + <artifactId>yudao-module-system-api</artifactId> | |
| 40 | + <version>${revision}</version> | |
| 41 | + </dependency> | |
| 42 | + <dependency> | |
| 43 | + <groupId>cn.iocoder.boot</groupId> | |
| 44 | + <artifactId>yudao-module-infra-api</artifactId> | |
| 45 | + <version>${revision}</version> | |
| 46 | + </dependency> | |
| 47 | + <dependency> | |
| 48 | + <groupId>cn.iocoder.boot</groupId> | |
| 39 | 49 | <artifactId>yudao-module-member-api</artifactId> |
| 40 | 50 | <version>${revision}</version> |
| 41 | 51 | </dependency> | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageRecordController.java
| ... | ... | @@ -41,7 +41,7 @@ public class AppBrokerageRecordController { |
| 41 | 41 | PageResult<BrokerageRecordDO> pageResult = brokerageRecordService.getBrokerageRecordPage( |
| 42 | 42 | BeanUtils.toBean(pageReqVO, BrokerageRecordPageReqVO.class).setUserId(getLoginUserId())); |
| 43 | 43 | return success(BeanUtils.toBean(pageResult, AppBrokerageRecordRespVO.class, recordVO -> |
| 44 | - recordVO.setStatusName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.BROKERAGE_RECORD_STATUS, recordVO.getStatus())))); | |
| 44 | + recordVO.setStatusName(DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.BROKERAGE_RECORD_STATUS, recordVO.getStatus())))); | |
| 45 | 45 | } |
| 46 | 46 | |
| 47 | 47 | @GetMapping("/get-product-brokerage-price") | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageWithdrawController.java
| ... | ... | @@ -49,8 +49,8 @@ public class AppBrokerageWithdrawController { |
| 49 | 49 | PageResult<BrokerageWithdrawDO> pageResult = brokerageWithdrawService.getBrokerageWithdrawPage( |
| 50 | 50 | BeanUtils.toBean(pageReqVO, BrokerageWithdrawPageReqVO.class).setUserId(getLoginUserId())); |
| 51 | 51 | return success(BeanUtils.toBean(pageResult, AppBrokerageWithdrawRespVO.class, withdrawVO -> |
| 52 | - withdrawVO.setTypeName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.BROKERAGE_WITHDRAW_TYPE, withdrawVO.getType())) | |
| 53 | - .setStatusName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.BROKERAGE_WITHDRAW_STATUS, withdrawVO.getStatus())))); | |
| 52 | + withdrawVO.setTypeName(DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.BROKERAGE_WITHDRAW_TYPE, withdrawVO.getType())) | |
| 53 | + .setStatusName(DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.BROKERAGE_WITHDRAW_STATUS, withdrawVO.getStatus())))); | |
| 54 | 54 | } |
| 55 | 55 | |
| 56 | 56 | @GetMapping("/get") | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
| ... | ... | @@ -178,7 +178,7 @@ public interface TradeOrderConvert { |
| 178 | 178 | AppTradeOrderDetailRespVO orderVO = convert3(order, orderItems); |
| 179 | 179 | orderVO.setPayExpireTime(order.getCreateTime().plus(tradeOrderProperties.getPayExpireTime())); |
| 180 | 180 | if (StrUtil.isNotEmpty(order.getPayChannelCode())) { |
| 181 | - orderVO.setPayChannelName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.CHANNEL_CODE, order.getPayChannelCode())); | |
| 181 | + orderVO.setPayChannelName(DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.CHANNEL_CODE, order.getPayChannelCode())); | |
| 182 | 182 | } |
| 183 | 183 | // 处理收货地址 |
| 184 | 184 | orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId())); | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/auth/AuthConvert.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.member.convert.auth; |
| 3 | 3 | import cn.iocoder.yudao.module.member.controller.app.auth.vo.*; |
| 4 | 4 | import cn.iocoder.yudao.module.member.controller.app.social.vo.AppSocialUserUnbindReqVO; |
| 5 | 5 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserResetPasswordReqVO; |
| 6 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 6 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO; |
| 8 | 8 | import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO; |
| 9 | 9 | import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeValidateReqDTO; | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java
| ... | ... | @@ -12,9 +12,9 @@ import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 12 | 12 | import cn.iocoder.yudao.module.member.service.user.MemberUserService; |
| 13 | 13 | import cn.iocoder.yudao.module.system.api.logger.LoginLogApi; |
| 14 | 14 | import cn.iocoder.yudao.module.system.api.logger.dto.LoginLogCreateReqDTO; |
| 15 | -import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; | |
| 16 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCreateReqDTO; | |
| 17 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 15 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.OAuth2TokenCommonApi; | |
| 16 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCreateReqDTO; | |
| 17 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 18 | 18 | import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi; |
| 19 | 19 | import cn.iocoder.yudao.module.system.api.social.SocialClientApi; |
| 20 | 20 | import cn.iocoder.yudao.module.system.api.social.SocialUserApi; |
| ... | ... | @@ -58,7 +58,7 @@ public class MemberAuthServiceImpl implements MemberAuthService { |
| 58 | 58 | @Resource |
| 59 | 59 | private SocialClientApi socialClientApi; |
| 60 | 60 | @Resource |
| 61 | - private OAuth2TokenApi oauth2TokenApi; | |
| 61 | + private OAuth2TokenCommonApi oauth2TokenApi; | |
| 62 | 62 | |
| 63 | 63 | @Override |
| 64 | 64 | public AppAuthLoginRespVO login(AppAuthLoginReqVO reqVO) { | ... | ... |
yudao-module-member/yudao-module-member-biz/src/test/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceTest.java
| ... | ... | @@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 8 | 8 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; |
| 9 | 9 | import cn.iocoder.yudao.module.member.service.user.MemberUserService; |
| 10 | 10 | import cn.iocoder.yudao.module.system.api.logger.LoginLogApi; |
| 11 | -import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; | |
| 11 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.OAuth2TokenCommonApi; | |
| 12 | 12 | import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi; |
| 13 | 13 | import cn.iocoder.yudao.module.system.api.social.SocialUserApi; |
| 14 | 14 | import org.springframework.boot.test.mock.mockito.MockBean; |
| ... | ... | @@ -43,7 +43,7 @@ public class MemberAuthServiceTest extends BaseDbAndRedisUnitTest { |
| 43 | 43 | @MockBean |
| 44 | 44 | private LoginLogApi loginLogApi; |
| 45 | 45 | @MockBean |
| 46 | - private OAuth2TokenApi oauth2TokenApi; | |
| 46 | + private OAuth2TokenCommonApi oauth2TokenApi; | |
| 47 | 47 | @MockBean |
| 48 | 48 | private SocialUserApi socialUserApi; |
| 49 | 49 | @MockBean | ... | ... |
yudao-module-pay/yudao-module-pay-biz/pom.xml
| ... | ... | @@ -20,6 +20,11 @@ |
| 20 | 20 | <dependencies> |
| 21 | 21 | <dependency> |
| 22 | 22 | <groupId>cn.iocoder.boot</groupId> |
| 23 | + <artifactId>yudao-module-system-api</artifactId> | |
| 24 | + <version>${revision}</version> | |
| 25 | + </dependency> | |
| 26 | + <dependency> | |
| 27 | + <groupId>cn.iocoder.boot</groupId> | |
| 23 | 28 | <artifactId>yudao-module-pay-api</artifactId> |
| 24 | 29 | <version>${revision}</version> |
| 25 | 30 | </dependency> | ... | ... |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletRechargeConvert.java
| ... | ... | @@ -32,7 +32,7 @@ public interface PayWalletRechargeConvert { |
| 32 | 32 | PageResult<AppPayWalletRechargeRespVO> voPageResult = BeanUtils.toBean(pageResult, AppPayWalletRechargeRespVO.class); |
| 33 | 33 | Map<Long, PayOrderDO> payOrderMap = CollectionUtils.convertMap(payOrderList, PayOrderDO::getId); |
| 34 | 34 | voPageResult.getList().forEach(recharge -> { |
| 35 | - recharge.setPayChannelName(DictFrameworkUtils.getDictDataLabel( | |
| 35 | + recharge.setPayChannelName(DictFrameworkUtils.parseDictDataLabel( | |
| 36 | 36 | DictTypeConstants.CHANNEL_CODE, recharge.getPayChannelCode())); |
| 37 | 37 | MapUtils.findAndThen(payOrderMap, recharge.getPayOrderId(), |
| 38 | 38 | order -> recharge.setPayOrderChannelOrderNo(order.getChannelOrderNo())); | ... | ... |
yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/framework/jmreport/config/JmReportConfiguration.java
| 1 | 1 | package cn.iocoder.yudao.module.report.framework.jmreport.config; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.OAuth2TokenCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.framework.security.config.SecurityProperties; |
| 4 | 5 | import cn.iocoder.yudao.module.report.framework.jmreport.core.service.JmOnlDragExternalServiceImpl; |
| 5 | 6 | import cn.iocoder.yudao.module.report.framework.jmreport.core.service.JmReportTokenServiceImpl; |
| 6 | -import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.api.permission.PermissionApi; |
| 8 | 8 | import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; |
| 9 | 9 | import org.springframework.context.annotation.Bean; |
| ... | ... | @@ -21,7 +21,7 @@ import org.springframework.context.annotation.Primary; |
| 21 | 21 | public class JmReportConfiguration { |
| 22 | 22 | |
| 23 | 23 | @Bean |
| 24 | - public JmReportTokenServiceI jmReportTokenService(OAuth2TokenApi oAuth2TokenApi, | |
| 24 | + public JmReportTokenServiceI jmReportTokenService(OAuth2TokenCommonApi oAuth2TokenApi, | |
| 25 | 25 | PermissionApi permissionApi, |
| 26 | 26 | SecurityProperties securityProperties) { |
| 27 | 27 | return new JmReportTokenServiceImpl(oAuth2TokenApi, permissionApi, securityProperties); | ... | ... |
yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java
| ... | ... | @@ -9,8 +9,8 @@ import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 9 | 9 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 10 | 10 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 11 | 11 | import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; |
| 12 | -import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi; | |
| 13 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 12 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.OAuth2TokenCommonApi; | |
| 13 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 14 | 14 | import cn.iocoder.yudao.module.system.api.permission.PermissionApi; |
| 15 | 15 | import cn.iocoder.yudao.module.system.enums.permission.RoleCodeEnum; |
| 16 | 16 | import jakarta.servlet.http.HttpServletRequest; |
| ... | ... | @@ -37,7 +37,7 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI { |
| 37 | 37 | */ |
| 38 | 38 | private static final String AUTHORIZATION_FORMAT = SecurityFrameworkUtils.AUTHORIZATION_BEARER + " %s"; |
| 39 | 39 | |
| 40 | - private final OAuth2TokenApi oauth2TokenApi; | |
| 40 | + private final OAuth2TokenCommonApi oauth2TokenApi; | |
| 41 | 41 | private final PermissionApi permissionApi; |
| 42 | 42 | |
| 43 | 43 | private final SecurityProperties securityProperties; | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.dict; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.util.ObjUtil; | |
| 4 | -import cn.hutool.core.util.StrUtil; | |
| 5 | -import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.dict.DictDataCommonApi; | |
| 6 | 4 | |
| 7 | 5 | import java.util.Collection; |
| 8 | -import java.util.List; | |
| 9 | - | |
| 10 | -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | |
| 11 | 6 | |
| 12 | 7 | /** |
| 13 | 8 | * 字典数据 API 接口 |
| 14 | 9 | * |
| 15 | 10 | * @author 芋道源码 |
| 16 | 11 | */ |
| 17 | -public interface DictDataApi { | |
| 12 | +public interface DictDataApi extends DictDataCommonApi { | |
| 18 | 13 | |
| 19 | 14 | /** |
| 20 | 15 | * 校验字典数据们是否有效。如下情况,视为无效: |
| ... | ... | @@ -26,56 +21,4 @@ public interface DictDataApi { |
| 26 | 21 | */ |
| 27 | 22 | void validateDictDataList(String dictType, Collection<String> values); |
| 28 | 23 | |
| 29 | - /** | |
| 30 | - * 获得指定的字典数据,从缓存中 | |
| 31 | - * | |
| 32 | - * @param type 字典类型 | |
| 33 | - * @param value 字典数据值 | |
| 34 | - * @return 字典数据 | |
| 35 | - */ | |
| 36 | - DictDataRespDTO getDictData(String type, String value); | |
| 37 | - | |
| 38 | - /** | |
| 39 | - * 获得指定的字典标签,从缓存中 | |
| 40 | - * | |
| 41 | - * @param type 字典类型 | |
| 42 | - * @param value 字典数据值 | |
| 43 | - * @return 字典标签 | |
| 44 | - */ | |
| 45 | - default String getDictDataLabel(String type, Integer value) { | |
| 46 | - DictDataRespDTO dictData = getDictData(type, String.valueOf(value)); | |
| 47 | - if (ObjUtil.isNull(dictData)) { | |
| 48 | - return StrUtil.EMPTY; | |
| 49 | - } | |
| 50 | - return dictData.getLabel(); | |
| 51 | - } | |
| 52 | - | |
| 53 | - /** | |
| 54 | - * 解析获得指定的字典数据,从缓存中 | |
| 55 | - * | |
| 56 | - * @param type 字典类型 | |
| 57 | - * @param label 字典数据标签 | |
| 58 | - * @return 字典数据 | |
| 59 | - */ | |
| 60 | - DictDataRespDTO parseDictData(String type, String label); | |
| 61 | - | |
| 62 | - /** | |
| 63 | - * 获得指定字典类型的字典数据列表 | |
| 64 | - * | |
| 65 | - * @param dictType 字典类型 | |
| 66 | - * @return 字典数据列表 | |
| 67 | - */ | |
| 68 | - List<DictDataRespDTO> getDictDataList(String dictType); | |
| 69 | - | |
| 70 | - /** | |
| 71 | - * 获得字典数据标签列表 | |
| 72 | - * | |
| 73 | - * @param dictType 字典类型 | |
| 74 | - * @return 字典数据标签列表 | |
| 75 | - */ | |
| 76 | - default List<String> getDictDataLabelList(String dictType) { | |
| 77 | - List<DictDataRespDTO> list = getDictDataList(dictType); | |
| 78 | - return convertList(list, DictDataRespDTO::getLabel); | |
| 79 | - } | |
| 80 | - | |
| 81 | 24 | } | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.logger; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.logger.OperateLogCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO; | |
| 5 | 5 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogPageReqDTO; |
| 6 | 6 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogRespDTO; |
| 7 | -import jakarta.validation.Valid; | |
| 8 | -import org.springframework.scheduling.annotation.Async; | |
| 9 | 7 | |
| 10 | 8 | /** |
| 11 | 9 | * 操作日志 API 接口 |
| 12 | 10 | * |
| 13 | 11 | * @author 芋道源码 |
| 14 | 12 | */ |
| 15 | -public interface OperateLogApi { | |
| 16 | - | |
| 17 | - /** | |
| 18 | - * 创建操作日志 | |
| 19 | - * | |
| 20 | - * @param createReqDTO 请求 | |
| 21 | - */ | |
| 22 | - void createOperateLog(@Valid OperateLogCreateReqDTO createReqDTO); | |
| 23 | - | |
| 24 | - /** | |
| 25 | - * 【异步】创建操作日志 | |
| 26 | - * | |
| 27 | - * @param createReqDTO 请求 | |
| 28 | - */ | |
| 29 | - @Async | |
| 30 | - default void createOperateLogAsync(OperateLogCreateReqDTO createReqDTO) { | |
| 31 | - createOperateLog(createReqDTO); | |
| 32 | - } | |
| 13 | +public interface OperateLogApi extends OperateLogCommonApi { | |
| 33 | 14 | |
| 34 | 15 | /** |
| 35 | 16 | * 获取指定模块的指定数据的操作日志分页 | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApi.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.permission; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.permission.PermissionCommonApi; | |
| 4 | 4 | |
| 5 | 5 | import java.util.Collection; |
| 6 | 6 | import java.util.Set; |
| ... | ... | @@ -10,7 +10,7 @@ import java.util.Set; |
| 10 | 10 | * |
| 11 | 11 | * @author 芋道源码 |
| 12 | 12 | */ |
| 13 | -public interface PermissionApi { | |
| 13 | +public interface PermissionApi extends PermissionCommonApi { | |
| 14 | 14 | |
| 15 | 15 | /** |
| 16 | 16 | * 获得拥有多个角色的用户编号集合 |
| ... | ... | @@ -20,30 +20,4 @@ public interface PermissionApi { |
| 20 | 20 | */ |
| 21 | 21 | Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds); |
| 22 | 22 | |
| 23 | - /** | |
| 24 | - * 判断是否有权限,任一一个即可 | |
| 25 | - * | |
| 26 | - * @param userId 用户编号 | |
| 27 | - * @param permissions 权限 | |
| 28 | - * @return 是否 | |
| 29 | - */ | |
| 30 | - boolean hasAnyPermissions(Long userId, String... permissions); | |
| 31 | - | |
| 32 | - /** | |
| 33 | - * 判断是否有角色,任一一个即可 | |
| 34 | - * | |
| 35 | - * @param userId 用户编号 | |
| 36 | - * @param roles 角色数组 | |
| 37 | - * @return 是否 | |
| 38 | - */ | |
| 39 | - boolean hasAnyRoles(Long userId, String... roles); | |
| 40 | - | |
| 41 | - /** | |
| 42 | - * 获得登陆用户的部门数据权限 | |
| 43 | - * | |
| 44 | - * @param userId 用户编号 | |
| 45 | - * @return 部门数据权限 | |
| 46 | - */ | |
| 47 | - DeptDataPermissionRespDTO getDeptDataPermission(Long userId); | |
| 48 | - | |
| 49 | 23 | } | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.dict; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 4 | -import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.dict.dto.DictDataRespDTO; | |
| 5 | 5 | import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; |
| 6 | 6 | import cn.iocoder.yudao.module.system.service.dict.DictDataService; |
| 7 | 7 | import jakarta.annotation.Resource; |
| ... | ... | @@ -27,18 +27,6 @@ public class DictDataApiImpl implements DictDataApi { |
| 27 | 27 | } |
| 28 | 28 | |
| 29 | 29 | @Override |
| 30 | - public DictDataRespDTO getDictData(String dictType, String value) { | |
| 31 | - DictDataDO dictData = dictDataService.getDictData(dictType, value); | |
| 32 | - return BeanUtils.toBean(dictData, DictDataRespDTO.class); | |
| 33 | - } | |
| 34 | - | |
| 35 | - @Override | |
| 36 | - public DictDataRespDTO parseDictData(String dictType, String label) { | |
| 37 | - DictDataDO dictData = dictDataService.parseDictData(dictType, label); | |
| 38 | - return BeanUtils.toBean(dictData, DictDataRespDTO.class); | |
| 39 | - } | |
| 40 | - | |
| 41 | - @Override | |
| 42 | 30 | public List<DictDataRespDTO> getDictDataList(String dictType) { |
| 43 | 31 | List<DictDataDO> list = dictDataService.getDictDataListByDictType(dictType); |
| 44 | 32 | return BeanUtils.toBean(list, DictDataRespDTO.class); | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApiImpl.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.api.logger; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO; | |
| 5 | +import cn.iocoder.yudao.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO; | |
| 6 | 6 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogPageReqDTO; |
| 7 | 7 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogRespDTO; |
| 8 | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.oauth2; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.OAuth2TokenCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 4 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 5 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenCreateReqDTO; | |
| 6 | -import cn.iocoder.yudao.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 5 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO; | |
| 6 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCreateReqDTO; | |
| 7 | +import cn.iocoder.yudao.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenRespDTO; | |
| 7 | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 8 | 9 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService; |
| 9 | 10 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -16,7 +17,7 @@ import jakarta.annotation.Resource; |
| 16 | 17 | * @author 芋道源码 |
| 17 | 18 | */ |
| 18 | 19 | @Service |
| 19 | -public class OAuth2TokenApiImpl implements OAuth2TokenApi { | |
| 20 | +public class OAuth2TokenApiImpl implements OAuth2TokenCommonApi { | |
| 20 | 21 | |
| 21 | 22 | @Resource |
| 22 | 23 | private OAuth2TokenService oauth2TokenService; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.permission; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; | |
| 4 | 4 | import cn.iocoder.yudao.module.system.service.permission.PermissionService; |
| 5 | 5 | import org.springframework.stereotype.Service; |
| 6 | 6 | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.tenant; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.tenant.TenantCommonApi; | |
| 3 | 4 | import cn.iocoder.yudao.module.system.service.tenant.TenantService; |
| 4 | 5 | import org.springframework.stereotype.Service; |
| 5 | 6 | |
| ... | ... | @@ -12,7 +13,7 @@ import java.util.List; |
| 12 | 13 | * @author 芋道源码 |
| 13 | 14 | */ |
| 14 | 15 | @Service |
| 15 | -public class TenantApiImpl implements TenantApi { | |
| 16 | +public class TenantApiImpl implements TenantCommonApi { | |
| 16 | 17 | |
| 17 | 18 | @Resource |
| 18 | 19 | private TenantService tenantService; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/BooleanParseFunction.java
| ... | ... | @@ -33,7 +33,7 @@ public class BooleanParseFunction implements IParseFunction { |
| 33 | 33 | if (StrUtil.isEmptyIfStr(value)) { |
| 34 | 34 | return ""; |
| 35 | 35 | } |
| 36 | - return DictFrameworkUtils.getDictDataLabel(DictTypeConstants.BOOLEAN_STRING, value.toString()); | |
| 36 | + return DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.BOOLEAN_STRING, value.toString()); | |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | } | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/SexParseFunction.java
| ... | ... | @@ -33,7 +33,7 @@ public class SexParseFunction implements IParseFunction { |
| 33 | 33 | if (StrUtil.isEmptyIfStr(value)) { |
| 34 | 34 | return ""; |
| 35 | 35 | } |
| 36 | - return DictFrameworkUtils.getDictDataLabel(DictTypeConstants.USER_SEX, value.toString()); | |
| 36 | + return DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.USER_SEX, value.toString()); | |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | } | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/logger/OperateLogService.java
| 1 | 1 | package cn.iocoder.yudao.module.system.service.logger; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO; | |
| 4 | +import cn.iocoder.yudao.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO; | |
| 5 | 5 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogPageReqDTO; |
| 6 | 6 | import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/logger/OperateLogServiceImpl.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.service.logger; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO; | |
| 5 | +import cn.iocoder.yudao.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO; | |
| 6 | 6 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogPageReqDTO; |
| 7 | 7 | import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO; |
| 8 | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionService.java
| 1 | 1 | package cn.iocoder.yudao.module.system.service.permission; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; | |
| 3 | +import cn.iocoder.yudao.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; | |
| 4 | 4 | |
| 5 | 5 | import java.util.Collection; |
| 6 | 6 | import java.util.Set; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceImpl.java
| ... | ... | @@ -7,7 +7,7 @@ import cn.hutool.extra.spring.SpringUtil; |
| 7 | 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 8 | 8 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 9 | 9 | import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; |
| 10 | -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; | |
| 10 | +import cn.iocoder.yudao.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; | |
| 11 | 11 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 12 | 12 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; |
| 13 | 13 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleMenuDO; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/logger/OperateLogServiceImplTest.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.system.service.logger; |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 5 | 5 | import cn.iocoder.yudao.framework.test.core.util.RandomUtils; |
| 6 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogCreateReqDTO; | |
| 6 | +import cn.iocoder.yudao.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogPageReqDTO; |
| 8 | 8 | import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO; |
| 9 | 9 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceTest.java
| ... | ... | @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.extra.spring.SpringUtil; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 6 | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 7 | -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; | |
| 7 | +import cn.iocoder.yudao.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; | |
| 8 | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; |
| 9 | 9 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 10 | 10 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | ... | ... |