Преглед изворни кода

管理员有权访问所有场景

dsx пре 1 година
родитељ
комит
b37bdeaeac

+ 15 - 8
src/main/java/com/fdkankan/scene/Interceptor/CheckViewBizAuthAspect.java

@@ -3,6 +3,7 @@ package com.fdkankan.scene.Interceptor;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.URLUtil;
 import com.alibaba.fastjson.JSON;
+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.SceneStatus;
@@ -77,6 +78,8 @@ public class CheckViewBizAuthAspect {
 	private ISysLogService sysLogService;
 	@Autowired
 	private MyClient myClient;
+	@Autowired
+	private ISysUserService sysUserService;
 
 
 	@Pointcut("@annotation(com.fdkankan.scene.annotation.CheckViewBizAuth)")
@@ -190,14 +193,18 @@ public class CheckViewBizAuthAspect {
 						throw new BusinessException(ErrorCode.PASSWORD_ERROR);
 					}
 
-					//判断是不是场景归属人的场景,如果不是,则校验是否是授权用户
-					if(scenePlus.getUserId().intValue() != jyUser.getUserId()){
-						JySceneUserAuth jySceneUserAuth = jySceneUserAuthService.getSceneViewAuth(num, jyUser.getId());
-						if(Objects.isNull(jySceneUserAuth)){
-							throw new BusinessException(ErrorCode.AUTH_FAIL.code(), "无权访问");
-						}
-						if (jySceneUserAuth.getLookAuth() == 2 && jySceneUserAuth.getLookEndTime().before(Calendar.getInstance().getTime())){
-							throw new BusinessException(ErrorCode.AUTH_FAIL.code(), "超出访问截止时间");
+					//查询是否是管理员角色,如果是则有权访问
+					long count = sysUserService.count(new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, jyUser.getSysUserId()).in(SysUser::getRoleId, 1, 45));
+					if(count == 0){
+						//判断是不是场景归属人的场景,如果不是,则校验是否是授权用户
+						if(scenePlus.getUserId().intValue() != jyUser.getUserId()){
+							JySceneUserAuth jySceneUserAuth = jySceneUserAuthService.getSceneViewAuth(num, jyUser.getId());
+							if(Objects.isNull(jySceneUserAuth)){
+								throw new BusinessException(ErrorCode.AUTH_FAIL.code(), "无权访问");
+							}
+							if (jySceneUserAuth.getLookAuth() == 2 && jySceneUserAuth.getLookEndTime().before(Calendar.getInstance().getTime())){
+								throw new BusinessException(ErrorCode.AUTH_FAIL.code(), "超出访问截止时间");
+							}
 						}
 					}
 				}

+ 84 - 0
src/main/java/com/fdkankan/scene/entity/SysUser.java

@@ -0,0 +1,84 @@
+package com.fdkankan.scene.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2023-10-27
+ */
+@Getter
+@Setter
+@TableName("sys_user")
+public class SysUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 系统用户表
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 账号
+     */
+    @TableField("user_name")
+    private String userName;
+
+    /**
+     * 密码
+     */
+    @TableField("password")
+    private String password;
+
+    /**
+     * 昵称
+     */
+    @TableField("nick_name")
+    private String nickName;
+
+    /**
+     * 角色id
+     */
+    @TableField("role_id")
+    private Integer roleId;
+
+    /**
+     * 创建者id
+     */
+    @TableField("create_user_id")
+    private Integer createUserId;
+
+    /**
+     * 是否禁用 0禁用,1启用
+     */
+    @TableField("status")
+    private Integer status;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A", delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField("manage_id")
+    private Integer manageId;
+
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/ISysUserMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.scene.entity.SysUser;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-10-27
+ */
+@Mapper
+public interface ISysUserMapper extends BaseMapper<SysUser> {
+
+}

+ 16 - 0
src/main/java/com/fdkankan/scene/service/ISysUserService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.scene.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.entity.SysUser;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-10-27
+ */
+public interface ISysUserService extends IService<SysUser> {
+
+}

+ 20 - 0
src/main/java/com/fdkankan/scene/service/impl/SysUserServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.scene.entity.SysUser;
+import com.fdkankan.scene.mapper.ISysUserMapper;
+import com.fdkankan.scene.service.ISysUserService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-10-27
+ */
+@Service
+public class SysUserServiceImpl extends ServiceImpl<ISysUserMapper, SysUser> implements ISysUserService {
+
+}