add setting map
This commit is contained in:
@@ -15,8 +15,12 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
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
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@RequestMapping("/system/setting")
|
@RequestMapping("/setting")
|
||||||
public class SettingController {
|
public class SettingController {
|
||||||
|
|
||||||
private final SettingService service;
|
private final SettingService service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询公开配置映射
|
||||||
|
*
|
||||||
|
* @param bizType 业务类型
|
||||||
|
* @param bizId 业务 ID,可为空
|
||||||
|
* @param code 配置代码列表,可为空
|
||||||
|
* @return 公开配置映射
|
||||||
|
*/
|
||||||
|
@JsonView(ResponseView.Public.class)
|
||||||
|
@RequestRateLimit
|
||||||
|
@RequestMapping("/map")
|
||||||
|
public Map<String, Setting> map(
|
||||||
|
@RequestParam String bizType,
|
||||||
|
@RequestParam(required = false) String bizId,
|
||||||
|
@RequestParam(required = false) List<String> code
|
||||||
|
) {
|
||||||
|
return service.mapPublic(bizType, bizId, code);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询配置列表
|
* 查询配置列表
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package com.imyeyu.api.modules.common.mapper;
|
|||||||
import com.imyeyu.api.modules.common.entity.Setting;
|
import com.imyeyu.api.modules.common.entity.Setting;
|
||||||
import com.imyeyu.spring.mapper.BaseMapper;
|
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
|
* @since 2021-07-20 22:26
|
||||||
*/
|
*/
|
||||||
public interface SettingMapper extends BaseMapper<Setting, String> {
|
public interface SettingMapper extends BaseMapper<Setting, String> {
|
||||||
|
|
||||||
|
List<Setting> selectPublicByQuery(String bizType, String bizId, List<String> codeList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.imyeyu.java.TimiJava;
|
|||||||
import com.imyeyu.spring.service.BaseService;
|
import com.imyeyu.spring.service.BaseService;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 配置服务
|
* 配置服务
|
||||||
@@ -24,6 +25,16 @@ public interface SettingService extends BaseService<Setting, String> {
|
|||||||
|
|
||||||
List<Setting> listByBizId(String bizType, String bizId);
|
List<Setting> listByBizId(String bizType, String bizId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询公开配置映射
|
||||||
|
*
|
||||||
|
* @param bizType 业务类型
|
||||||
|
* @param bizId 业务 ID,可为空
|
||||||
|
* @param code 配置代码列表,可为空
|
||||||
|
* @return 公开配置映射
|
||||||
|
*/
|
||||||
|
Map<String, Setting> mapPublic(String bizType, String bizId, List<String> code);
|
||||||
|
|
||||||
default List<Setting> listBySettingSupport(SettingSupport settingSupport) {
|
default List<Setting> listBySettingSupport(SettingSupport settingSupport) {
|
||||||
String bizType = settingSupport.getClass().getSimpleName().toUpperCase();
|
String bizType = settingSupport.getClass().getSimpleName().toUpperCase();
|
||||||
return listByBizId(bizType, settingSupport.getId());
|
return listByBizId(bizType, settingSupport.getId());
|
||||||
|
|||||||
+8
@@ -17,6 +17,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统配置服务实现
|
* 系统配置服务实现
|
||||||
@@ -53,6 +55,12 @@ public class SettingServiceImplement extends AbstractEntityService<Setting, Stri
|
|||||||
return mapper.selectAllByExample(example);
|
return mapper.selectAllByExample(example);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Setting> mapPublic(String bizType, String bizId, List<String> code) {
|
||||||
|
TimiException.required(bizType, "not found bizType");
|
||||||
|
return mapper.selectPublicByQuery(bizType, bizId, code).stream().collect(Collectors.toMap(Setting::getCode, Function.identity()));
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional(TimiServerDBConfig.ROLLBACKER)
|
@Transactional(TimiServerDBConfig.ROLLBACKER)
|
||||||
@Override
|
@Override
|
||||||
public void updateByBizId(String bizType, String bizId, List<Setting> list) {
|
public void updateByBizId(String bizType, String bizId, List<Setting> list) {
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="com.imyeyu.api.modules.common.mapper.SettingMapper">
|
||||||
|
<select id="selectPublicByQuery" resultType="com.imyeyu.api.modules.common.entity.Setting">
|
||||||
|
SELECT *
|
||||||
|
FROM `setting`
|
||||||
|
WHERE `biz_type` = #{bizType}
|
||||||
|
AND `is_private` = 0
|
||||||
|
<if test="bizId != null and bizId != ''">
|
||||||
|
AND `biz_id` = #{bizId}
|
||||||
|
</if>
|
||||||
|
<if test="codeList != null and !codeList.isEmpty()">
|
||||||
|
AND `code` IN
|
||||||
|
<foreach collection="codeList" item="code" separator="," open="(" close=")">
|
||||||
|
#{code}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
AND (`deleted_at` IS NULL OR FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000) < `deleted_at`)
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user