screen-api/src/main/java/com/moral/api/controller/SysDictController.java | ●●●●● patch | view | raw | blame | history | |
screen-api/src/main/java/com/moral/api/service/SysDictDataService.java | ●●●●● patch | view | raw | blame | history | |
screen-api/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java | ●●●●● patch | view | raw | blame | history |
screen-api/src/main/java/com/moral/api/controller/SysDictController.java
New file @@ -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); } } 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); } 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)); } }