Sfoglia il codice sorgente

优化json序列化、反序列化逻辑

woody 1 anno fa
parent
commit
c294a4c256

+ 2 - 2
framework-feign/src/main/java/com/chelvc/framework/feign/interceptor/FeignExceptionInterceptor.java

@@ -4,9 +4,9 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.Objects;
 
-import com.chelvc.framework.base.context.JacksonContextHolder;
 import com.chelvc.framework.common.exception.FrameworkException;
 import com.chelvc.framework.common.model.Result;
+import com.chelvc.framework.common.util.JacksonUtils;
 import feign.Response;
 import feign.Util;
 import feign.codec.ErrorDecoder;
@@ -26,7 +26,7 @@ public class FeignExceptionInterceptor implements ErrorDecoder {
         } catch (IOException e) {
             return e;
         }
-        Result<?> result = Objects.requireNonNull(JacksonContextHolder.deserialize(bytes, Result.class));
+        Result<?> result = Objects.requireNonNull(JacksonUtils.deserialize(bytes, Result.class));
         return new FrameworkException(result.getCode(), result.getData(), result.getMessage());
     }
 }

+ 2 - 2
framework-redis/src/main/java/com/chelvc/framework/redis/config/RedisConfigurer.java

@@ -5,8 +5,8 @@ import java.time.Duration;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import com.chelvc.framework.base.context.ApplicationContextHolder;
-import com.chelvc.framework.base.context.JacksonContextHolder;
 import com.chelvc.framework.common.util.AssertUtils;
+import com.chelvc.framework.common.util.JacksonUtils;
 import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.redis.annotation.RedisMQConsumer;
 import com.chelvc.framework.redis.stream.DefaultRedisMQListenerContainer;
@@ -116,7 +116,7 @@ public class RedisConfigurer extends CachingConfigurerSupport implements Applica
                 if (param != null) {
                     builder.append(param.getClass().getName());
                     builder.append("&");
-                    builder.append(JacksonContextHolder.serialize(param));
+                    builder.append(JacksonUtils.serialize(param));
                     builder.append("&");
                 }
             }

+ 2 - 3
framework-sms/src/main/java/com/chelvc/framework/sms/support/AliyunSmsHandler.java

@@ -9,8 +9,8 @@ import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
 import com.aliyun.dysmsapi20170525.models.SendSmsResponseBody;
 import com.aliyun.teaopenapi.models.Config;
 import com.chelvc.framework.base.context.ApplicationContextHolder;
-import com.chelvc.framework.base.context.JacksonContextHolder;
 import com.chelvc.framework.common.exception.ResourceUnavailableException;
+import com.chelvc.framework.common.util.JacksonUtils;
 import com.chelvc.framework.sms.Captcha;
 import com.chelvc.framework.sms.TemplateSmsHandler;
 import com.chelvc.framework.sms.config.SmsProperties;
@@ -61,9 +61,8 @@ public class AliyunSmsHandler implements TemplateSmsHandler {
 
     @Override
     public void send(@NonNull String mobile, @NonNull String template, @NonNull Map<String, ?> parameters) {
-        String param = JacksonContextHolder.serialize(parameters);
         SendSmsRequest request = new SendSmsRequest().setPhoneNumbers(mobile).setSignName(this.signature)
-                .setTemplateCode(template).setTemplateParam(param);
+                .setTemplateCode(template).setTemplateParam(JacksonUtils.serialize(parameters));
         SendSmsResponse response;
         try {
             response = this.client.sendSms(request);

+ 2 - 2
framework-wechat/src/main/java/com/chelvc/framework/wechat/context/WechatContextHolder.java

@@ -5,9 +5,9 @@ import java.util.function.BiFunction;
 import java.util.function.Supplier;
 
 import com.chelvc.framework.base.context.ApplicationContextHolder;
-import com.chelvc.framework.base.context.JacksonContextHolder;
 import com.chelvc.framework.common.util.AESUtils;
 import com.chelvc.framework.common.util.AssertUtils;
+import com.chelvc.framework.common.util.JacksonUtils;
 import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.wechat.WechatPublicHandler;
 import com.chelvc.framework.wechat.WechatResponse;
@@ -86,7 +86,7 @@ public final class WechatContextHolder {
     public static String mobile(String ciphertext, @NonNull String secret, @NonNull String iv) {
         String plaintext = AESUtils.decode(ciphertext, Base64.decodeBase64(secret), Base64.decodeBase64(iv));
         return (String) ObjectUtils.ifNull(
-                JacksonContextHolder.deserialize(plaintext, Map.class), map -> map.get("phoneNumber")
+                JacksonUtils.deserialize(plaintext, Map.class), map -> map.get("phoneNumber")
         );
     }