|
@@ -6,11 +6,14 @@ import com.qmth.teachcloud.common.bean.dto.PrivilegeDto;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.SysPrivilege;
|
|
import com.qmth.teachcloud.common.entity.SysPrivilege;
|
|
import com.qmth.teachcloud.common.entity.SysRolePrivilege;
|
|
import com.qmth.teachcloud.common.entity.SysRolePrivilege;
|
|
|
|
+import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
|
+import com.qmth.teachcloud.common.enums.PrivilegeEnum;
|
|
import com.qmth.teachcloud.common.enums.PrivilegePropertyEnum;
|
|
import com.qmth.teachcloud.common.enums.PrivilegePropertyEnum;
|
|
import com.qmth.teachcloud.common.mapper.SysPrivilegeMapper;
|
|
import com.qmth.teachcloud.common.mapper.SysPrivilegeMapper;
|
|
import com.qmth.teachcloud.common.service.SysPrivilegeService;
|
|
import com.qmth.teachcloud.common.service.SysPrivilegeService;
|
|
import com.qmth.teachcloud.common.service.SysRolePrivilegeService;
|
|
import com.qmth.teachcloud.common.service.SysRolePrivilegeService;
|
|
|
|
+import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -146,4 +149,20 @@ public class SysPrivilegeServiceImpl extends ServiceImpl<SysPrivilegeMapper, Sys
|
|
|
|
|
|
return new ArrayList<>(map.values());
|
|
return new ArrayList<>(map.values());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 是否包含某个权限
|
|
|
|
+ *
|
|
|
|
+ * @param urls
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public boolean existsPrivilege(String... urls) {
|
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
+ QueryWrapper<SysPrivilege> sysPrivilegeQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ sysPrivilegeQueryWrapper.lambda().in(SysPrivilege::getUrl, urls)
|
|
|
|
+ .eq(SysPrivilege::getType, PrivilegeEnum.URL)
|
|
|
|
+ .eq(SysPrivilege::getSchoolId, sysUser.getSchoolId());
|
|
|
|
+ return this.count(sysPrivilegeQueryWrapper) > 0 ? true : false;
|
|
|
|
+ }
|
|
}
|
|
}
|