Procházet zdrojové kódy

协作场景权限校验

dengsixing před 3 roky
rodič
revize
5e6ab81297

+ 80 - 118
4dkankan-center-scene/src/main/java/com/fdkankan/scene/Interceptor/CheckCooperationPermitAspect.java

@@ -1,118 +1,80 @@
-//package com.fdkankan.scene.Interceptor;
-//
-//import cn.hutool.core.collection.CollUtil;
-//import cn.hutool.core.util.StrUtil;
-//import com.fdkankan.base.constant.SceneConstant;
-//import com.fdkankan.common.aop.CheckCurrentUser;
-//import com.fdkankan.common.constant.ErrorCode;
-//import com.fdkankan.common.constant.ServerCode;
-//import com.fdkankan.common.exception.BaseRuntimeException;
-//import com.fdkankan.common.exception.BusinessException;
-//import com.fdkankan.common.model.SSOUser;
-//import com.fdkankan.common.user.SSOLoginHelper;
-//import com.fdkankan.common.user.SSOUser;
-//import com.fdkankan.common.util.SSOLoginHelper;
-//import com.fdkankan.common.util.WebUtil;
-//import com.fdkankan.goods.entity.CameraEntity;
-//import com.fdkankan.goods.service.ICameraService;
-//import com.fdkankan.redis.constant.RedisKey;
-//import com.fdkankan.redis.util.RedisUtil;
-//import com.fdkankan.scene.entity.SceneCooperationEntity;
-//import com.fdkankan.scene.entity.SceneProEntity;
-//import com.fdkankan.scene.service.ISceneCooperationService;
-//import com.fdkankan.scene.service.ISceneProService;
-//import java.io.IOException;
-//import java.lang.reflect.Method;
-//import java.util.List;
-//import java.util.Map;
-//import javax.servlet.http.HttpServletRequest;
-//import lombok.extern.log4j.Log4j2;
-//import org.aspectj.lang.JoinPoint;
-//import org.aspectj.lang.annotation.Aspect;
-//import org.aspectj.lang.annotation.Before;
-//import org.aspectj.lang.annotation.Pointcut;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.core.annotation.Order;
-//import org.springframework.stereotype.Component;
-//import org.springframework.web.context.request.RequestContextHolder;
-//import org.springframework.web.context.request.ServletRequestAttributes;
-//import tk.mybatis.mapper.entity.Condition;
-//
-///**
-// * 记录注册用户操作记录、异常记录
-// */
-//@Log4j2
-//@Aspect
-//@Component
-//@Order(2)
-//public class CheckCooperationPermitAspect {
-//
-//	@Autowired
-//	private SSOLoginHelper ssoLoginHelper;
-//	@Autowired
-//	private RedisUtil redisUtil;
-//	@Autowired
-//	private
-//
-//
-//	@Pointcut("@annotation(com.fdkankan.scene.annotation.CheckCooperationPermit)")
-//	public void checkCooperationPermit() {
-//	}
-//
-//	/**
-//	 * 前置通知 用于拦截Controller层记录用户的操作
-//	 *
-//	 * @param joinPoint
-//	 *            切点
-//	 * @throws IOException
-//	 */
-//	@Before("checkCooperationPermit()")
-//	public void doBefore(JoinPoint joinPoint) throws Exception {
-//		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
-//		// 读取session中的用户
-//		SSOUser user = ssoLoginHelper.loginCheck(request.getHeader("token"));
-//		Map<String, Object> params = WebUtil.getParams(joinPoint, request);
-//		if(CollUtil.isEmpty(params)){
-//			throw new BusinessException(ErrorCode.PARAM_REQUIRED);
-//		}
-//
-//		String num = (String) params.get("num");
-//		if(StrUtil.isEmpty(num)){
-//			throw new BusinessException(ServerCode.PARAM_REQUIRED, num);
-//		}
-//
-//		//判断是不是场景原用户
-//
-//
-//		String username = redisUtil.hget(RedisKey.SCENE_COOPERATION_NUM_USERNAME, num);
-//
-//
-//	}
-//
-//	/**
-//	 * 获取注解中对方法的描述信息
-//	 *
-//	 * @param joinPoint
-//	 *            切点
-//	 * @return 方法描述
-//	 * @throws Exception
-//	 */
-//	public static String getCheckUserMthodDescription(JoinPoint joinPoint) throws Exception {
-//		String targetName = joinPoint.getTarget().getClass().getName();
-//		String methodName = joinPoint.getSignature().getName();
-//		Object[] arguments = joinPoint.getArgs();
-//		Class targetClass = Class.forName(targetName);
-//		Method[] methods = targetClass.getMethods();
-//		String description = "";
-//		for (Method method : methods) {
-//			if (method.getName().equals(methodName)) {
-//				Class[] clazzs = method.getParameterTypes();
-//				if (clazzs.length == arguments.length) {
-//					description = method.getAnnotation(CheckCurrentUser.class).description();
-//					break;
-//				}
-//			}
-//		}
-//		return description;
-//	}
-//}
+package com.fdkankan.scene.Interceptor;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.ServerCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.user.SSOLoginHelper;
+import com.fdkankan.common.util.WebUtil;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.entity.ScenePlus;
+import com.fdkankan.scene.service.IScenePlusService;
+import java.io.IOException;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import lombok.extern.log4j.Log4j2;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+@Log4j2
+@Aspect
+@Component
+@Order(2)
+public class CheckCooperationPermitAspect {
+
+	@Autowired
+	private SSOLoginHelper ssoLoginHelper;
+	@Autowired
+	private RedisUtil redisUtil;
+	@Autowired
+	private IScenePlusService scenePlusService;
+
+
+	@Pointcut("@annotation(com.fdkankan.scene.annotation.CheckCooperationPermit)")
+	public void checkCooperationPermit() {
+	}
+
+	/**
+	 * 前置通知 用于判断用户协作场景是否有协作权限
+	 *
+	 * @param joinPoint
+	 *            切点
+	 * @throws IOException
+	 */
+	@Before("checkCooperationPermit()")
+	public void doBefore(JoinPoint joinPoint) throws Exception {
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+		// 读取session中的用户
+		com.fdkankan.common.model.SSOUser user = ssoLoginHelper.loginCheckV3(request.getHeader("token"));
+		String num = WebUtil.getNum(joinPoint, request);
+		if(StrUtil.isEmpty(num)){
+			throw new BusinessException(ErrorCode.PARAM_REQUIRED);
+		}
+
+
+		//判断是不是场景原用户,如果是,跳出
+        ScenePlus scenePlus= scenePlusService.getScenePlusByNum(num);
+        if(scenePlus.getUserId().equals(user.getId())){
+            return;
+        }
+
+        //如果不是用户自己的场景,判断是否有协作权限
+        String username = redisUtil.hget(RedisKey.SCENE_COOPERATION_NUM_USERNAME, num);
+        if(StrUtil.isEmpty(username)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+        }
+        if(!username.equals(user.getUserName())){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+        }
+	}
+
+}

