diff --git a/src/main/java/com/jwl/driver/server/controller/TdSysConfigController.java b/src/main/java/com/jwl/driver/server/controller/TdSysConfigController.java index fd2b09a..4a5c085 100644 --- a/src/main/java/com/jwl/driver/server/controller/TdSysConfigController.java +++ b/src/main/java/com/jwl/driver/server/controller/TdSysConfigController.java @@ -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 queryConfigValueByKey(@RequestParam("configKey") String configKey,@RequestParam("carTypeId") Integer carTypeId) { + public BaseResponse queryConfigValueByKey(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) { - return BaseResponse.success(configService.queryConfigValueByKey(configKey,carTypeId)); + return BaseResponse.success(configService.queryConfigValueByKey(configKey, carTypeId)); } + /** + * 根据配置keys和carTypeId获取配置信息,配置与车型无关则carTypeId为-1 + */ + @ApiOperation("根据配置keys和carTypeId获取配置信息,配置与车型无关则carTypeId为-1") + @PostMapping(value = "/queryConfigByKeys") + public BaseResponse> queryConfigByKeys(@RequestParam("configKeys") String configKeys, @RequestParam("carTypeId") Integer carTypeId) { + return BaseResponse.success(configService.queryConfigByKeys(Arrays.asList(configKeys.split(",")),carTypeId)); + + } } diff --git a/src/main/java/com/jwl/driver/server/controller/TdSysConfigListController.java b/src/main/java/com/jwl/driver/server/controller/TdSysConfigListController.java index e0c72d4..29f5ee1 100644 --- a/src/main/java/com/jwl/driver/server/controller/TdSysConfigListController.java +++ b/src/main/java/com/jwl/driver/server/controller/TdSysConfigListController.java @@ -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; + /** *

* 系统配置列表; 前端控制器 @@ -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; + + /** + * 根据configKey和carTypeId查询系统配置列表 + */ + @ApiOperation("根据configKey和carTypeId查询系统配置列表") + @PostMapping("/querySysConfigList") + public BaseResponse querySysConfigList(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) { + log.info("request to querySysConfigList :{}", configKey); + List 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> map = configListService.querySysConfigMap(Arrays.asList(configKeys.split(",")), carTypeId); + return BaseResponse.success(map); + } + + } diff --git a/src/main/java/com/jwl/driver/server/service/ITdSysConfigListService.java b/src/main/java/com/jwl/driver/server/service/ITdSysConfigListService.java index e6dd741..9864817 100644 --- a/src/main/java/com/jwl/driver/server/service/ITdSysConfigListService.java +++ b/src/main/java/com/jwl/driver/server/service/ITdSysConfigListService.java @@ -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; + /** *

* 系统配置列表; 服务类 @@ -13,4 +16,19 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ITdSysConfigListService extends IService { + /** + * 根据configKey和carTypeId查询系统配置列表 + * @param configKey + * @param carTypeId + * @return + */ + List querySysConfigList(String configKey, Integer carTypeId); + + /** + * 通过多个配置key 和 carTypeId 查询多个配置列表 + * @param configKeyList + * @param carTypeId + * @return + */ + Map> querySysConfigMap(List configKeyList, Integer carTypeId); } diff --git a/src/main/java/com/jwl/driver/server/service/ITdSysConfigService.java b/src/main/java/com/jwl/driver/server/service/ITdSysConfigService.java index 14c97cd..7d5774f 100644 --- a/src/main/java/com/jwl/driver/server/service/ITdSysConfigService.java +++ b/src/main/java/com/jwl/driver/server/service/ITdSysConfigService.java @@ -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; + /** *

* 系统配置表; 服务类 @@ -28,4 +31,12 @@ public interface ITdSysConfigService extends IService { * @return */ String queryConfigValueByKey(String configKey,Integer carTypeId); + + /** + * 根据配置keys和carTypeId获取配置信息,配置与车型无关则carTypeId为-1 + * @param configKeyList + * @param carTypeId + * @return + */ + Map queryConfigByKeys(List configKeyList,Integer carTypeId); } diff --git a/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigListServiceImpl.java b/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigListServiceImpl.java index 39a3723..c0f9681 100644 --- a/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigListServiceImpl.java +++ b/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigListServiceImpl.java @@ -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; + /** *

* 系统配置列表; 服务实现类 @@ -17,4 +26,33 @@ import org.springframework.stereotype.Service; @Service public class TdSysConfigListServiceImpl extends ServiceImpl implements ITdSysConfigListService { + @Override + public List querySysConfigList(String configKey, Integer carTypeId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .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> querySysConfigMap(List configKeyList, Integer carTypeId) { + + Map> resultMap = new HashMap<>(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(TdSysConfigList::getCarTypeId, carTypeId) + .in(TdSysConfigList::getConfigKey, configKeyList) + .eq(TdSysConfigList::getIsActive, Constants.IS_ACTIVE_TRUE); + + List configLists = this.getBaseMapper().selectList(queryWrapper); + for (String configKey : configKeyList) { + Map 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; + } } diff --git a/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigServiceImpl.java b/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigServiceImpl.java index 8688a64..12b5d9d 100644 --- a/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigServiceImpl.java +++ b/src/main/java/com/jwl/driver/server/service/impl/TdSysConfigServiceImpl.java @@ -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; /** *

@@ -27,7 +33,6 @@ public class TdSysConfigServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper().lambda() .eq(TdSysConfig::getCarTypeId,carTypeId) .eq(TdSysConfig::getConfigKey, configKey) @@ -38,7 +43,6 @@ public class TdSysConfigServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper().lambda() .eq(TdSysConfig::getCarTypeId,carTypeId) .eq(TdSysConfig::getConfigKey, configKey) @@ -49,4 +53,19 @@ public class TdSysConfigServiceImpl extends ServiceImpl queryConfigByKeys(List configKeyList,Integer carTypeId) { + log.info("获取系统配置参数,configKeyList:{}", configKeyList); + LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda() + .eq(TdSysConfig::getCarTypeId,carTypeId) + .in(TdSysConfig::getConfigKey, configKeyList) + .eq(TdSysConfig::getIsActive, Constants.IS_ACTIVE_TRUE); + List configList = list(queryWrapper); + + if(CollectionUtil.isEmpty(configList)) { + return Collections.EMPTY_MAP; + } + return configList.stream().collect(Collectors.toMap(TdSysConfig::getConfigKey, sysConfig -> sysConfig)); + } }