package com.moka.gdtauto.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 当前登录用户注解
 * 用于在 Controller 方法参数中自动注入当前登录用户信息
 * 
 * 使用示例：
 * <pre>
 * public Result<String> example(@AuthUser SysUser currentUser) {
 *     return Result.success(currentUser.getJobNumber());
 * }
 * </pre>
 * 
 * @author moka
 * @since 2026-02-09
 */
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface AuthUser {
    /**
     * 参数名称，默认为 "auth-user"
     * 对应 request.getAttribute() 中的 key
     */
    String value() default "auth-user";
}
