diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java b/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java index 85debd4cf..587c97afb 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java @@ -1,10 +1,12 @@ package com.iformall.interceptor; import com.iformall.common.ErrorCode; +import com.iformall.common.RequestConstant; import com.iformall.exception.MallinkException; import com.iformall.utils.HashUtil; import com.iformall.utils.IPUtil; import com.iformall.utils.UrlCheck; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DataAccessException; @@ -58,12 +60,18 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { } StringBuilder sb = new StringBuilder(); - sb.append(url); + sb.append(url).append("?"); sb.append("method=").append(request.getMethod()).append("&"); sb.append("ip=").append(ipaddress).append("&"); + // 加入token,避免同一ip下不同用户签名一致提示重复操作。 + String token = request.getHeader(RequestConstant.TOKEN); + if (StringUtils.isNotBlank(token)) { + sb.append("token=").append(token).append("&"); + } + final Enumeration parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { String key = (String) parameterNames.nextElement(); diff --git a/mallinkService/src/main/java/com/iformall/common/RequestConstant.java b/mallinkService/src/main/java/com/iformall/common/RequestConstant.java new file mode 100644 index 000000000..9a0fdd307 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/common/RequestConstant.java @@ -0,0 +1,13 @@ +package com.iformall.common; + +/** + * 请求相关常量 + * @author xmzhao71 + * @date 2023-09-15 + */ +public interface RequestConstant { + /** + * 小程序请求头token + */ + String TOKEN = "token"; +}