字典值列表查询

pull/3/head
caolin 2023-08-13 11:11:28 +08:00
parent 963d35a9a5
commit 8fa894e344
6 changed files with 146 additions and 9 deletions

View File

@ -2,6 +2,7 @@ package com.jwl.driver.server.controller;
import cn.hutool.core.util.StrUtil;
import com.jwl.driver.server.entity.TdSysConfig;
import com.jwl.driver.server.response.BaseResponse;
import com.jwl.driver.server.service.ITdSysConfigService;
import io.swagger.annotations.Api;
@ -35,8 +36,8 @@ public class TdSysConfigController {
*/
@ApiOperation("根据配置key和carTypeId获取配置信息,配置与车型无关则carTypeId为-1")
@GetMapping(value = "/queryConfigByKey")
public BaseResponse queryConfigByKey(@RequestParam("configKey") String configKey,@RequestParam("carTypeId") Integer carTypeId) {
return BaseResponse.success(configService.queryConfigByKey(configKey,carTypeId));
public BaseResponse queryConfigByKey(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) {
return BaseResponse.success(configService.queryConfigByKey(configKey, carTypeId));
}
/**
@ -44,10 +45,19 @@ public class TdSysConfigController {
*/
@ApiOperation("根据配置key获取配置值")
@GetMapping(value = "/queryConfigValueByKey")
public BaseResponse<String> queryConfigValueByKey(@RequestParam("configKey") String configKey,@RequestParam("carTypeId") Integer carTypeId) {
public BaseResponse<String> queryConfigValueByKey(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) {
return BaseResponse.success(configService.queryConfigValueByKey(configKey,carTypeId));
return BaseResponse.success(configService.queryConfigValueByKey(configKey, carTypeId));
}
/**
* keyscarTypeId,carTypeId-1
*/
@ApiOperation("根据配置keys和carTypeId获取配置信息,配置与车型无关则carTypeId为-1")
@PostMapping(value = "/queryConfigByKeys")
public BaseResponse<Map<String, TdSysConfig>> queryConfigByKeys(@RequestParam("configKeys") String configKeys, @RequestParam("carTypeId") Integer carTypeId) {
return BaseResponse.success(configService.queryConfigByKeys(Arrays.asList(configKeys.split(",")),carTypeId));
}
}

View File

@ -1,10 +1,23 @@
package com.jwl.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jwl.driver.server.entity.TdSysConfigList;
import com.jwl.driver.server.response.BaseResponse;
import com.jwl.driver.server.service.ITdSysConfigListService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.stereotype.Controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* <p>
* ;
@ -13,8 +26,36 @@ import org.springframework.stereotype.Controller;
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdSysConfigList")
@Api(tags = "字典值列表配置")
@RestController
@RequestMapping("/tdSysConfigList")
@Slf4j
public class TdSysConfigListController {
@Autowired
private ITdSysConfigListService configListService;
/**
* configKeycarTypeId
*/
@ApiOperation("根据configKey和carTypeId查询系统配置列表")
@PostMapping("/querySysConfigList")
public BaseResponse querySysConfigList(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) {
log.info("request to querySysConfigList {}", configKey);
List<TdSysConfigList> resultList = configListService.querySysConfigList(configKey, carTypeId);
return BaseResponse.success(resultList);
}
/**
* key carTypeId
*/
@ApiOperation("通过多个配置key 和 carTypeId 查询多个配置列表")
@PostMapping("/querySysConfigMap")
public BaseResponse querySysConfigMap(@RequestParam("configKey") String configKeys, @RequestParam("carTypeId") Integer carTypeId) {
log.info("request to querySysConfigList {}", configKeys);
Map<String, Map<String, String>> map = configListService.querySysConfigMap(Arrays.asList(configKeys.split(",")), carTypeId);
return BaseResponse.success(map);
}
}

View File

@ -3,6 +3,9 @@ package com.jwl.driver.server.service;
import com.jwl.driver.server.entity.TdSysConfigList;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
* <p>
* ;
@ -13,4 +16,19 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ITdSysConfigListService extends IService<TdSysConfigList> {
/**
* configKeycarTypeId
* @param configKey
* @param carTypeId
* @return
*/
List<TdSysConfigList> querySysConfigList(String configKey, Integer carTypeId);
/**
* key carTypeId
* @param configKeyList
* @param carTypeId
* @return
*/
Map<String, Map<String, String>> querySysConfigMap(List<String> configKeyList, Integer carTypeId);
}

View File

@ -3,6 +3,9 @@ package com.jwl.driver.server.service;
import com.jwl.driver.server.entity.TdSysConfig;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
* <p>
* ;
@ -28,4 +31,12 @@ public interface ITdSysConfigService extends IService<TdSysConfig> {
* @return
*/
String queryConfigValueByKey(String configKey,Integer carTypeId);
/**
* keyscarTypeId,carTypeId-1
* @param configKeyList
* @param carTypeId
* @return
*/
Map<String, TdSysConfig> queryConfigByKeys(List<String> configKeyList,Integer carTypeId);
}

View File

@ -1,11 +1,20 @@
package com.jwl.driver.server.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jwl.driver.server.constant.Constants;
import com.jwl.driver.server.entity.TdSysConfigList;
import com.jwl.driver.server.mapper.TdSysConfigListMapper;
import com.jwl.driver.server.service.ITdSysConfigListService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
* ;
@ -17,4 +26,33 @@ import org.springframework.stereotype.Service;
@Service
public class TdSysConfigListServiceImpl extends ServiceImpl<TdSysConfigListMapper, TdSysConfigList> implements ITdSysConfigListService {
@Override
public List<TdSysConfigList> querySysConfigList(String configKey, Integer carTypeId) {
LambdaQueryWrapper<TdSysConfigList> queryWrapper = new LambdaQueryWrapper<TdSysConfigList>()
.eq(TdSysConfigList::getCarTypeId, carTypeId)
.eq(TdSysConfigList::getConfigKey, configKey)
.eq(TdSysConfigList::getIsActive, Constants.IS_ACTIVE_TRUE)
.orderByAsc(TdSysConfigList::getShowOrder);
return this.getBaseMapper().selectList(queryWrapper);
}
@Override
public Map<String, Map<String, String>> querySysConfigMap(List<String> configKeyList, Integer carTypeId) {
Map<String, Map<String, String>> resultMap = new HashMap<>();
LambdaQueryWrapper<TdSysConfigList> queryWrapper = new LambdaQueryWrapper<TdSysConfigList>()
.eq(TdSysConfigList::getCarTypeId, carTypeId)
.in(TdSysConfigList::getConfigKey, configKeyList)
.eq(TdSysConfigList::getIsActive, Constants.IS_ACTIVE_TRUE);
List<TdSysConfigList> configLists = this.getBaseMapper().selectList(queryWrapper);
for (String configKey : configKeyList) {
Map<String, String> collect = configLists.stream().filter(s -> StrUtil.equals(s.getConfigKey(), configKey))
.sorted(Comparator.comparing(TdSysConfigList::getShowOrder))
.collect(Collectors.toMap(TdSysConfigList::getConfigItemCode, TdSysConfigList::getConfigItemName));
resultMap.put(configKey, collect);
}
return resultMap;
}
}

View File

@ -1,5 +1,6 @@
package com.jwl.driver.server.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jwl.driver.server.constant.Constants;
@ -11,6 +12,11 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
@ -27,7 +33,6 @@ public class TdSysConfigServiceImpl extends ServiceImpl<TdSysConfigMapper, TdSys
@Override
public TdSysConfig queryConfigByKey(String configKey, Integer carTypeId) {
log.info("获取系统配置参数configKey{}", configKey);
LocalDateTime now = LocalDateTime.now();
LambdaQueryWrapper<TdSysConfig> queryWrapper = new QueryWrapper<TdSysConfig>().lambda()
.eq(TdSysConfig::getCarTypeId,carTypeId)
.eq(TdSysConfig::getConfigKey, configKey)
@ -38,7 +43,6 @@ public class TdSysConfigServiceImpl extends ServiceImpl<TdSysConfigMapper, TdSys
@Override
public String queryConfigValueByKey(String configKey, Integer carTypeId) {
log.info("获取系统配置参数configKey{}", configKey);
LocalDateTime now = LocalDateTime.now();
LambdaQueryWrapper<TdSysConfig> queryWrapper = new QueryWrapper<TdSysConfig>().lambda()
.eq(TdSysConfig::getCarTypeId,carTypeId)
.eq(TdSysConfig::getConfigKey, configKey)
@ -49,4 +53,19 @@ public class TdSysConfigServiceImpl extends ServiceImpl<TdSysConfigMapper, TdSys
}
return config.getConfigValue();
}
@Override
public Map<String, TdSysConfig> queryConfigByKeys(List<String> configKeyList,Integer carTypeId) {
log.info("获取系统配置参数configKeyList{}", configKeyList);
LambdaQueryWrapper<TdSysConfig> queryWrapper = new QueryWrapper<TdSysConfig>().lambda()
.eq(TdSysConfig::getCarTypeId,carTypeId)
.in(TdSysConfig::getConfigKey, configKeyList)
.eq(TdSysConfig::getIsActive, Constants.IS_ACTIVE_TRUE);
List<TdSysConfig> configList = list(queryWrapper);
if(CollectionUtil.isEmpty(configList)) {
return Collections.EMPTY_MAP;
}
return configList.stream().collect(Collectors.toMap(TdSysConfig::getConfigKey, sysConfig -> sysConfig));
}
}