zelong.shao

api获取appid改成查数据库

2023年10月13日09:54:26
szl
package com.erry.iclear.dateInterface.interceptor;
import com.alibaba.fastjson.JSON;
import com.erry.iclear.dateInterface.enums.ErrorCodeEnum;
import com.erry.iclear.dateInterface.api.response.ResultHsCode;
import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.entity.AppInfo;
import com.erry.iclear.dateInterface.enums.ErrorCodeEnum;
import com.erry.iclear.dateInterface.repository.AppInfoRepository;
import com.erry.iclear.dateInterface.util.SHA256Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
......@@ -15,7 +17,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
/**
* @author Administrator
......@@ -23,6 +24,8 @@ import java.util.HashMap;
@Component
@Slf4j
public class HsCodeInterceptor extends HandlerInterceptorAdapter {
@Autowired
private AppInfoRepository appInfoRepository;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
......@@ -54,13 +57,14 @@ public class HsCodeInterceptor extends HandlerInterceptorAdapter {
return false;
}
HashMap<String,String> secretMap = Constant.appIdSecurityCache.get(appId);
if(secretMap==null){
// HashMap<String,String> secretMap = Constant.appIdSecurityCache.get(appId);
AppInfo oneEnableAppInfo = appInfoRepository.getOneEnableAppInfo(appId);
if(oneEnableAppInfo==null){
this.returnJson(response,false,ErrorCodeEnum.ERROR_10001.getCode(),ErrorCodeEnum.ERROR_10001.getName());
return false;
}
String secretInSys = secretMap.get(appkey);
String secretInSys = oneEnableAppInfo.getSecurity();
if (StringUtils.isBlank(secretInSys)) {
this.returnJson(response,false,ErrorCodeEnum.ERROR_10002.getCode(),ErrorCodeEnum.ERROR_10002.getName());
return false;
......
package com.erry.iclear.dateInterface.interceptor;
import com.alibaba.fastjson.JSON;
import com.erry.iclear.dateInterface.enums.ErrorCodeEnum;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.entity.AppInfo;
import com.erry.iclear.dateInterface.enums.ErrorCodeEnum;
import com.erry.iclear.dateInterface.repository.AppInfoRepository;
import com.erry.iclear.dateInterface.util.SHA256Util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
......@@ -15,7 +17,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
/**
* @author Administrator
......@@ -23,7 +24,8 @@ import java.util.HashMap;
@Component
@Slf4j
public class SignInterceptor extends HandlerInterceptorAdapter {
@Autowired
private AppInfoRepository appInfoRepository;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
String appId = (String) request.getHeader("Appid");
......@@ -55,13 +57,15 @@ public class SignInterceptor extends HandlerInterceptorAdapter {
return false;
}
HashMap<String,String> secretMap = Constant.appIdSecurityCache.get(appId);
if(secretMap==null){
// HashMap<String,String> secretMap = Constant.appIdSecurityCache.get(appId);
AppInfo oneEnableAppInfo = appInfoRepository.getOneEnableAppInfo(appId);
if(oneEnableAppInfo==null){
this.returnJson(response,false,ErrorCodeEnum.ERROR_10001.getCode(),ErrorCodeEnum.ERROR_10001.getName());
return false;
}
String secretInSys = secretMap.get(appkey);
String secretInSys = oneEnableAppInfo.getSecurity();
if (StringUtils.isBlank(secretInSys)) {
this.returnJson(response,false,ErrorCodeEnum.ERROR_10002.getCode(),ErrorCodeEnum.ERROR_10002.getName());
return false;
......
package com.erry.iclear.dateInterface.repository;
import com.erry.iclear.dateInterface.entity.AppInfo;
import com.erry.iclear.dateInterface.entity.IClearApiLog;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
......@@ -24,4 +23,7 @@ public interface AppInfoRepository extends JpaRepository<AppInfo, Integer>, Jpa
@Query(nativeQuery = true, value = "select * from T_ICLEAR_API_APPINFO where IS_ENABLE = '1' ")
public List<AppInfo> getAllEnableAppInfo();
@Query(nativeQuery = true, value = "select top 1 * from T_ICLEAR_API_APPINFO where IS_ENABLE = '1' and APPID = ?1 ")
public AppInfo getOneEnableAppInfo(String appId);
}
......