diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/exception/BaseExceptionHandler.java b/tduck-api/src/main/java/com/tduck/cloud/api/exception/BaseExceptionHandler.java index a9bcb3c..e40fe10 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/exception/BaseExceptionHandler.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/exception/BaseExceptionHandler.java @@ -2,11 +2,9 @@ package com.tduck.cloud.api.exception; import cn.hutool.core.exceptions.ValidateException; import com.tduck.cloud.common.constant.ResponseCodeConstants; -import com.tduck.cloud.common.exception.BaseException; import com.tduck.cloud.common.util.Result; import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import me.chanjar.weixin.common.error.WxErrorException; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.annotation.ExceptionHandler; @@ -59,14 +57,18 @@ public class BaseExceptionHandler { } /** - * 处理自定义异常 + * 处理微信异常 + * 没有配置错误也不返回500给前端 降低使用配置 */ - @ExceptionHandler(BaseException.class) - public Result handleException(BaseException e) { + @ExceptionHandler(WxErrorException.class) + public Result handleWxException(WxErrorException e) { log.error(e.getMessage(), e); - return Result.failed(e.getMessage()); + return Result.success(e.getMessage()); } + + + @ExceptionHandler(Exception.class) public Result handleException(Exception e) { log.error(e.getMessage(), e); diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/wrapper/JsonLambdaQueryWrapper.java b/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/wrapper/JsonLambdaQueryWrapper.java index 4bfcd7c..0efcc07 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/wrapper/JsonLambdaQueryWrapper.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/wrapper/JsonLambdaQueryWrapper.java @@ -3,10 +3,7 @@ package com.tduck.cloud.common.mybatis.wrapper; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.Query; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; -import static java.util.stream.Collectors.joining; /** * @author : smalljop diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/util/AddressUtils.java b/tduck-common/src/main/java/com/tduck/cloud/common/util/AddressUtils.java index 49d06a5..f5e6d3b 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/util/AddressUtils.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/util/AddressUtils.java @@ -1,14 +1,11 @@ package com.tduck.cloud.common.util; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import lombok.experimental.UtilityClass; import lombok.extern.slf4j.Slf4j; -import sun.net.util.IPAddressUtil; import java.util.Map; @@ -55,7 +52,7 @@ public class AddressUtils { public boolean internalIp(String ip) { - byte[] addr = IPAddressUtil.textToNumericFormatV4(ip); + byte[] addr = textToNumericFormatV4(ip); return internalIp(addr) || "127.0.0.1".equals(ip); } @@ -93,7 +90,77 @@ public class AddressUtils { } } - public static void main(String[] args) { - getRealAddressByIP("218.23.216.254"); + /** + * 将IPv4地址转换成字节 + * + * @param text IPv4地址 + * @return byte 字节 + */ + public static byte[] textToNumericFormatV4(String text) { + if (text.length() == 0) { + return null; + } + + byte[] bytes = new byte[4]; + String[] elements = text.split("\\.", -1); + try { + long l; + int i; + switch (elements.length) { + case 1: + l = Long.parseLong(elements[0]); + if ((l < 0L) || (l > 4294967295L)) { + return null; + } + bytes[0] = (byte) (int) (l >> 24 & 0xFF); + bytes[1] = (byte) (int) ((l & 0xFFFFFF) >> 16 & 0xFF); + bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 2: + l = Integer.parseInt(elements[0]); + if ((l < 0L) || (l > 255L)) { + return null; + } + bytes[0] = (byte) (int) (l & 0xFF); + l = Integer.parseInt(elements[1]); + if ((l < 0L) || (l > 16777215L)) { + return null; + } + bytes[1] = (byte) (int) (l >> 16 & 0xFF); + bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 3: + for (i = 0; i < 2; ++i) { + l = Integer.parseInt(elements[i]); + if ((l < 0L) || (l > 255L)) { + return null; + } + bytes[i] = (byte) (int) (l & 0xFF); + } + l = Integer.parseInt(elements[2]); + if ((l < 0L) || (l > 65535L)) { + return null; + } + bytes[2] = (byte) (int) (l >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 4: + for (i = 0; i < 4; ++i) { + l = Integer.parseInt(elements[i]); + if ((l < 0L) || (l > 255L)) { + return null; + } + bytes[i] = (byte) (int) (l & 0xFF); + } + break; + default: + return null; + } + } catch (NumberFormatException e) { + return null; + } + return bytes; } } diff --git a/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java b/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java index 96b7c02..005e8b1 100644 --- a/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java +++ b/tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java @@ -1,10 +1,6 @@ package com.tduck.cloud.storage.cloud; import cn.hutool.core.util.StrUtil; -import com.qiniu.storage.Configuration; -import com.qiniu.storage.Region; -import com.qiniu.storage.UploadManager; -import com.qiniu.util.Auth; import com.upyun.RestManager; import com.upyun.UpException; @@ -56,6 +52,12 @@ public class UpyunStorageService extends OssStorageService { @Override public void delete(String path) { - + try { + manager.deleteFile(path, null); + } catch (IOException e) { + e.printStackTrace(); + } catch (UpException e) { + e.printStackTrace(); + } } }