xiewj 1 年之前
父節點
當前提交
df10974d50
共有 1 個文件被更改,包括 26 次插入18 次删除
  1. 26 18
      720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/WebController.java

+ 26 - 18
720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/WebController.java

@@ -74,6 +74,9 @@ public class WebController extends BaseController {
             }
             flag = true;
             log.info("检查走缓存: {}", workId);
+            WorkEntity entity= (WorkEntity) redisUtil.get(RedisConstant.WORK_ID+workId);
+            Result FAILURE_SYS_3011 = checkWkByUser(entity);
+            if (FAILURE_SYS_3011 != null) return FAILURE_SYS_3011;
             return Result.success(flag);
         }
 
@@ -86,30 +89,35 @@ public class WebController extends BaseController {
                 workService.addVisit(workId);
             }
             redisUtil.set(RedisConstant.WORK_ID+workId, entity, 30, TimeUnit.SECONDS);
-            String userNameForToken = getUserNameForToken();
-            if (!userNameForToken.equals(entity.getUserId())&& ObjectUtil.isNotEmpty(entity.getType())&&!entity.getType().equalsIgnoreCase("pro")) {
-                return Result.failure(ErrorEnum.FAILURE_SYS_3011.code(), "当前无操作权限");
-            } else if (ObjectUtil.isNotEmpty(entity.getType())&&entity.getType().equalsIgnoreCase("pro")){
-                JSONObject cameraList =fdkkClient.getCameraListByToken(getToken(),"3,4,5");
-                List<String> snCodes = new ArrayList<>();
-                if (cameraList.getInteger("code") == 0) {
-                    JSONArray data = cameraList.getJSONObject("data").getJSONArray("snCodes");
-                    for (Object datum : data) {
-                        snCodes.add(String.valueOf(datum));
-                    }
-                    if (!snCodes.contains(entity.getSnCode())) {
-                        return Result.failure(ErrorEnum.FAILURE_SYS_3011.code(), "当前无操作权限");
-                    }
-                } else {
-                    return Result.failure("获取四维用户激光数据失败");
-                }
-            }
+            Result FAILURE_SYS_3011 = checkWkByUser(entity);
+            if (FAILURE_SYS_3011 != null) return FAILURE_SYS_3011;
         } else {
             log.warn("作品不存在");
         }
         return Result.success(flag);
     }
 
+    private Result checkWkByUser(WorkEntity entity) {
+        String userNameForToken = getUserNameForToken();
+        if (!userNameForToken.equals(entity.getUserId())&& ObjectUtil.isNotEmpty(entity.getType())&&!entity.getType().equalsIgnoreCase("pro")) {
+            return Result.failure(ErrorEnum.FAILURE_SYS_3011.code(), "当前无操作权限");
+        } else if (ObjectUtil.isNotEmpty(entity.getType())&& entity.getType().equalsIgnoreCase("pro")){
+            JSONObject cameraList =fdkkClient.getCameraListByToken(getToken(),"3,4,5");
+            List<String> snCodes = new ArrayList<>();
+            if (cameraList.getInteger("code") == 0) {
+                JSONArray data = cameraList.getJSONObject("data").getJSONArray("snCodes");
+                for (Object datum : data) {
+                    snCodes.add(String.valueOf(datum));
+                }
+                if (!snCodes.contains(entity.getSnCode())) {
+                    return Result.failure(ErrorEnum.FAILURE_SYS_3011.code(), "当前无操作权限");
+                }
+            } else {
+                return Result.failure("获取四维用户激光数据失败");
+            }
+        }
+        return null;
+    }
 
 
     @ApiOperation("检验密码")