mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 04:39:00 +08:00
✨ Introducing new features. #5041 ParamResolver 增加批量获取参数的方法封装
This commit is contained in:
1 parent
3abfce5703
commit
d0bb2f01e7
5 files changed
+69
No files matched your search
+18
@@ -7,6 +7,9 @@ import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
|
||||
import com.pig4cloud.pigx.common.core.util.SpringContextHolder;
|
||||
import lombok.experimental.UtilityClass;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author lengleng
|
||||
* @date 2020/5/12
|
||||
@@ -16,6 +19,21 @@ import lombok.experimental.UtilityClass;
|
||||
@UtilityClass
|
||||
public class ParamResolver {
|
||||
|
||||
/**
|
||||
* 根据多个key 查询value 配置 结果使用hutool 的maputil 进行包装处理 MapUtil.getBool(result,key)
|
||||
* @param key key
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
public Map<String, Object> getMap(String... key) {
|
||||
// 校验入参是否合法
|
||||
if (Objects.isNull(key)) {
|
||||
throw new IllegalArgumentException("参数不合法");
|
||||
}
|
||||
|
||||
RemoteParamService remoteParamService = SpringContextHolder.getBean(RemoteParamService.class);
|
||||
return remoteParamService.getByKeys(key, SecurityConstants.FROM_IN).getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据key 查询value 配置
|
||||
* @param key key
|
||||
|
||||
+14
@@ -3,10 +3,14 @@ package com.pig4cloud.pigx.admin.api.feign;
|
||||
import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
|
||||
import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants;
|
||||
import com.pig4cloud.pigx.common.core.util.R;
|
||||
import com.pig4cloud.pigx.common.core.util.RetOps;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lengleng
|
||||
@@ -26,4 +30,14 @@ public interface RemoteParamService {
|
||||
@GetMapping("/param/publicValue/{key}")
|
||||
R<String> getByKey(@PathVariable("key") String key, @RequestHeader(SecurityConstants.FROM) String from);
|
||||
|
||||
/**
|
||||
* 通过keys 查询参数配置
|
||||
* @param keys keys
|
||||
* @param from 声明成内部调用,避免MQ 等无法调用
|
||||
* @return map
|
||||
*/
|
||||
@GetMapping("/param/publicValues")
|
||||
R<Map<String, Object>> getByKeys(@RequestParam("keys") String[] keys,
|
||||
@RequestHeader(SecurityConstants.FROM) String from);
|
||||
|
||||
}
|
||||
+12
@@ -65,6 +65,18 @@ public class SysPublicParamController {
|
||||
return R.ok(sysPublicParamService.getSysPublicParamKeyToValue(publicKey));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过key查询公共参数值
|
||||
* @param keys
|
||||
* @return
|
||||
*/
|
||||
@Inner(value = false)
|
||||
@Operation(description = "查询公共参数值", summary = "根据key查询公共参数值")
|
||||
@GetMapping("/publicValues")
|
||||
public R publicKeys( String[] keys) {
|
||||
return R.ok(sysPublicParamService. getSysPublicParamsKeyToValue(keys));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
|
||||
+9
@@ -21,6 +21,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.pig4cloud.pigx.admin.api.entity.SysPublicParam;
|
||||
import com.pig4cloud.pigx.common.core.util.R;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 公共参数配置
|
||||
*
|
||||
@@ -36,6 +38,13 @@ public interface SysPublicParamService extends IService<SysPublicParam> {
|
||||
*/
|
||||
String getSysPublicParamKeyToValue(String publicKey);
|
||||
|
||||
/**
|
||||
* 通过key查询公共参数指定值
|
||||
* @param keys 参数列表
|
||||
* @return Map
|
||||
*/
|
||||
Map<String, Object> getSysPublicParamsKeyToValue(String[] keys);
|
||||
|
||||
/**
|
||||
* 更新参数
|
||||
* @param sysPublicParam
|
||||
|
||||
+16
@@ -33,7 +33,9 @@ import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -59,6 +61,20 @@ public class SysPublicParamServiceImpl extends ServiceImpl<SysPublicParamMapper,
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过key查询公共参数指定值
|
||||
* @param keys 参数列表
|
||||
* @return Map
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getSysPublicParamsKeyToValue(String[] keys) {
|
||||
List<SysPublicParam> paramList = this.baseMapper
|
||||
.selectList(Wrappers.<SysPublicParam>lambdaQuery().in(SysPublicParam::getPublicKey, keys));
|
||||
Map<String, Object> result = new HashMap<>(8);
|
||||
paramList.forEach(param -> result.put(param.getPublicKey(), param.getPublicValue()));
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新参数
|
||||
* @param sysPublicParam
|
||||
|
||||
Reference in new issue
Block a user