package com.hotent.runtime.manager; import com.hotent.base.query.PageList; import com.hotent.base.query.QueryFilter; import com.hotent.bpm.api.model.process.def.BpmDefinition; import com.hotent.bpm.persistence.model.DefaultBpmDefinition; import com.hotent.bpm.persistence.model.DefaultBpmProcessInstance; import com.hotent.runtime.model.BpmFlowCollect; import com.hotent.base.manager.BaseManager; import java.util.List; import java.util.Map; /** * 流程收藏记录 服务类 * * @company 广州宏天软件股份有限公司 * @author zengst * @since 2021-09-24 */ public interface BpmFlowCollectManager extends BaseManager { /** * 根据主键获取详情 * @param id * @return */ BpmFlowCollect getDetail(String id); /** * 新建、更新流程收藏记录 * @param bpmFlowCollect * @return */ void createOrUpdate(BpmFlowCollect bpmFlowCollect); /** * 收藏流程 * @param defKey 流程定义key * */ void bookmark(String defKey); /** * 取消收藏 * @param defKey 流程定义key * */ void cancel(String defKey); /** * 通过流程定义key获取当前用户收藏的流程 * @param defKey 流程定义key * @return 流程收藏记录,可能为空 * */ BpmFlowCollect getByDefKey(String defKey); /** * 获取我收藏的流程 * @param queryFilter 通用查询条件 * @return 流程收藏 * */ PageList myCollectFlow(QueryFilter queryFilter)throws Exception; /** * 获取当前登录用户收藏的流程key集合 * @return 流程key集合 * */ List getMyCollectDefKeys(); /** * 根据用户ID获取流程收藏分类树数量 * @param queryFilter 通用查询条件 * @param userId 用户ID * @return 用户流程收藏分类树数量 * */ List> getCollectCountByUserId(QueryFilter queryFilter, String userId); }