package com.hzya.frame.sysnew.plugin.service;

import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.web.entity.JsonResultEntity;

/**
 * @Content
 * @Author 👻👻👻👻👻👻👻👻👻👻 gjh
 * @Date 2023-08-07 9:44
 * @Version 1.0
 */
public interface IPluginService {
    /***
     * 查询所有插件数据
     * @Author 👻👻👻👻👻👻👻👻 gjh
     * @Date 2023-08-07 10:12
     * @return com.alibaba.fastjson.JSONObject
     **/
    JsonResultEntity queryPlugins(JSONObject jsonObject);

    /***
     * 根据插件类型查询插件数据
     * @Author 👻👻👻👻👻👻👻👻 gjh
     * @Date 2023-08-07 10:12
     * @param  jsonObject
     * @return com.alibaba.fastjson.JSONObject
     **/
    JsonResultEntity queryPluginsByType(JSONObject jsonObject);

    /***
     * 根据插件ID查询插件数据
     * @Author 👻👻👻👻👻👻👻👻 gjh
     * @Date 2023-08-07 10:12
     * @param  jsonObject
     * @return com.alibaba.fastjson.JSONObject
     **/
    JsonResultEntity queryPluginById(JSONObject jsonObject);

    /***
     * 根据插件ID执行相关业务逻辑方法
     * @content:
     * @author 👻👻👻👻👻👻👻👻 gjh
     * @date 2024-01-09 11:17
     * @param
     * @return
     **/
    JsonResultEntity executeBusinessPluginById(JSONObject jsonObject) throws Exception;

}
