package com.hzs.common.core.annotation;

import com.hzs.common.core.enums.EOperationBusiness;
import com.hzs.common.core.enums.EOperationMethod;
import com.hzs.common.core.enums.EOperationModule;

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

/**
 * Description: 操作日志注解
 * Author: jiang chao
 * Time: 2022/9/14 16:18
 * Classname: Log
 * PackageName: com.hzs.common.core.annotation
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Log {

    /**
     * 操作菜单（后台左侧二级菜单）
     *
     * @return
     */
    EOperationModule module() default EOperationModule.UNKNOWN;

    /**
     * 业务类型（三级菜单）
     *
     * @return
     */
    EOperationBusiness business() default EOperationBusiness.UNKNOWN;

    /**
     * 操作方法（操作按钮）
     *
     * @return
     */
    EOperationMethod method() default EOperationMethod.SELECT;

    /**
     * 备注说明（特殊操作说明）
     *
     * @return
     */
    String remark() default "";

    /**
     * 保存返回结果用的redis key
     *
     * @return
     */
    String resultKey() default "";

}
