zj
2026-01-05 a20da8817adb2342bd60f79e47487186a586f93a
src/main/java/com/nq/common/interceptor/ApiUserAuthorityInterceptor.java
@@ -4,12 +4,14 @@
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import com.nq.annotation.SameUrlData;
import com.nq.common.ServerResponse;
import com.nq.pojo.User;
import com.nq.utils.PropertiesUtil;
import com.nq.utils.redis.JsonUtil;
import com.nq.utils.redis.RedisShardedPoolUtils;
import com.nq.utils.translate.GoogleTranslateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.RedisTemplate;
@@ -52,7 +54,6 @@
        }
        String url = httpServletRequest.getRequestURI();
        log.info("拦截的url是{}",url);
        if ("/user/upload.do".equals(url)) {
            return true;
        }
@@ -71,23 +72,34 @@
        if ("/user/pay/flyPay.do".equals(url)) {
            return true;
        }
        if ("/user/rechargeCallback.do".equals(url)) {//支付回调
            return true;
        }
        if ("/user/rechargeCallbackTwo.do".equals(url)) {//支付回调
            return true;
        }
        if ("/user/rechargeCallbackZero.do".equals(url)) {//支付回调
            return true;
        }
        if ("/user/rechargeCallbackThree.do".equals(url)) {//支付回调
            return true;
        }
        if ("/user/payoutCallback.do".equals(url)) {//代付回调
            return true;
        }
        User currentUser = getCurrentUser(httpServletRequest);
        GoogleTranslateUtil googleTranslateUtil = new GoogleTranslateUtil();
        String lang = httpServletRequest.getHeader("lang");
        if (null == currentUser) {
//            httpServletResponse.reset();
            httpServletResponse.setCharacterEncoding("UTF-8");
            httpServletResponse.setContentType("application/json;charset=UTF-8");
            PrintWriter writer = httpServletResponse.getWriter();
            Map map = Maps.newHashMap();
            map.put("success", Boolean.valueOf(false));
            map.put("msg", "Please Login");
            writer.print(JsonUtil.obj2String(map));
            writer.print( new Gson().toJson(ServerResponse.createByErrorCodeMsg(401,googleTranslateUtil.translate("请登录",lang ))));
            writer.flush();
            writer.close();
            return false;
        }
        String uri = httpServletRequest.getRequestURI();
        //验证重复点击与接口权限等
        Boolean checkFlag = checkUri(httpServletResponse, handler, uri,currentUser);
        if (!checkFlag) {
@@ -187,20 +199,15 @@
    public User getCurrentUser(HttpServletRequest request) {
        String property = PropertiesUtil.getProperty("user.cookie.name");
        System.out.println(property);
        String loginToken = request.getHeader(property);
        if (loginToken == null) {
            System.out.println("loginToken is null");
            return null;
        }
        System.out.println(loginToken);
        String userJson = RedisShardedPoolUtils.get(loginToken);
        if (userJson == null||"".equals(userJson)){
            System.out.println("userJson is null");
            return null;
        }
//        System.out.println(userJson);
        return (User) JsonUtil.string2Obj(userJson, User.class);
    }
}