BpmFlowCollectManager.java 1.86 KB
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<BpmFlowCollect> {
	/**
	 * 根据主键获取详情
	 * @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<DefaultBpmDefinition> myCollectFlow(QueryFilter<DefaultBpmDefinition> queryFilter)throws Exception;

	/**
	 * 获取当前登录用户收藏的流程key集合
	 * @return 流程key集合
	 * */
	List<String> getMyCollectDefKeys();

	/**
	 * 根据用户ID获取流程收藏分类树数量
	 * @param queryFilter 通用查询条件
	 * @param userId 用户ID
	 * @return 用户流程收藏分类树数量
	 * */
	List<Map<String, Object>> getCollectCountByUserId(QueryFilter queryFilter, String userId);
}