添加 BaseService 基础方法

This commit is contained in:
smallchill 2025-10-11 17:54:48 +08:00
parent 2bb0dc2073
commit 9ba7a859da
2 changed files with 51 additions and 2 deletions

View File

@ -15,11 +15,13 @@
*/
package org.springblade.core.mp.base;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;
/**
* 基础业务接口
@ -29,6 +31,30 @@ import java.util.List;
*/
public interface BaseService<T> extends IService<T> {
/**
* 根据条件查询单条记录
*
* @param queryWrapper 查询条件
* @return 查询结果实体无结果时返回null
*/
T queryOne(QueryWrapper<T> queryWrapper);
/**
* 根据实体对象查询详情
*
* @param entity 查询实体对象包含查询条件
* @return 查询结果实体无结果时返回null
*/
T queryDetail(T entity);
/**
* 根据Map条件查询详情
*
* @param entity 查询条件Mapkey为字段名value为字段值
* @return 查询结果实体无结果时返回null
*/
T queryDetail(Map<String, Object> entity);
/**
* 逻辑删除
*

View File

@ -16,11 +16,15 @@
package org.springblade.core.mp.base;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.validation.constraints.NotEmpty;
import lombok.SneakyThrows;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.core.tool.constant.BladeConstant;
@ -28,10 +32,10 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.validation.annotation.Validated;
import jakarta.validation.constraints.NotEmpty;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 业务封装基础类
@ -43,6 +47,25 @@ import java.util.List;
@Validated
public class BaseServiceImpl<M extends BaseMapper<T>, T extends BaseEntity> extends ServiceImpl<M, T> implements BaseService<T> {
@Override
public T queryOne(QueryWrapper<T> queryWrapper) {
Page<T> page = Page.of(1, 1);
Page<T> result = super.page(page, queryWrapper);
return result.getRecords().isEmpty() ? null : result.getRecords().get(0);
}
@Override
public T queryDetail(T entity) {
QueryWrapper<T> queryWrapper = Condition.getQueryWrapper(entity);
return queryWrapper.isEmptyOfWhere() ? null : super.getOne(queryWrapper);
}
@Override
public T queryDetail(Map<String, Object> entity) {
QueryWrapper<T> queryWrapper = Condition.getQueryWrapper(entity, getEntityClass());
return queryWrapper.isEmptyOfWhere() ? null : super.getOne(queryWrapper);
}
@Override
public boolean save(T entity) {
this.resolveSave(entity);