update 优化 ServicePlusImpl 的 vo 泛型 由K改成V 增加可读性 增加注释

This commit is contained in:
疯狂的狮子li 2021-08-26 10:56:36 +08:00
parent 0014be5242
commit 23ce0af2e8

View File

@ -24,11 +24,14 @@ import java.util.Map;
/**
* IServicePlus 实现类
*
* @param <M> Mapper类
* @param <T> 数据实体类
* @param <V> vo类
* @author Lion Li
*/
@Slf4j
@SuppressWarnings("unchecked")
public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceImpl<M, T> implements IServicePlus<T, K> {
public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, V> extends ServiceImpl<M, T> implements IServicePlus<T, V> {
@Autowired
protected M baseMapper;
@ -48,9 +51,9 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
protected Class<T> mapperClass = currentMapperClass();
protected Class<K> voClass = currentVoClass();
protected Class<V> voClass = currentVoClass();
public Class<K> getVoClass() {
public Class<V> getVoClass() {
return voClass;
}
@ -64,8 +67,8 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
return (Class<T>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(1).getType();
}
protected Class<K> currentVoClass() {
return (Class<K>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(2).getType();
protected Class<V> currentVoClass() {
return (Class<V>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(2).getType();
}
@Override
@ -159,7 +162,7 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
* @param id 主键ID
*/
@Override
public K getVoById(Serializable id, CopyOptions copyOptions) {
public V getVoById(Serializable id, CopyOptions copyOptions) {
T t = getBaseMapper().selectById(id);
return BeanCopyUtils.oneCopy(t, copyOptions, voClass);
}
@ -170,7 +173,7 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
* @param idList 主键ID列表
*/
@Override
public List<K> listVoByIds(Collection<? extends Serializable> idList, CopyOptions copyOptions) {
public List<V> listVoByIds(Collection<? extends Serializable> idList, CopyOptions copyOptions) {
List<T> list = getBaseMapper().selectBatchIds(idList);
if (list == null) {
return null;
@ -184,7 +187,7 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
* @param columnMap 表字段 map 对象
*/
@Override
public List<K> listVoByMap(Map<String, Object> columnMap, CopyOptions copyOptions) {
public List<V> listVoByMap(Map<String, Object> columnMap, CopyOptions copyOptions) {
List<T> list = getBaseMapper().selectByMap(columnMap);
if (list == null) {
return null;
@ -199,7 +202,7 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
* @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
*/
@Override
public K getVoOne(Wrapper<T> queryWrapper, CopyOptions copyOptions) {
public V getVoOne(Wrapper<T> queryWrapper, CopyOptions copyOptions) {
T t = getOne(queryWrapper, true);
return BeanCopyUtils.oneCopy(t, copyOptions, voClass);
}
@ -210,7 +213,7 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
* @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
*/
@Override
public List<K> listVo(Wrapper<T> queryWrapper, CopyOptions copyOptions) {
public List<V> listVo(Wrapper<T> queryWrapper, CopyOptions copyOptions) {
List<T> list = getBaseMapper().selectList(queryWrapper);
if (list == null) {
return null;
@ -225,9 +228,9 @@ public class ServicePlusImpl<M extends BaseMapperPlus<T>, T, K> extends ServiceI
* @param queryWrapper 实体对象封装操作类
*/
@Override
public PagePlus<T, K> pageVo(PagePlus<T, K> page, Wrapper<T> queryWrapper, CopyOptions copyOptions) {
PagePlus<T, K> result = getBaseMapper().selectPage(page, queryWrapper);
List<K> volist = BeanCopyUtils.listCopy(result.getRecords(), copyOptions, voClass);
public PagePlus<T, V> pageVo(PagePlus<T, V> page, Wrapper<T> queryWrapper, CopyOptions copyOptions) {
PagePlus<T, V> result = getBaseMapper().selectPage(page, queryWrapper);
List<V> volist = BeanCopyUtils.listCopy(result.getRecords(), copyOptions, voClass);
result.setRecordsVo(volist);
return result;
}