| | |
| | | import feign.RequestInterceptor; |
| | | import feign.RequestTemplate; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | |
| | | audit.put("requestUri", url); |
| | | audit.put("requestParams", template.body() == null ? null : "bodyBytes=" + template.body().length); |
| | | audit.put("userId", UserExt.getUser() == null ? null : UserExt.getUser().getId()); |
| | | audit.put("userAccount", UserExt.getUser() == null ? null : mask(UserExt.getUser().getAccount())); |
| | | audit.put("userAccount", UserExt.getUser() == null ? null : UserExt.getUser().getAccount()); |
| | | audit.put("result", "REQUESTED"); |
| | | audit.put("createdAt", new Date()); |
| | | auditWriter.append(audit); |
| | |
| | | private String riskLevel(String url) { |
| | | String value = url == null ? "" : url.toLowerCase(); |
| | | return value.matches(".*(ticket|payment|finance|refund|withdraw|balance|status|state).*") ? "CRITICAL" : "NORMAL"; |
| | | } |
| | | private String mask(String value) { |
| | | if (StringUtils.isEmpty(value)) return null; |
| | | return value.length() <= 4 ? "***" : value.substring(0, 3) + "***" + value.substring(value.length() - 2); |
| | | } |
| | | } |