|
@@ -2,7 +2,11 @@ package com.diagbot.filter;
|
|
|
|
|
|
import com.diagbot.client.DiagbotmanServiceClient;
|
|
import com.diagbot.client.DiagbotmanServiceClient;
|
|
import com.diagbot.dto.RespDTO;
|
|
import com.diagbot.dto.RespDTO;
|
|
|
|
+import com.diagbot.entity.HasPermissionDTO;
|
|
import com.diagbot.entity.ServiceToken;
|
|
import com.diagbot.entity.ServiceToken;
|
|
|
|
+import com.diagbot.entity.SysLog;
|
|
|
|
+import com.diagbot.enums.SysTypeEnum;
|
|
|
|
+import com.diagbot.rabbit.MySender;
|
|
import com.diagbot.util.GsonUtil;
|
|
import com.diagbot.util.GsonUtil;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -21,6 +25,7 @@ import reactor.core.publisher.Mono;
|
|
|
|
|
|
import java.net.URI;
|
|
import java.net.URI;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
+import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.Iterator;
|
|
import java.util.LinkedHashSet;
|
|
import java.util.LinkedHashSet;
|
|
@@ -45,6 +50,8 @@ public class GlobalGatewayFilter implements GlobalFilter {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
DiagbotmanServiceClient diagbotmanServiceClient;
|
|
DiagbotmanServiceClient diagbotmanServiceClient;
|
|
|
|
+ @Autowired
|
|
|
|
+ private MySender mySender;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -80,6 +87,17 @@ public class GlobalGatewayFilter implements GlobalFilter {
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
|
|
|
|
+
|
|
|
|
+ SysLog sysLog = new SysLog();
|
|
|
|
+ sysLog.setGmtCreate(new Date());
|
|
|
|
+ sysLog.setIp("3333");
|
|
|
|
+ sysLog.setMethod(request.getURI().toString());
|
|
|
|
+ sysLog.setOperation(request.getURI().toString());
|
|
|
|
+ sysLog.setParams(request.getURI().toString());
|
|
|
|
+ sysLog.setSysType(SysTypeEnum.APPKEY.getKey());
|
|
|
|
+ sysLog.setUsername("userId");
|
|
|
|
+ mySender.outputLogSend(sysLog);
|
|
|
|
+
|
|
Map<String, Long> serviceFilters = this.dealServiceFilter();
|
|
Map<String, Long> serviceFilters = this.dealServiceFilter();
|
|
if (serviceFilters.get(serviceName) != null) {
|
|
if (serviceFilters.get(serviceName) != null) {
|
|
String appkey = request.getHeaders().getFirst("appkey");
|
|
String appkey = request.getHeaders().getFirst("appkey");
|
|
@@ -90,10 +108,11 @@ public class GlobalGatewayFilter implements GlobalFilter {
|
|
st.setAppkey(appkey);
|
|
st.setAppkey(appkey);
|
|
st.setSecret(secret);
|
|
st.setSecret(secret);
|
|
st.setProductId(productId);
|
|
st.setProductId(productId);
|
|
- RespDTO<Boolean> res = diagbotmanServiceClient.hasPermission(st);
|
|
|
|
|
|
+ RespDTO<HasPermissionDTO> res = diagbotmanServiceClient.hasPermission(st);
|
|
if (res == null || !RespDTO.TRUE_CODE.equals(res.code)) {
|
|
if (res == null || !RespDTO.TRUE_CODE.equals(res.code)) {
|
|
return getVoidMono(serverWebExchange, res);
|
|
return getVoidMono(serverWebExchange, res);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
ServerHttpRequest.Builder builder = serverWebExchange.getRequest().mutate();
|
|
ServerHttpRequest.Builder builder = serverWebExchange.getRequest().mutate();
|