mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	update 优化 ServicePlusImpl 的 vo 泛型 由K改成V 增加可读性 增加注释
This commit is contained in:
		@@ -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;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user