package com.ruoyi.execution.produce.dispersed.service.templateimpl;

import com.ruoyi.execution.produce.dispersed.service.IScriptService;
import org.springframework.stereotype.Service;

import javax.annotation.PreDestroy;

/**
 * 脚本实现类模版
 *
 * @author hzh
 */

// 当前bean名称必填项！
// {
//  @AliasFor(annotation = Component.class)
//  String value() default "";
//  }
@Service("ScriptImpl")
public class ScriptImpl implements IScriptService {

    /**
     * 当前脚本前置验证
     *
     * @param parameter
     * @return
     */
    @Override
    public Object preExecutionScript(Object parameter) {
        return null;
    }

    /**
     * 当前脚本执行逻辑
     *
     * @param parameter
     * @return
     */
    @Override
    public Object ExecutionScript(Object parameter) {
        return null;
    }

    /**
     * 当前脚本后置验证
     *
     * @param parameter
     * @return
     */
    @Override
    public Object afterExecutionScript(Object parameter) {
        return null;
    }

    /**
     * 需要手动修改返回为true！当前实现类中不得写逻辑代码！
     * 此操作只为验证当前实现类是否存在！
     *
     * @return
     */
    @Override
    public boolean isVerificationMethod() {
        return true;
    }

    @Override
    @PreDestroy
    public boolean preDestroy() {
        // 执行清理操作
        System.out.println("清理成功！");
        return true;
    }

}