增加List<KeyValue>转换为Map的接口
This commit is contained in:
parent
6ba18840d1
commit
79a23853fe
|
@ -184,6 +184,14 @@ public interface BaseService<T> {
|
|||
*/
|
||||
List<KeyValue> getKeyValueList(Wrapper queryWrapper);
|
||||
|
||||
/***
|
||||
* 获取键值对的Map
|
||||
*
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getKeyValueMap(Wrapper queryWrapper);
|
||||
|
||||
/**
|
||||
* 获取View Object对象
|
||||
* @param id 主键
|
||||
|
|
|
@ -242,6 +242,12 @@ public class BaseServiceImpl<M extends BaseCrudMapper<T>, T> extends ServiceImpl
|
|||
return keyValueList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getKeyValueMap(Wrapper queryWrapper) {
|
||||
List<KeyValue> keyValueList = getKeyValueList(queryWrapper);
|
||||
return BeanUtils.convertKeyValueList2Map(keyValueList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FieldBinder<T> bindingFieldTo(List voList){
|
||||
return new FieldBinder<>(this, voList);
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.diboot.core.util;
|
|||
|
||||
import com.diboot.core.config.Cons;
|
||||
import com.diboot.core.entity.BaseEntity;
|
||||
import com.diboot.core.vo.KeyValue;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.aop.support.AopUtils;
|
||||
|
@ -650,6 +651,18 @@ public class BeanUtils {
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换keyValue集合为Map
|
||||
* @param keyValueList
|
||||
* @return
|
||||
*/
|
||||
public static Map<String, Object> convertKeyValueList2Map(List<KeyValue> keyValueList) {
|
||||
if(V.notEmpty(keyValueList)){
|
||||
return keyValueList.stream().collect(Collectors.toMap(KeyValue::getK, KeyValue::getV));
|
||||
}
|
||||
return Collections.EMPTY_MAP;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据指定Key对list去重
|
||||
* @param list
|
||||
|
@ -689,4 +702,5 @@ public class BeanUtils {
|
|||
}
|
||||
return lambda;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* BaseService接口实现测试 (需先执行example中的初始化SQL)
|
||||
|
@ -139,6 +140,8 @@ public class BaseServiceTest {
|
|||
List<KeyValue> keyValues = dictionaryService.getKeyValueList("GENDER");
|
||||
Assert.assertTrue(keyValues.size() == 2);
|
||||
Assert.assertTrue(keyValues.get(0).getV().equals("M"));
|
||||
Map<String, Object> kvMap = BeanUtils.convertKeyValueList2Map(keyValues);
|
||||
Assert.assertTrue(kvMap.get("女").equals("F"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in New Issue