From b74c296ce3c58de5803b2cfea0f41efccb7b89cd Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 20 Dec 2021 14:06:50 +0800 Subject: [PATCH] 根据字典类型获取字典数据列表 --- screen-api/src/main/java/com/moral/api/service/SysDictDataService.java | 4 ++ screen-api/src/main/java/com/moral/api/controller/SysDictController.java | 41 ++++++++++++++++++++ screen-api/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java | 29 ++++++++++++++ 3 files changed, 74 insertions(+), 0 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/SysDictController.java b/screen-api/src/main/java/com/moral/api/controller/SysDictController.java new file mode 100644 index 0000000..022b40a --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/controller/SysDictController.java @@ -0,0 +1,41 @@ +package com.moral.api.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +import com.moral.api.service.SysDictDataService; +import com.moral.constant.ResponseCodeEnum; +import com.moral.constant.ResultMessage; + +@Slf4j +@Api(tags = {"������������"}) +@RestController +@RequestMapping("/sysDict") +public class SysDictController { + + @Autowired + private SysDictDataService sysDictDataService; + + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "������������������", required = true, paramType = "query", dataType = "String") + }) + @GetMapping(value = "getSysDictDataByDictType") + public ResultMessage getSysDictDataByDictType(String type) { + if (ObjectUtils.isEmpty(type)) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + Map<String, Object> response = sysDictDataService.getSysDictDataByDictType(type); + return ResultMessage.ok(response); + } +} diff --git a/screen-api/src/main/java/com/moral/api/service/SysDictDataService.java b/screen-api/src/main/java/com/moral/api/service/SysDictDataService.java index 6d56402..8d4d345 100644 --- a/screen-api/src/main/java/com/moral/api/service/SysDictDataService.java +++ b/screen-api/src/main/java/com/moral/api/service/SysDictDataService.java @@ -1,5 +1,7 @@ package com.moral.api.service; +import java.util.Map; + import com.moral.api.entity.SysDictData; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +15,6 @@ */ public interface SysDictDataService extends IService<SysDictData> { + Map<String, Object> getSysDictDataByDictType(String type); + } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java index 4eba4ad..6ba48cc 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java @@ -1,10 +1,19 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.SysDictData; +import com.moral.api.entity.SysDictType; import com.moral.api.mapper.SysDictDataMapper; +import com.moral.api.mapper.SysDictTypeMapper; import com.moral.api.service.SysDictDataService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -17,4 +26,24 @@ @Service public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements SysDictDataService { + @Autowired + private SysDictDataMapper sysDictDataMapper; + + @Autowired + private SysDictTypeMapper sysDictTypeMapper; + + @Override + public Map<String, Object> getSysDictDataByDictType(String type) { + //������������������������������������������id + QueryWrapper<SysDictType> sysDictTypeQueryWrapper = new QueryWrapper<>(); + sysDictTypeQueryWrapper.select("id").eq("name", type); + SysDictType sysDictType = sysDictTypeMapper.selectOne(sysDictTypeQueryWrapper); + + //������������������id������������������������ + QueryWrapper<SysDictData> sysDictDataQueryWrapper = new QueryWrapper<>(); + sysDictDataQueryWrapper.select("dataKey", "dataValue").eq("dict_type_id", sysDictType.getId()); + List<SysDictData> sysDictData = sysDictDataMapper.selectList(sysDictDataQueryWrapper); + + return sysDictData.stream().collect(Collectors.toMap(SysDictData::getDataKey, SysDictData::getDataValue, (a, b) -> b)); + } } -- Gitblit v1.8.0