A17404李放 před 3 roky
rodič
revize
865823d120

+ 35 - 7
nb-common/src/main/java/com/nb/common/util/IpUtil.java

@@ -13,14 +13,42 @@ import javax.servlet.http.HttpServletRequest;
 public class IpUtil {
 
     public static String getClientIp(HttpServletRequest request) {
-        // natapp穿透工具搭建的环境,通过header,X-Natapp-Ip,获取
-        String ipAddress = ServletUtil.getClientIPByHeader(request, "X-Natapp-Ip");
-        if (StrUtil.isBlank(ipAddress)) {
-            ipAddress = ServletUtil.getClientIP(request);
+//        // natapp穿透工具搭建的环境,通过header,X-Natapp-Ip,获取
+//        String ipAddress = ServletUtil.getClientIPByHeader(request, "X-Natapp-Ip");
+//        if (StrUtil.isBlank(ipAddress)) {
+//            ipAddress = ServletUtil.getClientIP(request);
+//        }
+//        // 本地开发,客户端和服务器在同一台机器,获取到是0:0:0:0:0:0:0:1,ip6地址,需要进行转换
+//        ipAddress = "0:0:0:0:0:0:0:1".equals(ipAddress) ? "127.0.0.1" : ipAddress;
+        return getIpAddress(request);
+    }
+
+    public static String getIpAddress(HttpServletRequest request) {
+
+        String sourceIp = null;
+
+        String ipAddresses = request.getHeader("x-forwarded-for");
+
+        if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
+            ipAddresses = request.getHeader("Proxy-Client-IP");
+        }
+        if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
+            ipAddresses = request.getHeader("WL-Proxy-Client-IP");
         }
-        // 本地开发,客户端和服务器在同一台机器,获取到是0:0:0:0:0:0:0:1,ip6地址,需要进行转换
-        ipAddress = "0:0:0:0:0:0:0:1".equals(ipAddress) ? "127.0.0.1" : ipAddress;
-        return ipAddress;
+        if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
+            ipAddresses = request.getHeader("HTTP_CLIENT_IP");
+        }
+        if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
+            ipAddresses = request.getHeader("HTTP_X_FORWARDED_FOR");
+        }
+        if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
+            ipAddresses = request.getRemoteAddr();
+        }
+        if (!StrUtil.isEmpty(ipAddresses)) {
+            sourceIp = ipAddresses.split(",")[0];
+        }
+
+        return sourceIp;
     }
 
 }

+ 3 - 6
nb-framework/src/main/java/com/nb/framework/web/exception/GlobalExceptionHandler.java

@@ -53,13 +53,11 @@ public class GlobalExceptionHandler {
 
     @ExceptionHandler(NotLoginException.class)
     public R handleNotLoginException(NotLoginException e) {
-        log.error(e.getMessage(), e);
         return R.result(ResultCode.TOKEN_ERROR);
     }
 
     @ExceptionHandler(NotRoleException.class)
     public R handleNotRoleException(NotRoleException e) {
-        log.error(e.getMessage(), e);
         return R.result(ResultCode.UN_AUTHORIZED);
     }
 
@@ -71,7 +69,6 @@ public class GlobalExceptionHandler {
 
     @ExceptionHandler(RuntimeException.class)
     public R handleRuntimeException(RuntimeException e) {
-        log.error(e.getMessage(), e);
 //        return R.result(ResultCode.INTERNAL_SERVER_ERROR);
         return R.fail(e.getLocalizedMessage());
     }
@@ -120,7 +117,7 @@ public class GlobalExceptionHandler {
      */
     @ExceptionHandler(BindException.class)
     public R validatedBindException(BindException e) {
-        log.error(e.getMessage(), e);
+        log.warn(e.getMessage(), e);
         String message = e.getAllErrors().get(0).getDefaultMessage();
         return R.fail(message);
     }
@@ -130,7 +127,7 @@ public class GlobalExceptionHandler {
      */
     @ExceptionHandler(ConstraintViolationException.class)
     public R constraintViolationException(ConstraintViolationException e) {
-        log.error(e.getMessage(), e);
+        log.warn(e.getMessage(), e);
         String message = e.getConstraintViolations().iterator().next().getMessage();
         return R.fail(message);
     }
@@ -140,7 +137,7 @@ public class GlobalExceptionHandler {
      */
     @ExceptionHandler(MethodArgumentNotValidException.class)
     public Object validExceptionHandler(MethodArgumentNotValidException e) {
-        log.error(e.getMessage(), e);
+        log.warn(e.getMessage(), e);
         String message = e.getBindingResult().getFieldError().getDefaultMessage();
         return R.fail(message);
     }

+ 2 - 2
nb-system/src/main/java/com/nb/bus/service/dto/CombineQuery.java

@@ -230,8 +230,8 @@ public class CombineQuery {
             orderByDesc.add("clinic_id");
         }
         if(infusionFinishedDesc!=null&&
-                CollUtil.size(orderByAsc)==1
-                ||CollUtil.size(orderByDesc)==1){
+                (CollUtil.size(orderByAsc)==1
+                        ||CollUtil.size(orderByDesc)==1)){
             //添加默认排序,否则顺序混乱
             orderByDesc.add("clinic_id");
         }