Browse Source

fix:

优化
dev
wangqing 4 years ago
parent
commit
7e776c3f16
  1. 16
      tduck-api/src/main/java/com/tduck/cloud/api/exception/BaseExceptionHandler.java
  2. 3
      tduck-common/src/main/java/com/tduck/cloud/common/mybatis/wrapper/JsonLambdaQueryWrapper.java
  3. 79
      tduck-common/src/main/java/com/tduck/cloud/common/util/AddressUtils.java
  4. 12
      tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java

16
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 cn.hutool.core.exceptions.ValidateException;
import com.tduck.cloud.common.constant.ResponseCodeConstants; import com.tduck.cloud.common.constant.ResponseCodeConstants;
import com.tduck.cloud.common.exception.BaseException;
import com.tduck.cloud.common.util.Result; import com.tduck.cloud.common.util.Result;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import me.chanjar.weixin.common.error.WxErrorException;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DuplicateKeyException; import org.springframework.dao.DuplicateKeyException;
import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.MissingServletRequestParameterException;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
@ -59,14 +57,18 @@ public class BaseExceptionHandler {
} }
/** /**
* 处理自定义异常 * 处理微信异常
* 没有配置错误也不返回500给前端 降低使用配置
*/ */
@ExceptionHandler(BaseException.class) @ExceptionHandler(WxErrorException.class)
public Result handleException(BaseException e) { public Result handleWxException(WxErrorException e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
return Result.failed(e.getMessage()); return Result.success(e.getMessage());
} }
@ExceptionHandler(Exception.class) @ExceptionHandler(Exception.class)
public Result handleException(Exception e) { public Result handleException(Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);

3
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.CharUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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 * @author : smalljop

79
tduck-common/src/main/java/com/tduck/cloud/common/util/AddressUtils.java

@ -1,14 +1,11 @@
package com.tduck.cloud.common.util; package com.tduck.cloud.common.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import sun.net.util.IPAddressUtil;
import java.util.Map; import java.util.Map;
@ -55,7 +52,7 @@ public class AddressUtils {
public boolean internalIp(String ip) { public boolean internalIp(String ip) {
byte[] addr = IPAddressUtil.textToNumericFormatV4(ip); byte[] addr = textToNumericFormatV4(ip);
return internalIp(addr) || "127.0.0.1".equals(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;
} }
} }

12
tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/UpyunStorageService.java

@ -1,10 +1,6 @@
package com.tduck.cloud.storage.cloud; package com.tduck.cloud.storage.cloud;
import cn.hutool.core.util.StrUtil; 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.RestManager;
import com.upyun.UpException; import com.upyun.UpException;
@ -56,6 +52,12 @@ public class UpyunStorageService extends OssStorageService {
@Override @Override
public void delete(String path) { public void delete(String path) {
try {
manager.deleteFile(path, null);
} catch (IOException e) {
e.printStackTrace();
} catch (UpException e) {
e.printStackTrace();
}
} }
} }

Loading…
Cancel
Save