Merge remote-tracking branch 'origin/cc_partner_init' into cc_partner_init

This commit is contained in:
guohb
2024-03-22 15:03:11 +08:00
11 changed files with 94 additions and 105 deletions

View File

@@ -5,12 +5,11 @@ import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.WechatMiniAppService;
import com.cool.store.utils.AESDecryptor;
import com.cool.store.utils.Md5Utils;
import com.cool.store.utils.Sha1Utils;
import com.cool.store.utils.UUIDUtils;
import com.cool.store.utils.*;
import com.cool.store.utils.poi.StringUtils;
import com.cool.store.vo.PartnerUserInfoVO;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
@@ -48,10 +47,10 @@ public class SignValidateFilter implements Filter {
private static List<String> patternList =
Lists.newArrayList("/web/check/ok","/check/ok",
"/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**",
"/partner/mini/program/oss/getUploadFileConfig",
"/partner/mini/program/v1/partnerManage/partner/getIdentityCardInfo",
"/**/swagger*/**", "/**/webjars/**","/partner/mini/program/v1/partnerManage/openArea/areaApplyQuery");
"/xfsg/doc.html","/xfsg/favicon.ico","/xfsg/v2/api-docs","/**/test/**",
"/xfsg/mini/program/oss/getUploadFileConfig",
"/xfsg/mini/program/v1/partnerManage/partner/getIdentityCardInfo",
"/**/swagger*/**", "/**/webjars/**","/xfsg/mini/program/v1/partnerManage/openArea/areaApplyQuery");
/**
@@ -77,11 +76,16 @@ public class SignValidateFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
/*HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpServletRequest request = (HttpServletRequest) servletRequest;
CustomHttpServletRequestWrapper wrapper = (CustomHttpServletRequestWrapper) request;
String uri = request.getRequestURI();
if(uri.startsWith("/xfsg/pc")){
filterChain.doFilter(servletRequest, servletResponse);
return;
}
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
HttpServletResponse response = (HttpServletResponse) servletResponse;
CustomHttpServletRequestWrapper wrapper = (CustomHttpServletRequestWrapper) request;
String method = request.getMethod();
String userStr = "";
boolean isInWhiteList = excludePath(uri);
@@ -99,6 +103,9 @@ public class SignValidateFilter implements Filter {
String timestamp = request.getHeader("TIMESTAMP");
String aesPhone = request.getHeader("PHONE");
String openid = request.getHeader("OPENID");
if(StringUtils.isAnyBlank(sign, nonce, timestamp, aesPhone, openid)){
throw new ServiceException(ErrorCodeEnum.SIGN_FAIL);
}
log.info("aesPhone:{}, signKey:{}", aesPhone, signKey);
String phone = AESDecryptor.decrypt(aesPhone, signKey);
String plaintextOpenid = AESDecryptor.decrypt(openid, signKey);
@@ -120,9 +127,9 @@ public class SignValidateFilter implements Filter {
userStr = JSONObject.toJSONString(partnerUserInfoVO);
log.info("url:{}, userStr:{}", uri, userStr);
}
}*/
}
try {
//PartnerUserHolder.setUser(userStr);
PartnerUserHolder.setUser(userStr);
filterChain.doFilter(servletRequest, servletResponse);
} finally {
PartnerUserHolder.removeUser();

View File

@@ -44,19 +44,12 @@ public class TokenValidateFilter implements Filter {
private static List<String> patternList =
Lists.newArrayList("/web/check/ok","/check/ok",
"/partner/pc/doc.html","/partner/pc/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig",
"/xfsg/doc.html","/xfsg/v2/api-docs","/xfsg/favicon.ico","/**/test/**","/xfsg/pc/feiShuLogin","/xfsg/pc/oss/getUploadFileConfig",
"/**/swagger*/**", "/**/webjars/**",
//腾讯音视频回调,单独做验签
"/partner/pc/video/**",
"/xfsg/pc/video/**",
//800回调地址暂时不做验证
"/partner/pc/flow/qualificationReview/callback",
"/**/ecSync/ecToApplet/**",
"/**/ecSync/labelInfo/**",
"/**/ecSync/getCrmCreateTime/**",
"/**/ecSync/historyLine/**",
"/**/ecSync/historyLineTrajectory/**",
"/partner/pc/websocket/**",
"/partner/pc/call/**");
"/xfsg/pc/flow/qualificationReview/callback");
/**
* @param uri
@@ -81,52 +74,55 @@ public class TokenValidateFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
// MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
// HttpServletResponse response = (HttpServletResponse) servletResponse;
// HttpServletRequest reqs = (HttpServletRequest) servletRequest;
// String uri = reqs.getRequestURI();
// String method = reqs.getMethod();
// String userStr = "";
// LoginUserInfo currentUser = null;
// boolean isInWhiteList = excludePath(uri);
// String accessToken = reqs.getHeader("accessToken");
// String key = MessageFormat.format(CommonConstants.ACCESS_TOKEN_KEY, accessToken);
// if(StringUtils.isNotBlank(accessToken)){
// userStr = redisUtilPool.getString(key);
// if(StringUtils.isNotBlank(userStr)){
// currentUser = JSON.parseObject(userStr, LoginUserInfo.class);
// }
// }
// log.info("url:{}", uri);
// if ( !isInWhiteList && !method.equals("OPTIONS")) {
// if (StringUtils.isEmpty(accessToken)) {
// response.setStatus(HttpStatus.OK.value());
// response.getWriter().write(JSON.toJSONString(
// ResponseResult.fail(ErrorCodeEnum.ACCESS_TOKEN_INVALID)));
// return;
// }
// if (Objects.isNull(currentUser)) {
// response.setStatus(HttpStatus.OK.value());
// response.getWriter().write(JSON.toJSONString(
// ResponseResult.fail(ErrorCodeEnum.ACCESS_TOKEN_INVALID)));
// return;
// }
// log.info("url:{}, access_token:{}, userId:{}, username:{}", uri, accessToken, currentUser.getUserId(), currentUser.getName());
// }
// if(StringUtils.isBlank(userStr) && !isInWhiteList){
// response.setStatus(HttpStatus.OK.value());
// response.getWriter().write(JSON.toJSONString(
// ResponseResult.fail(ErrorCodeEnum.ACCESS_TOKEN_INVALID)));
// return;
// }
// try {
// CurrentUserHolder.setUser(userStr);
HttpServletRequest reqs = (HttpServletRequest) servletRequest;
String uri = reqs.getRequestURI();
if(uri.startsWith("/xfsg/mini")){
filterChain.doFilter(servletRequest, servletResponse);
// } finally {
// CurrentUserHolder.removeUser();
// MDC.clear();
// }
//filterChain.doFilter(servletRequest, servletResponse);
return;
}
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
HttpServletResponse response = (HttpServletResponse) servletResponse;
String method = reqs.getMethod();
String userStr = "";
LoginUserInfo currentUser = null;
boolean isInWhiteList = excludePath(uri);
String accessToken = "1d1c34451b51e7180445b74c49b7ab09";//reqs.getHeader("accessToken");
String key = MessageFormat.format(CommonConstants.ACCESS_TOKEN_KEY, accessToken);
if(StringUtils.isNotBlank(accessToken)){
userStr = redisUtilPool.getString(key);
if(StringUtils.isNotBlank(userStr)){
currentUser = JSON.parseObject(userStr, LoginUserInfo.class);
}
}
log.info("url:{}", uri);
if ( !isInWhiteList && !method.equals("OPTIONS")) {
if (StringUtils.isEmpty(accessToken)) {
response.setStatus(HttpStatus.OK.value());
response.getWriter().write(JSON.toJSONString(
ResponseResult.fail(ErrorCodeEnum.ACCESS_TOKEN_INVALID)));
return;
}
if (Objects.isNull(currentUser)) {
response.setStatus(HttpStatus.OK.value());
response.getWriter().write(JSON.toJSONString(
ResponseResult.fail(ErrorCodeEnum.ACCESS_TOKEN_INVALID)));
return;
}
log.info("url:{}, access_token:{}, userId:{}, username:{}", uri, accessToken, currentUser.getUserId(), currentUser.getName());
}
if(StringUtils.isBlank(userStr) && !isInWhiteList){
response.setStatus(HttpStatus.OK.value());
response.getWriter().write(JSON.toJSONString(
ResponseResult.fail(ErrorCodeEnum.ACCESS_TOKEN_INVALID)));
return;
}
try {
CurrentUserHolder.setUser(userStr);
filterChain.doFilter(servletRequest, servletResponse);
} finally {
CurrentUserHolder.removeUser();
MDC.clear();
}
}
@Override

View File

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("news")
@RequestMapping("pc/news")
@Api(tags = "PC动态")
@Slf4j
public class ContentController {

View File

@@ -24,7 +24,7 @@ import java.util.List;
*/
@Api(tags = "标签管理")
@RestController
@RequestMapping("/label")
@RequestMapping("pc/label")
public class LabelController {
@Autowired

View File

@@ -26,7 +26,7 @@ import java.util.List;
*/
@Api(tags = {"标签组管理"})
@RestController
@RequestMapping({"/labelGroup"})
@RequestMapping({"pc/labelGroup"})
public class LabelGroupController {
@Autowired
private LabelGroupService labelGroupService;

View File

@@ -28,7 +28,7 @@ import javax.annotation.Resource;
*/
@Api(tags = "线索审核")
@RestController
@RequestMapping({"/audit"})
@RequestMapping({"pc/audit"})
public class LineAuditController {
@Resource

View File

@@ -23,7 +23,7 @@ import java.util.List;
* @Version 1.0
*/
@RestController
@RequestMapping("/openArea")
@RequestMapping("pc/openArea")
@Api(tags = "PC开放城市")
public class OpenAreaController {

View File

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/video")
@RequestMapping("pc/video")
@Api(tags = "腾讯音视频接口")
@Slf4j
public class VideoController {

View File

@@ -29,7 +29,7 @@ import java.util.List;
* @date 2024-03-15 16:04
*/
@RestController
@RequestMapping("/interview")
@RequestMapping("/mini/interview")
@Api(tags = "加盟商端-面试&面谈")
@Slf4j
public class LineInterviewController {