| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package jnpf.aop;
- import jnpf.constant.PermissionConstant;
- import jnpf.util.PermissionAspectUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.aspectj.lang.ProceedingJoinPoint;
- import org.aspectj.lang.annotation.Around;
- import org.aspectj.lang.annotation.Aspect;
- import org.aspectj.lang.annotation.Pointcut;
- import org.springframework.stereotype.Component;
- /**
- * @author JNPF开发平台组
- * @version V3.1.0
- * @copyright 引迈信息技术有限公司
- * @date 2021/3/15 17:12
- */
- @Slf4j
- @Aspect
- @Component
- public class PermissionAdminAspect implements PermissionAdminBase {
- /**
- * 分级管理切点
- */
- @Pointcut("within(jnpf.*.controller.*) && @annotation(jnpf.annotation.OrganizeAdminIsTrator)")
- public void pointcut() {
- }
- /**
- * 分级管理切点
- *
- * @param pjp
- * @return
- * @throws Throwable
- */
- @Around("pointcut()")
- public Object around(ProceedingJoinPoint pjp) throws Throwable {
- return PermissionAdminBase.permissionCommon(pjp, this);
- }
- @Override
- public Boolean detailPermission(ProceedingJoinPoint pjp, String operatorUserId, String methodName) {
- switch (methodName) {
- case PermissionConstant.METHOD_SAVE:
- case PermissionConstant.METHOD_SAVE_BATCH:
- return true;
- case PermissionConstant.METHOD_UPDATE:
- //判断是否有当前组织的修改权限
- String organizeId = String.valueOf(pjp.getArgs()[0]);
- return PermissionAspectUtil.containPermission(organizeId, operatorUserId, methodName);
- default:
- return false;
- }
- }
- }
|