Browse Source

Merge remote-tracking branch 'origin/release-sy-v1.0.0' into release-sy-v1.0.0

master_tdsql
hxh 1 year ago
parent
commit
1925694154
  1. 4
      shuili-admin/src/main/java/com/kms/web/controller/system/SysDictDataController.java
  2. 39
      shuili-system/src/main/java/com/kms/system/service/SysDictDataService.java

4
shuili-admin/src/main/java/com/kms/web/controller/system/SysDictDataController.java

@ -124,12 +124,12 @@ public class SysDictDataController extends BaseController
/** /**
* 字典数据map(key:dictValue,value:dictLabel) * 字典数据map(key:dictValue,value:dictLabel)
* @param dictType * @param dictType 字典类型
* @return * @return
*/ */
@ApiOperation("字典数据Map") @ApiOperation("字典数据Map")
@GetMapping(value = "/map") @GetMapping(value = "/map")
public Response<Map<String, String>> map(@RequestParam(required = false) String dictType) { public Response<Map<String, String>> map(@RequestParam(value = "dictType") String dictType) {
return Response.ok(dictDataService.selectMap(dictType)); return Response.ok(dictDataService.selectMap(dictType));
} }
} }

39
shuili-system/src/main/java/com/kms/system/service/SysDictDataService.java

@ -1,17 +1,21 @@
package com.kms.system.service; package com.kms.system.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.kms.system.mapper.SysDictTypeMapper;
import com.shuili.common.constant.YesOrNo; import com.shuili.common.constant.YesOrNo;
import com.shuili.common.core.domain.entity.SysDictData; import com.shuili.common.core.domain.entity.SysDictData;
import com.shuili.common.core.domain.entity.SysDictType;
import com.shuili.common.core.service.BaseService; import com.shuili.common.core.service.BaseService;
import com.shuili.common.utils.DictUtils; import com.shuili.common.utils.DictUtils;
import com.shuili.common.utils.StringUtils; import com.shuili.common.utils.StringUtils;
import com.kms.common.utils.BaseEntityUtils; import com.kms.common.utils.BaseEntityUtils;
import com.kms.system.mapper.SysDictDataMapper; import com.kms.system.mapper.SysDictDataMapper;
import org.apache.commons.collections4.CollectionUtils;
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 java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -27,6 +31,9 @@ public class SysDictDataService extends BaseService<SysDictDataMapper,SysDictDat
@Autowired @Autowired
private SysDictDataMapper dictDataMapper; private SysDictDataMapper dictDataMapper;
@Autowired
private SysDictTypeMapper dictTypeMapper;
/** /**
* 根据条件分页查询字典数据 * 根据条件分页查询字典数据
* *
@ -134,10 +141,32 @@ public class SysDictDataService extends BaseService<SysDictDataMapper,SysDictDat
public Map<String, String> selectMap(String dictType) { public Map<String, String> selectMap(String dictType) {
LambdaQueryWrapper<SysDictData> queryWrapper = new LambdaQueryWrapper<>(); // 字典数据
queryWrapper List<SysDictData> sysDictData = dictDataMapper.selectList(null);
.eq(StringUtils.isNotBlank(dictType), SysDictData::getDictType, dictType);
List<SysDictData> sysDictData = dictDataMapper.selectList(queryWrapper); Map<String, List<SysDictData>> dictDataMap = sysDictData.stream().collect(Collectors.groupingBy(SysDictData::getDictType));
return sysDictData.stream().collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
Map<String, String> map = new HashMap<>();
List<SysDictData> dataList = dictDataMap.get(dictType);
if(CollectionUtils.isNotEmpty(dataList)) {
toMap(dataList, map, dictDataMap, "");
}
return map;
}
private void toMap(List<SysDictData> dataList, Map<String, String> map, Map<String, List<SysDictData>> dictDataMap, String keyPrefix) {
dataList.forEach(t -> {
String key = keyPrefix + t.getDictValue();
map.put(key, t.getDictLabel());
// 该 字典也可作为 一个父级
List<SysDictData> sysDictData = dictDataMap.get(t.getDictValue());
if(CollectionUtils.isNotEmpty(sysDictData)) {
toMap(sysDictData, map, dictDataMap, key + ":");
}
});
} }
} }

Loading…
Cancel
Save