package com.estate.expert.admin.service.model; import com.estate.expert.admin.domain.common.EntityRef; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.standard.hierachy.HierarchyData; import com.estate.expert.admin.domain.standard.model.Model; import com.estate.expert.admin.domain.standard.model.system.SysModel; import com.estate.expert.admin.domain.standard.model.system.SysModelDto; import com.estate.expert.admin.domain.standard.problem.Problem; import com.estate.expert.admin.service.common.CrudServiceBase; import com.estate.expert.admin.utils.tree.TreeNode; import com.estate.expert.admin.utils.tree.TreeRoot; import javax.lang.model.type.NullType; import java.util.List; /** * 系统模型服务 */ public interface SystemModelService extends CrudServiceBase { /** * 列表 * @param keyword 关键字 * @param pageReq 分页请求 * @return 列表 */ PageResp list(String keyword, PageReq pageReq); /** * 同步模型,同步后版本号+1 */ void sync(Integer id); /** * 默认模型 * @return 默认模型 */ SysModel getDefaultModel(); /** * 创建默认模型 */ void createDefaultModel(); /** * 获取层级树 * @param modelId 模型ID * @return 层级树 */ TreeRoot getHierarchyTree(Integer modelId); // 只获得树结构,不包含数据 /** * 获取层级树 * @param modelId 模型ID * @return 层级树 */ TreeNode getNullHierarchyTree(Integer modelId); /** * 获取模型问题ID列表 * @param model 模型 * @return 模型问题ID列表 */ List listModelProblemIds(Model model); /** * 获取模型问题列表 * @param model 模型 * @param hierarchyPath 层级路径 * @return 模型问题列表 */ List listProblems(Model model, String hierarchyPath); }