From a36b4df86b90763ce6be321c07b61a7f5a303111 Mon Sep 17 00:00:00 2001 From: dataprince Date: Tue, 19 Sep 2023 21:31:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=84=E5=BB=BA=E5=9F=BA=E7=B1=BB=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +++++++++ doc/Ruoyi-Flex-Guide.docx | Bin 3469943 -> 3470015 bytes .../impl/BaseCacheableServiceImpl.java | 14 ------------ .../core/service/impl/BaseServiceImpl.java | 21 +++++++++++++++++- 4 files changed, 30 insertions(+), 15 deletions(-) delete mode 100644 ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseCacheableServiceImpl.java diff --git a/README.md b/README.md index df38d0d..50b73e9 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,16 @@ Ruoyi-Flex是一套全部开源的快速开发平台,使用MIT开源许可协 +## 开源协议 + +**为什么推荐使用本项目?** + +① 本项目采用比 Apache 2.0 更宽松的 [MIT License](https://gitee.com/dataprince/ruoyi-flex/blob/master/LICENSE) 开源协议,个人与企业可 100% 免费使用,不用保留类作者、Copyright 信息。 + +② 代码全部开源,不会像其它项目一样,只开源部分代码,让你无法了解整个项目的架构设计。 + +如果这个项目让您有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 + ## 演示图 diff --git a/doc/Ruoyi-Flex-Guide.docx b/doc/Ruoyi-Flex-Guide.docx index a331cb71b5305dbaeadbb02a3a47a7c3ba39ee44..1290bccd5b6adbc5f6d22e9a8d15b59359f4fcdf 100644 GIT binary patch delta 26074 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 diff --git a/ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseCacheableServiceImpl.java b/ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseCacheableServiceImpl.java deleted file mode 100644 index 727cdee..0000000 --- a/ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseCacheableServiceImpl.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.ruoyi.common.orm.core.service.impl; - -import com.mybatisflex.core.BaseMapper; -import com.mybatisflex.spring.service.impl.CacheableServiceImpl; -import com.ruoyi.common.orm.core.domain.BaseEntity; -import com.ruoyi.common.orm.core.service.IBaseService; - -/** - * 自定义的缓存服务基类的实现类 - * - * @author dataprince数据小王子 - */ -public abstract class BaseCacheableServiceImpl, T extends BaseEntity> extends CacheableServiceImpl implements IBaseService { -} diff --git a/ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseServiceImpl.java b/ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseServiceImpl.java index bcee61f..c24b2c1 100644 --- a/ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseServiceImpl.java +++ b/ruoyi-common/ruoyi-common-orm/src/main/java/com/ruoyi/common/orm/core/service/impl/BaseServiceImpl.java @@ -1,7 +1,12 @@ package com.ruoyi.common.orm.core.service.impl; import com.mybatisflex.core.BaseMapper; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.ruoyi.common.core.core.page.PageDomain; +import com.ruoyi.common.core.core.page.TableSupport; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.sql.SqlUtil; import com.ruoyi.common.orm.core.domain.BaseEntity; import com.ruoyi.common.orm.core.service.IBaseService; @@ -10,5 +15,19 @@ import com.ruoyi.common.orm.core.service.IBaseService; * * @author dataprince数据小王子 */ -public abstract class BaseServiceImpl, T extends BaseEntity> extends ServiceImpl implements IBaseService { +public class BaseServiceImpl, T extends BaseEntity> extends ServiceImpl implements IBaseService { + + /** + * 构造基本查询条件 + * @return QueryWrapper + */ + protected QueryWrapper buildBaseQueryWrapper(){ + QueryWrapper queryWrapper = query(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) { + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + queryWrapper.orderBy(orderBy); + } + return queryWrapper; + } }