+ 44 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -4,6 +4,7 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.SceneInfoReqType;
 import com.fdkankan.common.controller.BaseController;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.scene.annotation.CheckCooperationPermit;
 import com.fdkankan.scene.service.ISceneEditInfoService;
 import com.fdkankan.scene.service.ISceneEditService;
 import com.fdkankan.scene.service.ISceneProService;
@@ -60,6 +61,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/base/save")
     public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
         return sceneEditInfoService.saveScene(param);
@@ -74,6 +76,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/publicScene")
     public ResultData publicScene(@RequestBody @Validated SceneEditInfoParamVO param) throws Exception {
         return sceneEditInfoService.publicScene(param);
@@ -190,6 +193,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/saveInitialPage")
     public ResultData saveInitialPage(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
         return sceneProService.saveInitialPage(param);
@@ -246,6 +250,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/tag/save")
     public ResultData saveTag(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
         return sceneProService.addOrUpdateTag(param);
@@ -260,6 +265,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/tag/delete")
     public ResultData deleteTag(@RequestBody @Validated DeleteHotParamVO param) throws Exception {
         return sceneProService.deleteTag(param);
@@ -279,6 +285,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/icons/delete")
     public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
         return sceneProService.deleteIcons(param);
@@ -407,6 +414,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/saveRoam")
     public ResultData saveRoam(@RequestBody @Validated BaseDataParamVO param) throws Exception {
         return sceneProService.saveRoam(param);
@@ -416,6 +424,7 @@ public class SceneEditController extends BaseController {
      * 保存热点可见性的数据
      * @return
      */
+    @CheckCooperationPermit
     @PostMapping(value = "/saveTagsVisible")
     public ResultData saveTagsVisible(@RequestBody @Validated SaveTagsVisibleParamVO param) throws Exception {
         return sceneProService.saveTagsVisible(param);
@@ -518,6 +527,7 @@ public class SceneEditController extends BaseController {
     /**
      * 肖安需求,下载场景obj和贴图
      */
+    @CheckCooperationPermit
     @PostMapping(value = "/downloadModel")
     public ResultData downloadTexData(@RequestParam("num") String num) throws Exception {
         return sceneProService.downloadTexData(num);
@@ -529,6 +539,7 @@ public class SceneEditController extends BaseController {
      * @return
      */
 //    @SystemControllerLog(description = "上传修改后的obj和贴图")
+    @CheckCooperationPermit
     @PostMapping(value = "/uploadModel")
     public ResultData uploadObjAndImg(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
         return sceneProService.uploadObjAndImg(num, file);
@@ -673,6 +684,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/cad/save")
     public ResultData saveCad(@RequestBody @Validated BaseDataParamVO param) throws Exception{
         return sceneEditInfoService.saveCad(param);
@@ -687,6 +699,7 @@ public class SceneEditController extends BaseController {
      * @param num
      * @return
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/cad/reset")
     public ResultData resetCad(@RequestParam(value = "num") String num){
         return sceneEditInfoService.resetCad(num);
@@ -700,6 +713,7 @@ public class SceneEditController extends BaseController {
      * @date 2022/2/16
      * @return
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/cad/rename")
     public ResultData renameCad(@RequestBody @Validated RenameCadParamVO param) throws IOException {
         return sceneEditInfoService.renameCad(param);
@@ -716,7 +730,7 @@ public class SceneEditController extends BaseController {
 
     /**
      * <p>
-            批量上传全景照片
+            上传全景图
      * </p>
      * @author dengsixing
      * @date 2022/2/16
@@ -724,6 +738,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return java.util.List<java.lang.String>
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/uploadPanorama")
     public ResultData uploadPanorama(@RequestParam(value = "num") String num,
         @RequestParam("file") MultipartFile file) throws Exception {
@@ -738,6 +753,7 @@ public class SceneEditController extends BaseController {
      * @date 2022/2/16
      * @return java.util.List<java.lang.String>
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/downloadPanorama")
     public ResultData downloadPanorama(@RequestBody @Validated FileParamVO param) throws Exception {
         return sceneEditInfoService.downloadPanorama(param);
@@ -752,6 +768,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/video/box/save")
     public ResultData saveVideoBox(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
         return sceneEditInfoService.saveVideoBox(param);
@@ -766,6 +783,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/video/box/delete")
     public ResultData deleteVideoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
         return sceneEditInfoService.deleteVideoBox(param);
@@ -780,6 +798,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/photo/box/save")
     public ResultData savePhotoBox(@RequestBody @Validated BaseDataParamVO param) throws Exception {
         return sceneEditInfoService.saveBoxPhoto(param);
@@ -794,6 +813,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "/photo/box/delete")
     public ResultData deletePhotoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
         return sceneEditInfoService.deleteBoxPhoto(param);
@@ -809,6 +829,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.scene.vo.DownloadVO
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "downloadBallScreenVideo")
     public DownloadVO downloadBallScreenVideo(@RequestBody @Validated BallScreenVideoParamVO param){
         return sceneEditInfoService.downloadBallScreenVideo(param);
@@ -825,6 +846,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping(value = "uploadBallScreenVideo")
     public ResultData uploadBallScreenVideo(
             @RequestParam("num") String num,
@@ -843,6 +865,7 @@ public class SceneEditController extends BaseController {
      * type 操作类型 0添加,1替换
      * uploadPath 上传路径,此字段为扩展字段,前端可自定义上传路径,注意是完全的文件路径
      */
+    @CheckCooperationPermit
     @RequestMapping(value = "/upload/files", method = RequestMethod.POST)
     public String uploads(@RequestParam(value = "base64",required = false) String base64,
         @RequestParam(value = "fileName",required = false) String fileName,
@@ -874,6 +897,7 @@ public class SceneEditController extends BaseController {
      * @param paramVO
      * @return com.fdkankan.common.response.ResultData
      **/
+    @CheckCooperationPermit
     @PostMapping("/delete/file")
     public ResultData delete(@RequestBody @Validated DeleteFileParamVO paramVO) throws Exception{
         return sceneUploadService.delete(paramVO);
@@ -882,6 +906,7 @@ public class SceneEditController extends BaseController {
     /**
      * 场景同步
      */
+    @CheckCooperationPermit
     @PostMapping(value = "/sceneSync")
     public ResultData sceneSync(
         @RequestParam("num") String num,
@@ -899,9 +924,10 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @CheckCooperationPermit
     @PostMapping(value = "/getAuth")
-    public SceneAuthVO getAuth(BaseSceneParamVO param) throws Exception{
-        return sceneEditService.getAuth(param, this.getToken());
+    public SceneAuthVO getAuth(@RequestParam("num") String num) throws Exception{
+        return sceneEditService.getAuth(num, this.getToken());
     }
 
     /**
@@ -927,16 +953,31 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @CheckCooperationPermit
     @PostMapping(value = "/tour/save")
     public ResultData saveTour(@RequestBody @Validated BaseDataParamVO param) throws Exception{
         return sceneEditService.saveTour(param);
     }
 
+    /**
+     * 删除导览
+     * @param param
+     * @return
+     * @throws Exception
+     */
+    @CheckCooperationPermit
     @PostMapping(value = "/tour/delete")
     public ResultData deleteTour(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
         return sceneEditService.deleteTour(param);
     }
 
+    /**
+     * 添加马赛克
+     * @param param
+     * @return
+     * @throws Exception
+     */
+    @CheckCooperationPermit
     @PostMapping(value = "/mosaics/add")
     public ResultData addMosaics(@RequestBody @Validated BaseDataParamVO param) throws Exception{
         return sceneEditInfoService.addMosaics(param);

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneEditService.java

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody;
  **/
 public interface ISceneEditService {
 
-    SceneAuthVO getAuth(BaseSceneParamVO param, String token) throws Exception;
+    SceneAuthVO getAuth(String num, String token) throws Exception;
 
     ResultData locales(LocalesParamVO param) throws Exception;
 

+ 4 - 4
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditServiceImpl.java

@@ -97,10 +97,10 @@ public class SceneEditServiceImpl implements ISceneEditService {
     private String URL_ISLOGIN;
 
     @Override
-    public SceneAuthVO getAuth(BaseSceneParamVO param, String token) throws Exception{
+    public SceneAuthVO getAuth(String num, String token) throws Exception{
 
         // TODO: 2022/5/19 请求v3的接口,获取场景的状态 待v3停机后要换成v4d的逻辑-------------------------start
-        String url = fkankanMiniHost + URL_GET_SCENEPRO_BY_NUM + param.getNum();
+        String url = fkankanMiniHost + URL_GET_SCENEPRO_BY_NUM + num;
         Result<SceneProV3> result = fdkankanMiniClient
             .getSceneProByNum(url, new FdkkMiniReqSuccessCallback(),
                 new FdkkMiniReqErrorCallback());
@@ -121,7 +121,7 @@ public class SceneEditServiceImpl implements ISceneEditService {
         // TODO: 2022/5/19 请求v3的接口,获取场景的状态 待v3停机后要换成v4d的逻辑-------------------------send
 
         ScenePlus scenePlus = scenePlusService.getOne(
-            new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getNum, param.getNum())
+            new LambdaQueryWrapper<ScenePlus>().eq(ScenePlus::getNum, num)
                 .eq(ScenePlus::getPayStatus, PayStatus.PAY.code()));
 //                .in(ScenePlus::getSceneStatus, SceneStatus.SUCCESS.code(), SceneStatus.NO_DISPLAY.code()));
         if(scenePlus == null){
@@ -168,7 +168,7 @@ public class SceneEditServiceImpl implements ISceneEditService {
 //            }
 //        }
         // TODO: 2022/4/25 v3v4共存过渡期结束需要删除,恢复上面注释内容 ------------------------------------------start
-        url = fkankanMiniHost + URL_ISLOGIN + param.getNum();
+        url = fkankanMiniHost + URL_ISLOGIN + num;
         Result<Map<String, Object>> isLoginResult = fdkankanMiniClient
             .getIsLogin(url, token, new FdkkMiniReqSuccessCallback(),
                 new FdkkMiniReqErrorCallback());

+ 29 - 0
4dkankan-common/src/main/java/com/fdkankan/common/model/SSOUser.java

@@ -0,0 +1,29 @@
+package com.fdkankan.common.model;
+
+import java.io.Serializable;
+import java.util.Set;
+import lombok.Data;
+
+/**
+ * sso user
+ *
+ *  2018-04-02 19:59:49
+ */
+@Data
+public class SSOUser implements Serializable {
+
+    private static final long serialVersionUID = -2560069033053679931L;
+
+    private Long id;
+
+    private String userName;
+
+    private String password;
+
+    private String email;
+
+    private Set<String> permissionSet;
+
+    private Set<String> roleSet;
+
+}

+ 12 - 0
4dkankan-common/src/main/java/com/fdkankan/common/user/SSOLoginHelper.java

@@ -7,8 +7,10 @@ import org.springframework.stereotype.Component;
 
 @Component
 public class SSOLoginHelper {
+
     @Autowired
     private SSOLoginStore ssoLoginStore;
+
     public  SSOUser loginCheck(String token) {
         if (token != null && token.trim().length() > 0) {
             String username = JwtUtil.getUsername(token);
@@ -20,6 +22,16 @@ public class SSOLoginHelper {
         return null;
     }
 
+    public com.fdkankan.common.model.SSOUser loginCheckV3(String token) {
+        if (token != null && token.trim().length() > 0) {
+            com.fdkankan.common.model.SSOUser ssoUser = ssoLoginStore.getV3(token);
+            if (ssoUser != null) {
+                return ssoUser;
+            }
+        }
+        return null;
+    }
+
     public String login(String loginType,String userName) {
         return this.login(loginType,userName,null, null);
     }

+ 25 - 0
4dkankan-common/src/main/java/com/fdkankan/common/user/SSOLoginStore.java

@@ -1,13 +1,23 @@
 package com.fdkankan.common.user;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.LoginType;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.Objects;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 
+@Slf4j
 @Component
 public class SSOLoginStore {
 
@@ -27,6 +37,20 @@ public class SSOLoginStore {
         return null;
     }
 
+
+    @Resource
+    @Qualifier("redisTemplate2")
+    private RedisTemplate redisTemplate2;
+
+    public  com.fdkankan.common.model.SSOUser getV3(String token) {
+        String redisKey = "token#".concat(token);
+        Object obj = redisTemplate2.opsForValue().get(redisKey);
+        if(Objects.nonNull(obj)){
+            return (com.fdkankan.common.model.SSOUser)obj;
+        }
+        return null;
+    }
+
     /**
      * remove
      * @param loginType     登录类型
@@ -74,4 +98,5 @@ public class SSOLoginStore {
         return String.format(RedisKey.SSO_USER,userName);
     }
 
+
 }

+ 10 - 18
4dkankan-common/src/main/java/com/fdkankan/common/util/WebUtil.java

@@ -19,28 +19,20 @@ import org.springframework.web.multipart.MultipartFile;
  **/
 public class WebUtil {
 
-    public static Map<String, Object> getParams(JoinPoint pjp, HttpServletRequest request){
-
-        // 获取参数名称
-        String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
-        //获取请求参数值
+    /**
+     * 获取请求参数中的场景码
+     * @param pjp
+     * @param request
+     * @return
+     */
+    public static String getNum(JoinPoint pjp, HttpServletRequest request){
         Object[] args = pjp.getArgs();
-
         String contentType = request.getContentType();
         if(ContentType.JSON.getValue().equals(contentType)){
-            return JSON.parseObject(JSON.toJSONString(args[0]), HashMap.class);
+            HashMap hashMap = JSON.parseObject(JSON.toJSONString(args[0]), HashMap.class);
+            hashMap.get("num");
         }
-
-        Map<String, Object> paramMap = new HashMap<>();
-        for (int i = 0; i < args.length; i++) {
-            if(args[i] instanceof MultipartFile){
-                paramMap.put(parameterNamesArgs[i], ((MultipartFile) args[i]).getOriginalFilename());
-                continue;
-            }
-            paramMap.put(parameterNamesArgs[i], args[i]);
-        }
-
-        return paramMap;
+        return request.getParameter("num");
     }
 
 }