package cn.iocoder.yudao.module.bpm.framework.flowable.core.aspect;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

/**
 * 功能描述
 *
 * @author: yj
 * @date: 2024年01月24日 18:25
 */
@Component
//@Aspect
public class BpmProcessInstanceCreateAspect {

    // 切点定义，例如某个包下的所有类的任意方法
    @Pointcut("execution(* cn.iocoder.yudao.module.bpm.service.task.BpmTaskServiceImpl.*(..))")
    public void myPointcut() {
    }

    // 后置通知
    @AfterReturning(pointcut = "myPointcut()", returning = "returnValue")
    public void afterReturningAdvice(JoinPoint joinPoint, Object returnValue) {
        String methodName = joinPoint.getSignature().getName();
        System.out.println("========" + methodName);
        System.out.println("========" + returnValue);
    }
}
