|
|
@ -16,10 +16,11 @@ import java.util.ArrayList;
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
|
|
|
|
|
|
public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> implements IBaseService<T> {
|
|
|
|
public abstract class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> implements IBaseService<T> {
|
|
|
|
|
|
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(BaseService.class);
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(BaseServiceImpl.class);
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public T findById(String id) {
|
|
|
|
public T findById(String id) {
|
|
|
@ -29,6 +30,7 @@ public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImp
|
|
|
|
return baseMapper.selectById(id);
|
|
|
|
return baseMapper.selectById(id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> findByIds(Collection<String> ids) {
|
|
|
|
public List<T> findByIds(Collection<String> ids) {
|
|
|
|
if (ids == null || ids.size() == 0) {
|
|
|
|
if (ids == null || ids.size() == 0) {
|
|
|
|
return new ArrayList<>();
|
|
|
|
return new ArrayList<>();
|
|
|
@ -37,13 +39,24 @@ public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 按字段查询,返回所有匹配的记录
|
|
|
|
* 按字段查询,返回所有匹配的记录, eq
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> findBy(String propertyName, Object propertyValue) {
|
|
|
|
public List<T> findBy(String propertyName, Object propertyValue) {
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
return baseMapper.selectList(new QueryWrapper<T>().eq(columnName, propertyValue));
|
|
|
|
return baseMapper.selectList(new QueryWrapper<T>().eq(columnName, propertyValue));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 按字段查询,返回所有匹配的记录, in
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<T> findByList(String propertyName, Collection<Object> propertyValue) {
|
|
|
|
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
|
|
|
|
return baseMapper.selectList(new QueryWrapper<T>().in(!Objects.isNull(propertyName), columnName, propertyValue));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> findActiveBy(String propertyName, Object propertyValue) {
|
|
|
|
public List<T> findActiveBy(String propertyName, Object propertyValue) {
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
QueryWrapper<T> queryWrapper = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
|
QueryWrapper<T> queryWrapper = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
@ -52,6 +65,7 @@ public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//返回所有匹配的记录并排序
|
|
|
|
//返回所有匹配的记录并排序
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> findBy(String propertyName, Object propertyValue, Sort sort) {
|
|
|
|
public List<T> findBy(String propertyName, Object propertyValue, Sort sort) {
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
@ -62,6 +76,7 @@ public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImp
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 返回所有匹配的Active记录并排序
|
|
|
|
* 返回所有匹配的Active记录并排序
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> findActiveBy(String propertyName, Object propertyValue, Sort sort) {
|
|
|
|
public List<T> findActiveBy(String propertyName, Object propertyValue, Sort sort) {
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
@ -70,48 +85,65 @@ public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImp
|
|
|
|
return baseMapper.selectList(query);
|
|
|
|
return baseMapper.selectList(query);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//按字段查询,返回第-条记录
|
|
|
|
@Override
|
|
|
|
public T findOneBy(String propertyName, Object propertyValue) {
|
|
|
|
public T findOneBy(String propertyName, Object propertyValue) {
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
return baseMapper.selectOne(new QueryWrapper<T>().eq(columnName, propertyValue));
|
|
|
|
List<T> list = baseMapper.selectList(new QueryWrapper<T>().eq(columnName, propertyValue));
|
|
|
|
|
|
|
|
return (list == null || list.size() == 0) ? null : list.get(0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public T findOneByList(String propertyName, Collection<Object> propertyValue) {
|
|
|
|
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
|
|
|
|
List<T> list = baseMapper.selectList(new QueryWrapper<T>().eq(!Objects.isNull(propertyName), columnName, propertyValue));
|
|
|
|
|
|
|
|
return (list == null || list.size() == 0) ? null : list.get(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//按字段查询,返回第一条Active 记录
|
|
|
|
//按字段查询,返回第一条Active 记录
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public T findActiveOneBy(String propertyName, Object propertyValue) {
|
|
|
|
public T findActiveOneBy(String propertyName, Object propertyValue) {
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
String columnName = getColumnName(propertyName);
|
|
|
|
QueryWrapper<T> queryWrapper = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
|
QueryWrapper<T> queryWrapper = new QueryWrapper<T>().eq(columnName, propertyValue);
|
|
|
|
queryWrapper.ne("state", 1);
|
|
|
|
queryWrapper.ne("state", 1);
|
|
|
|
return baseMapper.selectOne(queryWrapper);
|
|
|
|
List<T> list = baseMapper.selectList(queryWrapper);
|
|
|
|
|
|
|
|
return (list == null || list.size() == 0) ? null : list.get(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//* L ambda方式自由组合查询条件
|
|
|
|
//* L ambda方式自由组合查询条件
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> find(LambdaQueryWrapper<T> queryWrapper) {
|
|
|
|
public List<T> find(LambdaQueryWrapper<T> queryWrapper) {
|
|
|
|
return baseMapper.selectList(queryWrapper);
|
|
|
|
return baseMapper.selectList(queryWrapper);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//L ambda方式自由组合查询条件,返回第一条记录
|
|
|
|
//L ambda方式自由组合查询条件,返回第一条记录
|
|
|
|
public T findone(LambdaQueryWrapper<T> queryWrapper) {
|
|
|
|
@Override
|
|
|
|
return baseMapper.selectOne(queryWrapper);
|
|
|
|
public T findOne(LambdaQueryWrapper<T> queryWrapper) {
|
|
|
|
|
|
|
|
List<T> list = baseMapper.selectList(queryWrapper);
|
|
|
|
|
|
|
|
return (list == null || list.size() == 0) ? null : list.get(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//返回表所有记录
|
|
|
|
//返回表所有记录
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> findAll() {
|
|
|
|
public List<T> findAll() {
|
|
|
|
return baseMapper.selectList(null);
|
|
|
|
return baseMapper.selectList(null);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//返回表所有Active的记录
|
|
|
|
//返回表所有Active的记录
|
|
|
|
public List<T> findA1lActive() {
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<T> findAllActive() {
|
|
|
|
return baseMapper.selectList(Wrappers.<T>query().ne("state", 1));
|
|
|
|
return baseMapper.selectList(Wrappers.<T>query().ne("state", 1));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//返回表所有记录并排序
|
|
|
|
//返回表所有记录并排序
|
|
|
|
public List<T> findA1l(Sort sort) {
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<T> findAll(Sort sort) {
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>();
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>();
|
|
|
|
buildSort(sort, query);
|
|
|
|
buildSort(sort, query);
|
|
|
|
return baseMapper.selectList(query);
|
|
|
|
return baseMapper.selectList(query);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//返回表所有Active记录并排序
|
|
|
|
//返回表所有Active记录并排序
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<T> findAllActive(Sort sort) {
|
|
|
|
public List<T> findAllActive(Sort sort) {
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>();
|
|
|
|
QueryWrapper<T> query = new QueryWrapper<T>();
|
|
|
|
query.ne("state", 1);
|
|
|
|
query.ne("state", 1);
|
|
|
@ -134,6 +166,7 @@ public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int deleteByIdList(List<String> idList) {
|
|
|
|
public int deleteByIdList(List<String> idList) {
|
|
|
|
if (idList == null || idList.size() == 0) {
|
|
|
|
if (idList == null || idList.size() == 0) {
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
@ -161,4 +194,5 @@ public abstract class BaseService<M extends BaseMapper<T>, T> extends ServiceImp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
throw new RuntimeException("获取不到属性" + propertyName + "的列名");
|
|
|
|
throw new RuntimeException("获取不到属性" + propertyName + "的列名");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|