1、若干个细节修改;2、更新SQL脚本,t_dict_key 的 key_code 值错误

This commit is contained in:
zhoumingfa 2025-03-28 21:19:27 +08:00
parent 5fb1456080
commit b72f58a0bb
12 changed files with 17 additions and 28 deletions

View File

@ -1,6 +1,5 @@
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 lombok.Data;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;

View File

@ -1,18 +1,15 @@
package net.lab1024.sa.base.common.json.deserializer;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 字典反序列化
@ -27,7 +24,7 @@ import java.util.stream.Collectors;
public class DictValueVoDeserializer extends JsonDeserializer<String> {
@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<>();
ObjectCodec objectCodec = jsonParser.getCodec();
JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);

View File

@ -68,7 +68,7 @@ public class FileConfig implements WebMvcConfigurer {
* @return
*/
@Bean
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = "cloud")
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = MODE_CLOUD)
public AmazonS3 initAmazonS3() {
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTPS);

View File

@ -33,7 +33,6 @@ public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate() {
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
ObjectMapper om = new ObjectMapper();
om.registerModule(new JavaTimeModule())
.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false)
@ -43,9 +42,11 @@ public class RedisConfig {
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
// enableDefaultTyping 官方已弃用 所以改为 activateDefaultTyping
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<>();
template.setConnectionFactory(factory);
template.setKeySerializer(new StringRedisSerializer());

View File

@ -107,16 +107,14 @@ public class DictCacheService {
return null;
}
List<DictValueVO> dictValueVOList = DICT_CACHE.get(valueCode);
List<DictValueVO> dictValueVOList = DICT_CACHE.get(keyCode);
if (CollectionUtils.isEmpty(dictValueVOList)) {
return null;
}
Optional<DictValueVO> option = dictValueVOList.stream().filter(e->e.getValueCode().equals(valueCode)).findFirst();
if(option.isPresent()){
return option.get();
}
return null;
return option.orElse(null);
}
public String selectValueNameByValueCodeSplit(String keyCode, String valueCodes) {
if (StrUtil.isEmpty(valueCodes)) {
return "";

View File

@ -9,7 +9,7 @@
<if test="query.searchWord != null and query.searchWord != '' ">
AND (
INSTR(feedback_content,#{query.searchWord})
OR INSTR(create_name,#{query.searchWord})
OR INSTR(user_name,#{query.searchWord})
)
</if>
<if test="query.startDate != null">

View File

@ -1,6 +1,5 @@
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 lombok.Data;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;

View File

@ -1,18 +1,15 @@
package net.lab1024.sa.base.common.json.deserializer;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 字典反序列化
@ -27,7 +24,7 @@ import java.util.stream.Collectors;
public class DictValueVoDeserializer extends JsonDeserializer<String> {
@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<>();
ObjectCodec objectCodec = jsonParser.getCodec();
JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);

View File

@ -68,7 +68,7 @@ public class FileConfig implements WebMvcConfigurer {
* @return
*/
@Bean
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = "cloud")
@ConditionalOnProperty(prefix = "file.storage", name = {"mode"}, havingValue = MODE_CLOUD)
public AmazonS3 initAmazonS3() {
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTPS);

View File

@ -107,16 +107,14 @@ public class DictCacheService {
return null;
}
List<DictValueVO> dictValueVOList = DICT_CACHE.get(valueCode);
List<DictValueVO> dictValueVOList = DICT_CACHE.get(keyCode);
if (CollectionUtils.isEmpty(dictValueVOList)) {
return null;
}
Optional<DictValueVO> option = dictValueVOList.stream().filter(e->e.getValueCode().equals(valueCode)).findFirst();
if(option.isPresent()){
return option.get();
}
return null;
return option.orElse(null);
}
public String selectValueNameByValueCodeSplit(String keyCode, String valueCodes) {
if (StrUtil.isEmpty(valueCodes)) {
return "";

View File

@ -9,7 +9,7 @@
<if test="query.searchWord != null and query.searchWord != '' ">
AND (
INSTR(feedback_content,#{query.searchWord})
OR INSTR(create_name,#{query.searchWord})
OR INSTR(user_name,#{query.searchWord})
)
</if>
<if test="query.startDate != null">

View File

@ -204,7 +204,7 @@ CREATE TABLE `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