mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-09-17 19:06:39 +08:00
1、若干个细节修改;2、更新SQL脚本,t_dict_key 的 key_code 值错误
This commit is contained in:
parent
5fb1456080
commit
b72f58a0bb
@ -1,6 +1,5 @@
|
|||||||
package net.lab1024.sa.admin.module.business.goods.domain.vo;
|
package net.lab1024.sa.admin.module.business.goods.domain.vo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
|
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
|
||||||
|
@ -1,18 +1,15 @@
|
|||||||
package net.lab1024.sa.base.common.json.deserializer;
|
package net.lab1024.sa.base.common.json.deserializer;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonParser;
|
import com.fasterxml.jackson.core.JsonParser;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
||||||
import com.fasterxml.jackson.core.ObjectCodec;
|
import com.fasterxml.jackson.core.ObjectCodec;
|
||||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典反序列化
|
* 字典反序列化
|
||||||
@ -27,7 +24,7 @@ import java.util.stream.Collectors;
|
|||||||
public class DictValueVoDeserializer extends JsonDeserializer<String> {
|
public class DictValueVoDeserializer extends JsonDeserializer<String> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
|
public String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
ObjectCodec objectCodec = jsonParser.getCodec();
|
ObjectCodec objectCodec = jsonParser.getCodec();
|
||||||
JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);
|
JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);
|
||||||
|
@ -68,7 +68,7 @@ public class FileConfig implements WebMvcConfigurer {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = "cloud")
|
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = MODE_CLOUD)
|
||||||
public AmazonS3 initAmazonS3() {
|
public AmazonS3 initAmazonS3() {
|
||||||
ClientConfiguration clientConfig = new ClientConfiguration();
|
ClientConfiguration clientConfig = new ClientConfiguration();
|
||||||
clientConfig.setProtocol(Protocol.HTTPS);
|
clientConfig.setProtocol(Protocol.HTTPS);
|
||||||
|
@ -33,7 +33,6 @@ public class RedisConfig {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public RedisTemplate<String, Object> redisTemplate() {
|
public RedisTemplate<String, Object> redisTemplate() {
|
||||||
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
|
|
||||||
ObjectMapper om = new ObjectMapper();
|
ObjectMapper om = new ObjectMapper();
|
||||||
om.registerModule(new JavaTimeModule())
|
om.registerModule(new JavaTimeModule())
|
||||||
.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false)
|
.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false)
|
||||||
@ -43,9 +42,11 @@ public class RedisConfig {
|
|||||||
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
||||||
|
|
||||||
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
||||||
// enableDefaultTyping 官方已弃用 所以改为 activateDefaultTyping
|
|
||||||
om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
|
om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
|
||||||
jackson2JsonRedisSerializer.setObjectMapper(om);
|
|
||||||
|
// 由于在 SpringBoot3 中 jackson2JsonRedisSerializer.setObjectMapper 弃用,所以改为
|
||||||
|
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(om, Object.class);
|
||||||
|
|
||||||
RedisTemplate<String, Object> template = new RedisTemplate<>();
|
RedisTemplate<String, Object> template = new RedisTemplate<>();
|
||||||
template.setConnectionFactory(factory);
|
template.setConnectionFactory(factory);
|
||||||
template.setKeySerializer(new StringRedisSerializer());
|
template.setKeySerializer(new StringRedisSerializer());
|
||||||
|
@ -107,16 +107,14 @@ public class DictCacheService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<DictValueVO> dictValueVOList = DICT_CACHE.get(valueCode);
|
List<DictValueVO> dictValueVOList = DICT_CACHE.get(keyCode);
|
||||||
if (CollectionUtils.isEmpty(dictValueVOList)) {
|
if (CollectionUtils.isEmpty(dictValueVOList)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Optional<DictValueVO> option = dictValueVOList.stream().filter(e->e.getValueCode().equals(valueCode)).findFirst();
|
Optional<DictValueVO> option = dictValueVOList.stream().filter(e->e.getValueCode().equals(valueCode)).findFirst();
|
||||||
if(option.isPresent()){
|
return option.orElse(null);
|
||||||
return option.get();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String selectValueNameByValueCodeSplit(String keyCode, String valueCodes) {
|
public String selectValueNameByValueCodeSplit(String keyCode, String valueCodes) {
|
||||||
if (StrUtil.isEmpty(valueCodes)) {
|
if (StrUtil.isEmpty(valueCodes)) {
|
||||||
return "";
|
return "";
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<if test="query.searchWord != null and query.searchWord != '' ">
|
<if test="query.searchWord != null and query.searchWord != '' ">
|
||||||
AND (
|
AND (
|
||||||
INSTR(feedback_content,#{query.searchWord})
|
INSTR(feedback_content,#{query.searchWord})
|
||||||
OR INSTR(create_name,#{query.searchWord})
|
OR INSTR(user_name,#{query.searchWord})
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="query.startDate != null">
|
<if test="query.startDate != null">
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package net.lab1024.sa.admin.module.business.goods.domain.vo;
|
package net.lab1024.sa.admin.module.business.goods.domain.vo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
|
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
|
||||||
|
@ -1,18 +1,15 @@
|
|||||||
package net.lab1024.sa.base.common.json.deserializer;
|
package net.lab1024.sa.base.common.json.deserializer;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonParser;
|
import com.fasterxml.jackson.core.JsonParser;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
||||||
import com.fasterxml.jackson.core.ObjectCodec;
|
import com.fasterxml.jackson.core.ObjectCodec;
|
||||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典反序列化
|
* 字典反序列化
|
||||||
@ -27,7 +24,7 @@ import java.util.stream.Collectors;
|
|||||||
public class DictValueVoDeserializer extends JsonDeserializer<String> {
|
public class DictValueVoDeserializer extends JsonDeserializer<String> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
|
public String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
ObjectCodec objectCodec = jsonParser.getCodec();
|
ObjectCodec objectCodec = jsonParser.getCodec();
|
||||||
JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);
|
JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);
|
||||||
|
@ -68,7 +68,7 @@ public class FileConfig implements WebMvcConfigurer {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = "cloud")
|
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = MODE_CLOUD)
|
||||||
public AmazonS3 initAmazonS3() {
|
public AmazonS3 initAmazonS3() {
|
||||||
ClientConfiguration clientConfig = new ClientConfiguration();
|
ClientConfiguration clientConfig = new ClientConfiguration();
|
||||||
clientConfig.setProtocol(Protocol.HTTPS);
|
clientConfig.setProtocol(Protocol.HTTPS);
|
||||||
|
@ -107,16 +107,14 @@ public class DictCacheService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<DictValueVO> dictValueVOList = DICT_CACHE.get(valueCode);
|
List<DictValueVO> dictValueVOList = DICT_CACHE.get(keyCode);
|
||||||
if (CollectionUtils.isEmpty(dictValueVOList)) {
|
if (CollectionUtils.isEmpty(dictValueVOList)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Optional<DictValueVO> option = dictValueVOList.stream().filter(e->e.getValueCode().equals(valueCode)).findFirst();
|
Optional<DictValueVO> option = dictValueVOList.stream().filter(e->e.getValueCode().equals(valueCode)).findFirst();
|
||||||
if(option.isPresent()){
|
return option.orElse(null);
|
||||||
return option.get();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String selectValueNameByValueCodeSplit(String keyCode, String valueCodes) {
|
public String selectValueNameByValueCodeSplit(String keyCode, String valueCodes) {
|
||||||
if (StrUtil.isEmpty(valueCodes)) {
|
if (StrUtil.isEmpty(valueCodes)) {
|
||||||
return "";
|
return "";
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<if test="query.searchWord != null and query.searchWord != '' ">
|
<if test="query.searchWord != null and query.searchWord != '' ">
|
||||||
AND (
|
AND (
|
||||||
INSTR(feedback_content,#{query.searchWord})
|
INSTR(feedback_content,#{query.searchWord})
|
||||||
OR INSTR(create_name,#{query.searchWord})
|
OR INSTR(user_name,#{query.searchWord})
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="query.startDate != null">
|
<if test="query.startDate != null">
|
||||||
|
@ -204,7 +204,7 @@ CREATE TABLE `t_dict_key` (
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of t_dict_key
|
-- Records of t_dict_key
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `t_dict_key` VALUES (1, 'GODOS_PLACE', '商品产地', '商品产地的字典', 0, '2022-10-04 21:33:50', '2022-10-04 21:33:50');
|
INSERT INTO `t_dict_key` VALUES (1, 'GOODS_PLACE', '商品产地', '商品产地的字典', 0, '2022-10-04 21:33:50', '2022-10-04 21:33:50');
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for t_dict_value
|
-- Table structure for t_dict_value
|
||||||
|
Loading…
Reference in New Issue
Block a user