|
@@ -1,21 +1,22 @@
|
|
|
package com.punchsettle.server.service.manager.impl;
|
|
package com.punchsettle.server.service.manager.impl;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
|
|
|
|
+import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
import com.punchsettle.server.atomic.entity.SysDict;
|
|
import com.punchsettle.server.atomic.entity.SysDict;
|
|
|
import com.punchsettle.server.atomic.entity.SysDictItem;
|
|
import com.punchsettle.server.atomic.entity.SysDictItem;
|
|
|
import com.punchsettle.server.atomic.service.ISysDictItemService;
|
|
import com.punchsettle.server.atomic.service.ISysDictItemService;
|
|
|
import com.punchsettle.server.atomic.service.ISysDictService;
|
|
import com.punchsettle.server.atomic.service.ISysDictService;
|
|
|
|
|
+import com.punchsettle.server.common.exception.BusinessException;
|
|
|
import com.punchsettle.server.constant.DictDataType;
|
|
import com.punchsettle.server.constant.DictDataType;
|
|
|
import com.punchsettle.server.pojo.dict.DictItemVO;
|
|
import com.punchsettle.server.pojo.dict.DictItemVO;
|
|
|
-import com.punchsettle.server.pojo.dict.DictQuery;
|
|
|
|
|
import com.punchsettle.server.pojo.dict.DictVO;
|
|
import com.punchsettle.server.pojo.dict.DictVO;
|
|
|
import com.punchsettle.server.service.manager.IDictManager;
|
|
import com.punchsettle.server.service.manager.IDictManager;
|
|
|
|
|
|
|
@@ -35,42 +36,35 @@ public class DictManagerImpl implements IDictManager {
|
|
|
private ISysDictItemService dictItemService;
|
|
private ISysDictItemService dictItemService;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public List<DictVO> queryDictItems(DictQuery query) {
|
|
|
|
|
- // 获取字典
|
|
|
|
|
- List<SysDict> dictList = dictService.getByDictCode(query.getDictCodes());
|
|
|
|
|
- if (CollectionUtils.isEmpty(dictList)) {
|
|
|
|
|
- return List.of();
|
|
|
|
|
|
|
+ public DictVO queryDict(String dictCode) {
|
|
|
|
|
+ if (!StringUtils.hasText(dictCode)) {
|
|
|
|
|
+ return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // TODO 差了状态过滤
|
|
|
|
|
+ // 获取字典
|
|
|
|
|
+ SysDict dict = Optional.ofNullable(dictService.getByDictCode(dictCode)).orElseThrow(() -> BusinessException.fail("字典不存在"));
|
|
|
|
|
+ DictVO dictVO = new DictVO();
|
|
|
|
|
+ BeanUtils.copyProperties(dict, dictVO);
|
|
|
|
|
+
|
|
|
// 获取字典项
|
|
// 获取字典项
|
|
|
- List<Long> dictIds = dictList.stream().map(SysDict::getId).collect(Collectors.toList());
|
|
|
|
|
- List<SysDictItem> dictItemList = dictItemService.getDictItemByDictId(dictIds);
|
|
|
|
|
- if (CollectionUtils.isEmpty(dictItemList)) {
|
|
|
|
|
- return null;
|
|
|
|
|
|
|
+ List<SysDictItem> dictItems = dictItemService.getByDictId(dict.getId());
|
|
|
|
|
+ if (CollectionUtils.isEmpty(dictItems)) {
|
|
|
|
|
+ return dictVO;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 字典-字典项 map
|
|
|
|
|
- Map<Long, List<SysDictItem>> dictItemMap = dictItemList.stream().collect(Collectors.groupingBy(SysDictItem::getDictId));
|
|
|
|
|
-
|
|
|
|
|
- return dictList.stream().map(dict -> {
|
|
|
|
|
- DictVO dictVO = new DictVO();
|
|
|
|
|
- BeanUtils.copyProperties(dict, dictVO);
|
|
|
|
|
- List<SysDictItem> itemList = dictItemMap.get(dict.getId());
|
|
|
|
|
- if (!CollectionUtils.isEmpty(itemList)) {
|
|
|
|
|
- List<DictItemVO> itemVOList = itemList.stream().map(item -> {
|
|
|
|
|
- DictItemVO itemVO = new DictItemVO();
|
|
|
|
|
- itemVO.setItemName(item.getItemName());
|
|
|
|
|
- if (DictDataType.NUMBER.equals(item.getDataType())) {
|
|
|
|
|
- itemVO.setItemCode(Integer.valueOf(item.getItemCode()));
|
|
|
|
|
- }
|
|
|
|
|
- if (DictDataType.STRING.equals(item.getDataType())) {
|
|
|
|
|
- itemVO.setItemCode(item.getItemCode());
|
|
|
|
|
- }
|
|
|
|
|
- return itemVO;
|
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
|
- dictVO.setDictItems(itemVOList);
|
|
|
|
|
|
|
+ List<DictItemVO> itemVOList = dictItems.stream().map(item -> {
|
|
|
|
|
+ DictItemVO itemVO = new DictItemVO();
|
|
|
|
|
+ if (DictDataType.NUMBER.equals(item.getDataType())) {
|
|
|
|
|
+ itemVO.setItemValue(Integer.valueOf(item.getItemValue()));
|
|
|
}
|
|
}
|
|
|
- return dictVO;
|
|
|
|
|
|
|
+ if (DictDataType.STRING.equals(item.getDataType())) {
|
|
|
|
|
+ itemVO.setItemValue(item.getItemValue());
|
|
|
|
|
+ }
|
|
|
|
|
+ return itemVO;
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
+ dictVO.setDictItems(itemVOList);
|
|
|
|
|
+
|
|
|
|
|
+ return dictVO;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|