diff --git a/src/main/java/com/imyeyu/api/modules/common/controller/SettingController.java b/src/main/java/com/imyeyu/api/modules/common/controller/SettingController.java index 27a9eec..f1b16e8 100644 --- a/src/main/java/com/imyeyu/api/modules/common/controller/SettingController.java +++ b/src/main/java/com/imyeyu/api/modules/common/controller/SettingController.java @@ -15,8 +15,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.List; +import java.util.Map; + /** * * @@ -26,11 +30,30 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequiredArgsConstructor -@RequestMapping("/system/setting") +@RequestMapping("/setting") public class SettingController { private final SettingService service; + /** + * 查询公开配置映射 + * + * @param bizType 业务类型 + * @param bizId 业务 ID,可为空 + * @param code 配置代码列表,可为空 + * @return 公开配置映射 + */ + @JsonView(ResponseView.Public.class) + @RequestRateLimit + @RequestMapping("/map") + public Map map( + @RequestParam String bizType, + @RequestParam(required = false) String bizId, + @RequestParam(required = false) List code + ) { + return service.mapPublic(bizType, bizId, code); + } + /** * 查询配置列表 * diff --git a/src/main/java/com/imyeyu/api/modules/common/mapper/SettingMapper.java b/src/main/java/com/imyeyu/api/modules/common/mapper/SettingMapper.java index df3e36c..2de1a22 100644 --- a/src/main/java/com/imyeyu/api/modules/common/mapper/SettingMapper.java +++ b/src/main/java/com/imyeyu/api/modules/common/mapper/SettingMapper.java @@ -3,6 +3,8 @@ package com.imyeyu.api.modules.common.mapper; import com.imyeyu.api.modules.common.entity.Setting; import com.imyeyu.spring.mapper.BaseMapper; +import java.util.List; + /** * 系统配置 * @@ -10,4 +12,6 @@ import com.imyeyu.spring.mapper.BaseMapper; * @since 2021-07-20 22:26 */ public interface SettingMapper extends BaseMapper { + + List selectPublicByQuery(String bizType, String bizId, List codeList); } diff --git a/src/main/java/com/imyeyu/api/modules/common/service/SettingService.java b/src/main/java/com/imyeyu/api/modules/common/service/SettingService.java index 3032d99..9cb48d0 100644 --- a/src/main/java/com/imyeyu/api/modules/common/service/SettingService.java +++ b/src/main/java/com/imyeyu/api/modules/common/service/SettingService.java @@ -7,6 +7,7 @@ import com.imyeyu.java.TimiJava; import com.imyeyu.spring.service.BaseService; import java.util.List; +import java.util.Map; /** * 配置服务 @@ -24,6 +25,16 @@ public interface SettingService extends BaseService { List listByBizId(String bizType, String bizId); + /** + * 查询公开配置映射 + * + * @param bizType 业务类型 + * @param bizId 业务 ID,可为空 + * @param code 配置代码列表,可为空 + * @return 公开配置映射 + */ + Map mapPublic(String bizType, String bizId, List code); + default List listBySettingSupport(SettingSupport settingSupport) { String bizType = settingSupport.getClass().getSimpleName().toUpperCase(); return listByBizId(bizType, settingSupport.getId()); diff --git a/src/main/java/com/imyeyu/api/modules/common/service/implement/SettingServiceImplement.java b/src/main/java/com/imyeyu/api/modules/common/service/implement/SettingServiceImplement.java index aff0365..d134a83 100644 --- a/src/main/java/com/imyeyu/api/modules/common/service/implement/SettingServiceImplement.java +++ b/src/main/java/com/imyeyu/api/modules/common/service/implement/SettingServiceImplement.java @@ -17,6 +17,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 系统配置服务实现 @@ -53,6 +55,12 @@ public class SettingServiceImplement extends AbstractEntityService mapPublic(String bizType, String bizId, List code) { + TimiException.required(bizType, "not found bizType"); + return mapper.selectPublicByQuery(bizType, bizId, code).stream().collect(Collectors.toMap(Setting::getCode, Function.identity())); + } + @Transactional(TimiServerDBConfig.ROLLBACKER) @Override public void updateByBizId(String bizType, String bizId, List list) { diff --git a/src/main/resources/mapper/timi-server/common/SettingMapper.xml b/src/main/resources/mapper/timi-server/common/SettingMapper.xml new file mode 100644 index 0000000..fbb7c2f --- /dev/null +++ b/src/main/resources/mapper/timi-server/common/SettingMapper.xml @@ -0,0 +1,20 @@ + + + + +