Browse Source

重置滤镜bug修复

dengsixing 2 năm trước cách đây
mục cha
commit
37ecde3f6e

+ 48 - 24
src/main/java/com/fdkankan/scene/Interceptor/CheckPermitAspect.java

@@ -3,15 +3,14 @@ package com.fdkankan.scene.Interceptor;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.fdkankan.common.constant.CommonStatus;
-import com.fdkankan.common.constant.ErrorCode;
-import com.fdkankan.common.constant.PayStatus;
-import com.fdkankan.common.constant.SceneStatus;
+import com.fdkankan.common.constant.*;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.entity.*;
+import com.fdkankan.scene.httpclient.MyClient;
 import com.fdkankan.scene.service.*;
+import com.fdkankan.web.response.Result;
 import com.fdkankan.web.user.SSOLoginHelper;
 import com.fdkankan.web.user.SSOUser;
 import com.fdkankan.web.util.WebUtil;
@@ -20,6 +19,7 @@ import java.util.List;
 import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import lombok.extern.log4j.Log4j2;
 import org.aspectj.lang.JoinPoint;
@@ -27,6 +27,7 @@ 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.beans.factory.annotation.Value;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.request.RequestContextHolder;
@@ -38,6 +39,12 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 @Order(101)
 public class CheckPermitAspect {
 
+	@Value("${4dkk.manageService.basePath}")
+	private String manageServiceUrl;
+
+	@Value("${4dkk.manageService.api.checkEditPermission}")
+	private String checkEditPermissionApi;
+
 	@Autowired
 	private SSOLoginHelper ssoLoginHelper;
 	@Autowired
@@ -54,6 +61,8 @@ public class CheckPermitAspect {
 	private IUserService userService;
 	@Autowired
 	private ICameraDetailService cameraDetailService;
+	@Resource
+	private MyClient myClient;
 
 
 	@Pointcut("@annotation(com.fdkankan.scene.annotation.CheckPermit)")
@@ -95,37 +104,52 @@ public class CheckPermitAspect {
 			throw new BusinessException(ErrorCode.FAILURE_CODE_5034);
 		}
 
-		//如果上面场景用户与当前用户不匹配,需要校验当前用户是否拥有某些角色,从而可以访问此场景
-		List<UserRole> list = userRoleService.list(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, user.getId()));
-		Set<Long> roleIdSet = null;
-		if(CollUtil.isNotEmpty(list)){
-			roleIdSet = list.stream().map(ur -> ur.getRoleId()).collect(Collectors.toSet());
+		String url = this.manageServiceUrl.concat(this.checkEditPermissionApi);
+		String params = "sceneNum=" + num;
+		Result result = myClient.checkEditPermission(url, request.getHeader("token"), params);
+		int code = result.getCode();
+		if(code != 0){
+			throw new RuntimeException(ServerCode.SYSTEM_ERROR.message());
 		}
-		if(CollUtil.isEmpty(roleIdSet)){
+		boolean permission = (boolean) result.getData();
+		if(!permission){
 			throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
 		}
-		//平台管理员拥有最高权限
-		if(roleIdSet.contains(5L)){
-			return;
-		}
 
-		//判断是否有公司管理者权限,有则放开
-//		if(roleIdSet.contains(6L)){
-			//当前登录用户user
-			User currentUser = userService.getById(user.getId());
-			CameraDetail cameraDetail = cameraDetailService.findByCameraId(scenePlus.getCameraId());
-			if(Objects.isNull(currentUser) || Objects.isNull(currentUser.getCompanyId())
-					|| Objects.isNull(cameraDetail) || Objects.isNull(cameraDetail.getCompanyId())
-					|| !currentUser.getCompanyId().equals(cameraDetail.getCompanyId())){
-				throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
-			}
+
+//		//如果上面场景用户与当前用户不匹配,需要校验当前用户是否拥有某些角色,从而可以访问此场景
+//		List<UserRole> list = userRoleService.list(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, user.getId()));
+//		Set<Long> roleIdSet = null;
+//		if(CollUtil.isNotEmpty(list)){
+//			roleIdSet = list.stream().map(ur -> ur.getRoleId()).collect(Collectors.toSet());
 //		}
+//		if(CollUtil.isEmpty(roleIdSet)){
+//			throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+//		}
+//		//平台管理员拥有最高权限
+//		if(roleIdSet.contains(5L)){
+//			return;
+//		}
+//
+//		//判断是否有公司管理者权限,有则放开
+////		if(roleIdSet.contains(6L)){
+//			//当前登录用户user
+//			User currentUser = userService.getById(user.getId());
+//			CameraDetail cameraDetail = cameraDetailService.findByCameraId(scenePlus.getCameraId());
+//			if(Objects.isNull(currentUser) || Objects.isNull(currentUser.getCompanyId())
+//					|| Objects.isNull(cameraDetail) || Objects.isNull(cameraDetail.getCompanyId())
+//					|| !currentUser.getCompanyId().equals(cameraDetail.getCompanyId())){
+//				throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+//			}
+////		}
 
 		//校验场景用户是否与当前登录用户相同,相同则跳出
 //		if(Objects.isNull(scenePlus.getUserId()) || !scenePlus.getUserId().equals(user.getId())){
 //			throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
 //		}
 
+
+
 	}
 
 }

+ 9 - 0
src/main/java/com/fdkankan/scene/httpclient/MyClient.java

@@ -5,6 +5,7 @@ import com.dtflys.forest.annotation.Get;
 import com.dtflys.forest.annotation.Var;
 import com.dtflys.forest.callback.OnProgress;
 import com.dtflys.forest.extensions.DownloadFile;
+import com.fdkankan.web.response.Result;
 import com.fdkankan.web.response.ResultData;
 
 import java.io.File;
@@ -30,4 +31,12 @@ public interface MyClient {
     @Get(url = "${url}?${params}")
     ResultData get(@Var("url") String url, @Var("params") String params);
 
+    @Get(
+        url = "${url}?${params}",
+        headers = {
+            "token:${token}"
+        }
+    )
+    Result checkEditPermission(@Var("url") String url, @Var("token")String token, @Var("params") String params);
+
 }

+ 4 - 0
src/main/java/com/fdkankan/scene/service/impl/FileConvertServiceImpl.java

@@ -30,6 +30,10 @@ import org.springframework.web.multipart.MultipartFile;
 @Service
 public class FileConvertServiceImpl implements IFileConvertService {
 
+    public static void main(String[] args) throws Exception {
+        CreateObjUtil.convertTxtToVisionmodeldata("D:\\test\\vision.txt", "D:\\test\\vision.modeldata'");
+    }
+
     @Override
     public void convertTxtToModeldata(MultipartFile file, HttpServletResponse response) throws Exception {