package com.estate.expert.admin.service.model;
|
|
import com.estate.expert.admin.domain.business.device.DeviceType;
|
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.device.DeviceModel;
|
import com.estate.expert.admin.domain.standard.model.device.DeviceModelDto;
|
import com.estate.expert.admin.domain.standard.problem.Problem;
|
import com.estate.expert.admin.domain.user.User;
|
import com.estate.expert.admin.service.common.CrudServiceBase;
|
import com.estate.expert.admin.utils.tree.TreeRoot;
|
|
import java.util.List;
|
|
/**
|
* 设备模型服务
|
*
|
* 由于设备模型的特殊性,需要单独处理
|
*/
|
public interface DeviceModelService extends CrudServiceBase<DeviceModel, DeviceModelDto> {
|
|
/**
|
* 列表
|
* @param keyword 关键字
|
* @param pageReq 分页请求
|
* @return 列表
|
*/
|
PageResp<DeviceModelDto> list(String keyword, PageReq pageReq);
|
|
/// 拷贝操作后,需要将原始模型和拷贝模型进行关联
|
/**
|
* 拷贝模型
|
* @param user 用户
|
* @param id 模型ID
|
* @return 拷贝模型
|
*/
|
DeviceModel copy(User user, Integer id);
|
|
/**
|
* 发布模型
|
* @param user 用户
|
* @param id 模型ID
|
*/
|
void publish(User user, Integer id);
|
|
/**
|
* 设置模型启用
|
* @param user 用户
|
* @param modelId 模型ID
|
* @param enable 是否启用
|
*/
|
void setEnable(User user, Integer modelId, boolean enable);
|
|
/**
|
* 找到祖先模型
|
*/
|
/**
|
* 获取启用模型
|
* @return 启用模型
|
*/
|
List<DeviceModel> findActiveModels();
|
|
/**
|
* 默认模型
|
* @return 默认模型
|
*/
|
DeviceModel getDefaultModel();
|
|
/**
|
* 创建默认模型
|
*/
|
void createDefaultModel();
|
|
//// 层级数据 ////
|
/**
|
* 获取层级树
|
* @param model 模型
|
* @return 层级树
|
*/
|
TreeRoot<HierarchyData> getHierarchyTree(Model model);
|
|
/**
|
* 获取模型问题ID列表
|
* @param model 模型
|
* @param deviceType 设备类型
|
* @return 模型问题ID列表
|
*/
|
List<Integer> getProblemIds(Model model, DeviceType deviceType);
|
|
/**
|
* 获取模型问题列表
|
* @param model 模型
|
* @param hierarchyPath 层级路径
|
* @return 模型问题列表
|
*/
|
List<Problem> listProblems(Model model, String hierarchyPath);
|
|
/**
|
* 处理体系变化的通知
|
* @param hierarchyId 层级ID
|
*/
|
void notifyHierarchyChange(Integer hierarchyId);
|
}
|