类 ModuleService

java.lang.Object
net.sohelp.boot.engine.web.service.ModuleService

@Component public class ModuleService extends Object
模块服务
从以下版本开始:
2024/7/19 20:15
作者:
AaronFung
  • 构造器详细资料

    • ModuleService

      public ModuleService()
  • 方法详细资料

    • getModule

      public ModuleVO getModule(String refid) throws BusiException, SQLException
      根据引用ID获取模块信息
      参数:
      refid - 模块引用ID,用于查找对应的模块引用信息
      返回:
      包含模块信息的ModuleVO对象
      抛出:
      BusiException - 业务异常,当获取模块引用或模块信息时发生业务错误时抛出
      SQLException - 数据库异常,当访问数据库发生错误时抛出
    • saveAs

      public void saveAs(String appName, String moduleName, String newModuleName) throws SQLException, BusiException
      将指定应用下的模块另存为新模块

      该方法会检查目标路径下是否已存在同名模块,若存在则抛出业务异常; 若不存在则将原模块下的所有资源复制到新路径下,并更新资源属性(ID、UUID、模块名等)。

      参数:
      appName - 应用名称,用于定位应用根目录
      moduleName - 原模块名称,用于定位待复制的模块
      newModuleName - 新模块名称,用于指定目标模块名称
      抛出:
      SQLException - 当数据库操作异常时抛出
      BusiException - 当目标模块已存在时抛出业务异常
    • copy

      public void copy(String appName, String moduleName, String newAppName, String newModuleName) throws SQLException, BusiException
      复制指定应用和模块到新的应用和模块

      该函数会检查目标路径下是否已存在同名模块,若存在则抛出业务异常; 若不存在,则将源模块下的所有资源复制到目标路径,并更新相关属性(如ID、应用名、模块名、创建时间等)。

      参数:
      appName - 源应用名称
      moduleName - 源模块名称
      newAppName - 目标应用名称
      newModuleName - 目标模块名称
      抛出:
      SQLException - 当数据库操作发生异常时抛出
      BusiException - 当目标模块已存在时抛出业务异常
    • remove

      public void remove(String appName, String moduleName) throws BusiException, SQLException
      删除指定应用和模块下的资源文件
      参数:
      appName - 应用名称,用于构建文件路径
      moduleName - 模块名称,用于构建文件路径
      抛出:
      BusiException - 当删除操作失败时抛出业务异常
      SQLException
    • saveModule

      public void saveModule(ModuleVO moduleVO) throws BusiException, SQLException
      保存模块信息到指定文件路径
      参数:
      moduleVO - 包含模块信息的值对象,包含应用名称和模块名称等属性
      抛出:
      BusiException - 当业务处理出现异常时抛出
      SQLException - 当数据库操作出现异常时抛出
    • getModuleByUUID

      public ModuleVO getModuleByUUID(String moduleUUID) throws BusiException, SQLException
      根据模块UUID获取模块信息
      参数:
      moduleUUID - 模块的唯一标识符UUID,不能为null
      返回:
      匹配UUID的ModuleVO对象,如果不存在则返回null
      抛出:
      BusiException - 当moduleUUID为null时抛出业务异常
      SQLException - 当数据库操作发生异常时抛出
    • rename

      public void rename(String appName, String moduleName, String newModuleName) throws SQLException, BusiException
      重命名模块

      该方法将指定应用下的模块重命名为新名称,并更新相关资源路径。 如果新模块名称已存在则抛出业务异常,否则完成重命名操作。

      参数:
      appName - 应用名称
      moduleName - 原模块名称
      newModuleName - 新模块名称
      抛出:
      SQLException - 当数据库操作异常时抛出
      BusiException - 当新模块名称已存在时抛出业务异常
    • move

      public void move(String appName, String moduleName, String newAppName) throws SQLException, BusiException
      移动模块到新的应用下

      该方法会检查目标路径下是否已存在同名模块,若存在则抛出业务异常; 若不存在则将源模块下的所有资源移动到目标路径下,并更新资源信息。

      参数:
      appName - 源应用名称
      moduleName - 模块名称
      newAppName - 目标应用名称
      抛出:
      SQLException - 数据库操作异常
      BusiException - 业务异常(当目标路径下已存在同名模块时抛出)
    • exist

      public boolean exist(String appName, String moduleName)
      检查指定应用下的模块是否存在。
      参数:
      appName - 应用名称
      moduleName - 模块名称
      返回:
      如果模块存在,则返回 true;否则返回 false
    • list

      @Comment("\u83b7\u53d6\u6a21\u5757\u5217\u8868") public List<ModuleVO> list() throws SQLException
      获取模块列表
      返回:
      模块列表
      抛出:
      SQLException - 如果数据库操作出现错误
    • listModule

      public List<ModuleVO> listModule(String appName) throws SQLException
      根据应用名称获取对应的模块列表
      参数:
      appName - 应用名称
      返回:
      返回应用对应的模块列表,每个模块为一个JSONObject对象
      抛出:
      SQLException
    • getModule

      public ModuleVO getModule(String appName, String moduleName) throws BusiException, SQLException
      根据应用名称和模块名称获取模块信息

      函数会从指定路径读取模块配置文件,并设置模块及其关联权限、实体引用和服务的应用名称和模块名称

      参数:
      appName - 应用名称,用于定位模块所在应用
      moduleName - 模块名称,用于定位具体模块
      返回:
      包含模块信息的ModuleVO对象,其中已设置应用名称和模块名称
      抛出:
      BusiException - 当业务处理出现异常时抛出
      SQLException - 当数据库操作出现异常时抛出
    • getEntityRef

      public EntityRefVO getEntityRef(String aliasName, ModuleVO moduleVO) throws BusiException, SQLException
      根据别名从模块中获取实体引用对象
      参数:
      aliasName - 要查找的实体引用别名,如果是default 返回主表
      moduleVO - 模块信息对象,包含实体引用列表
      返回:
      匹配别名的实体引用对象,若未找到或别名为null则返回null
      抛出:
      BusiException - 业务异常
      SQLException - 数据库操作异常
    • getEntityForm

      public FormVO getEntityForm(String aliasName, ModuleVO moduleVO) throws BusiException, SQLException, EntityException
      根据引用ID获取对应的表单视图对象
      参数:
      aliasName - 别名
      返回:
      对应的表单视图对象(FormVO),如果引用不存在则返回null
      抛出:
      BusiException - 业务异常
      SQLException - 数据库操作异常
      EntityException
    • getPrimaryEntityRef

      public EntityRefVO getPrimaryEntityRef(ModuleVO moduleVO) throws BusiException, SQLException
      根据模块ID获取主要实体引用信息
      参数:
      moduleVO - 模块
      返回:
      主要实体引用信息对象
      抛出:
      BusiException - 业务异常
      SQLException - SQL异常
    • listEntityForm

      public List<FormVO> listEntityForm(ModuleVO moduleVO) throws BusiException, SQLException, EntityException
      根据模块信息获取关联的实体表单列表
      参数:
      moduleVO - 模块信息对象,包含实体引用信息 如果为null,则返回空列表
      返回:
      包含所有关联实体表单的列表 如果某个实体没有对应的表单,则跳过该实体
      抛出:
      BusiException - 业务异常
      SQLException - 数据库操作异常
      EntityException
    • listForm

      public List<FormVO> listForm(String appName, String moduleName) throws SQLException
      根据应用名称和模块名称获取表单列表
      参数:
      appName - 应用名称,用于定位特定应用
      moduleName - 模块名称,用于定位特定模块
      返回:
      包含与指定应用和模块关联的所有表单的列表
      抛出:
      SQLException - 当数据库操作出现异常时抛出
    • listForeignKeyEntityRef

      public List<EntityRefVO> listForeignKeyEntityRef(ModuleVO moduleVO) throws BusiException, SQLException
      根据引用ID获取外键实体引用
      参数:
      moduleVO - 引用ID,用于定位模块引用
      返回:
      返回类型为1的EntityRefVO对象,如果未找到则返回null
      抛出:
      BusiException - 当模块不存在时抛出业务异常
      SQLException - 当数据库操作异常时抛出
    • getEntityRef

      public EntityRefVO getEntityRef(String refid) throws BusiException, SQLException
      根据引用ID获取实体引用对象 通过refid找到指定的EntityRefVO
      参数:
      refid - 引用ID,用于查找对应的实体引用
      返回:
      匹配的EntityRefVO对象,如果不存在则返回null
      抛出:
      BusiException - 当模块不存在时抛出业务异常
      SQLException - 当数据库操作出现异常时抛出