diff --git a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/base/BaseMapper.java b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/base/BaseMapper.java deleted file mode 100644 index 1c5ad45c..00000000 --- a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/base/BaseMapper.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. - *

- * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - *

- * http://www.gnu.org/licenses/lgpl.html - *

- * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package top.continew.starter.data.mp.base; - -import cn.hutool.core.util.ClassUtil; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper; -import com.baomidou.mybatisplus.extension.toolkit.ChainWrappers; -import com.baomidou.mybatisplus.extension.toolkit.Db; - -import java.util.Collection; - -/** - * Mapper 基类 - * - * @param 实体类 - * @author Charles7c - * @since 1.0.0 - */ -public interface BaseMapper extends com.baomidou.mybatisplus.core.mapper.BaseMapper { - - /** - * 批量插入记录 - * - * @param entityList 实体列表 - * @return 是否成功 - */ - default boolean insertBatch(Collection entityList) { - return Db.saveBatch(entityList); - } - - /** - * 批量更新记录 - * - * @param entityList 实体列表 - * @return 是否成功 - */ - default boolean updateBatchById(Collection entityList) { - return Db.updateBatchById(entityList); - } - - /** - * 链式查询 - * - * @return QueryWrapper 的包装类 - */ - default QueryChainWrapper query() { - return ChainWrappers.queryChain(this); - } - - /** - * 链式查询(lambda 式) - * - * @return LambdaQueryWrapper 的包装类 - */ - default LambdaQueryChainWrapper lambdaQuery() { - return ChainWrappers.lambdaQueryChain(this, this.currentEntityClass()); - } - - /** - * 链式查询(lambda 式) - * - * @param entity 实体对象 - * @return LambdaQueryWrapper 的包装类 - */ - default LambdaQueryChainWrapper lambdaQuery(T entity) { - return ChainWrappers.lambdaQueryChain(this, entity); - } - - /** - * 链式更改 - * - * @return UpdateWrapper 的包装类 - */ - default UpdateChainWrapper update() { - return ChainWrappers.updateChain(this); - } - - /** - * 链式更改(lambda 式) - * - * @return LambdaUpdateWrapper 的包装类 - */ - default LambdaUpdateChainWrapper lambdaUpdate() { - return ChainWrappers.lambdaUpdateChain(this); - } - - /** - * 获取实体类 Class 对象 - * - * @return 实体类 Class 对象 - */ - default Class currentEntityClass() { - return (Class)ClassUtil.getTypeArgument(this.getClass(), 0); - } -} diff --git a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/IService.java b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/IService.java index 2016e5ef..e49a9263 100644 --- a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/IService.java +++ b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/IService.java @@ -16,6 +16,8 @@ package top.continew.starter.data.mp.service; +import com.baomidou.mybatisplus.extension.repository.IRepository; + /** * 通用业务接口 * @@ -23,4 +25,4 @@ package top.continew.starter.data.mp.service; * @author Charles7c * @since 1.2.0 */ -public interface IService extends com.baomidou.mybatisplus.extension.service.IService {} +public interface IService extends IRepository {} diff --git a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/impl/ServiceImpl.java b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/impl/ServiceImpl.java index 5f30b138..a59f4eb8 100644 --- a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/impl/ServiceImpl.java +++ b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/service/impl/ServiceImpl.java @@ -17,9 +17,10 @@ package top.continew.starter.data.mp.service.impl; import cn.hutool.core.util.ClassUtil; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.repository.CrudRepository; import top.continew.starter.core.util.ReflectUtils; import top.continew.starter.core.validation.CheckUtils; -import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.service.IService; import java.io.Serializable; @@ -34,7 +35,7 @@ import java.util.List; * @author Charles7c * @since 1.5.0 */ -public class ServiceImpl, T> extends com.baomidou.mybatisplus.extension.service.impl.ServiceImpl implements IService { +public class ServiceImpl, T> extends CrudRepository implements IService { private List entityFields; diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java index aa707ece..b7338d5a 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/aop/CrudApiAnnotationInterceptor.java @@ -23,7 +23,7 @@ import org.springframework.core.BridgeMethodResolver; import org.springframework.core.annotation.AnnotatedElementUtils; import org.springframework.util.ClassUtils; import top.continew.starter.extension.crud.annotation.CrudApi; -import top.continew.starter.extension.crud.controller.AbstractBaseController; +import top.continew.starter.extension.crud.controller.AbstractCrudController; import java.lang.reflect.Method; import java.util.Objects; @@ -46,8 +46,8 @@ public class CrudApiAnnotationInterceptor implements MethodInterceptor { // 获取 @CrudApi 注解 CrudApi crudApi = AnnotatedElementUtils.findMergedAnnotation(targetMethod, CrudApi.class); // 执行处理 - AbstractBaseController controller = (AbstractBaseController)invocation.getThis(); - controller.preHandle(crudApi, invocation.getArguments(), targetMethod, targetClass); + AbstractCrudController crudController = (AbstractCrudController)invocation.getThis(); + crudController.preHandle(crudApi, invocation.getArguments(), targetMethod, targetClass); return invocation.proceed(); } } diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/controller/AbstractBaseController.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/controller/AbstractCrudController.java similarity index 96% rename from continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/controller/AbstractBaseController.java rename to continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/controller/AbstractCrudController.java index cfdb227d..de00e01e 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/controller/AbstractBaseController.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/controller/AbstractCrudController.java @@ -33,23 +33,23 @@ import top.continew.starter.extension.crud.model.query.SortQuery; import top.continew.starter.extension.crud.model.req.IdsReq; import top.continew.starter.extension.crud.model.resp.IdResp; import top.continew.starter.extension.crud.model.resp.BasePageResp; -import top.continew.starter.extension.crud.service.BaseService; +import top.continew.starter.extension.crud.service.CrudService; import top.continew.starter.extension.crud.validation.CrudValidationGroup; import java.util.List; /** - * 控制器抽象基类 + * CRUD 控制器抽象基类 * * @param 业务接口 * @param 列表类型 * @param 详情类型 - * @param 查询条件 + * @param 查询条件类型 * @param 创建或修改请求参数类型 * @author Charles7c * @since 1.0.0 */ -public abstract class AbstractBaseController, L, D, Q, C> implements CrudApiHandler { +public abstract class AbstractCrudController, L, D, Q, C> implements CrudApiHandler { @Autowired protected S baseService; diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/service/BaseService.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/service/CrudService.java similarity index 97% rename from continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/service/BaseService.java rename to continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/service/CrudService.java index 3c14d455..fd6e6c60 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/service/BaseService.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-core/src/main/java/top/continew/starter/extension/crud/service/CrudService.java @@ -26,16 +26,16 @@ import top.continew.starter.extension.crud.model.resp.LabelValueResp; import java.util.List; /** - * 业务接口基类 + * CRUD 业务接口 * * @param 列表类型 * @param 详情类型 - * @param 查询条件 + * @param 查询条件类型 * @param 创建或修改请求参数类型 * @author Charles7c * @since 1.0.0 */ -public interface BaseService { +public interface CrudService { /** * 分页查询列表 diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mf/src/main/java/top/continew/starter/extension/crud/service/BaseServiceImpl.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mf/src/main/java/top/continew/starter/extension/crud/service/CrudServiceImpl.java similarity index 98% rename from continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mf/src/main/java/top/continew/starter/extension/crud/service/BaseServiceImpl.java rename to continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mf/src/main/java/top/continew/starter/extension/crud/service/CrudServiceImpl.java index c84e234b..0fb63f91 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mf/src/main/java/top/continew/starter/extension/crud/service/BaseServiceImpl.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mf/src/main/java/top/continew/starter/extension/crud/service/CrudServiceImpl.java @@ -52,18 +52,18 @@ import java.util.List; import java.util.Optional; /** - * 业务实现基类 + * CRUD 业务实现基类 * * @param Mapper 接口 * @param 实体类型 * @param 列表类型 * @param 详情类型 - * @param 查询条件 + * @param 查询条件类型 * @param 创建或修改请求参数类型 * @author Charles7c * @since 1.0.0 */ -public abstract class BaseServiceImpl, T extends BaseIdDO, L, D, Q, C> extends ServiceImpl implements BaseService { +public abstract class CrudServiceImpl, T extends BaseIdDO, L, D, Q, C> extends ServiceImpl implements CrudService { protected final Class listClass = this.currentListClass(); protected final Class detailClass = this.currentDetailClass(); diff --git a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/BaseServiceImpl.java b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/CrudServiceImpl.java similarity index 98% rename from continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/BaseServiceImpl.java rename to continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/CrudServiceImpl.java index 94a29a9f..4215f182 100644 --- a/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/BaseServiceImpl.java +++ b/continew-starter-extension/continew-starter-extension-crud/continew-starter-extension-crud-mp/src/main/java/top/continew/starter/extension/crud/service/CrudServiceImpl.java @@ -29,6 +29,7 @@ import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ReflectUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jakarta.servlet.http.HttpServletResponse; @@ -39,11 +40,9 @@ import top.continew.starter.core.util.ClassUtils; import top.continew.starter.core.util.ReflectUtils; import top.continew.starter.core.validation.CheckUtils; import top.continew.starter.core.validation.ValidationUtils; -import top.continew.starter.data.mp.base.BaseMapper; import top.continew.starter.data.mp.service.impl.ServiceImpl; import top.continew.starter.data.mp.util.QueryWrapperHelper; import top.continew.starter.extension.crud.annotation.DictModel; -import top.continew.starter.extension.crud.annotation.DictModel; import top.continew.starter.extension.crud.annotation.TreeField; import top.continew.starter.extension.crud.autoconfigure.CrudProperties; import top.continew.starter.extension.crud.autoconfigure.CrudTreeProperties; @@ -58,18 +57,18 @@ import java.lang.reflect.Field; import java.util.*; /** - * 业务实现基类 + * CRUD 业务实现基类 * * @param Mapper 接口 * @param 实体类型 * @param 列表类型 * @param 详情类型 - * @param 查询条件 + * @param 查询条件类型 * @param 创建或修改参数类型 * @author Charles7c * @since 1.0.0 */ -public abstract class BaseServiceImpl, T extends BaseIdDO, L, D, Q, C> extends ServiceImpl implements BaseService { +public abstract class CrudServiceImpl, T extends BaseIdDO, L, D, Q, C> extends ServiceImpl implements CrudService { private Class listClass; private Class detailClass;