BpmFlowCollectDao.java 1.51 KB
package com.hotent.runtime.dao;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.hotent.bpm.persistence.model.DefaultBpmDefinition;
import com.hotent.runtime.model.BpmFlowCollect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 流程收藏记录 Mapper 接口
 *
 * @company 广州宏天软件股份有限公司
 * @author zengst
 * @since 2021-09-24
 */
public interface BpmFlowCollectDao extends BaseMapper<BpmFlowCollect> {

    /**
     * 获取用户收藏的流程
     * @param convert2Wrapper 通用查询对象
     * @param page 分页信息
     * @return 用户收藏的流程
     * */
    IPage<DefaultBpmDefinition> getUserCollect(IPage<BpmFlowCollect> page, @Param(Constants.WRAPPER) Wrapper<BpmFlowCollect> convert2Wrapper);

    /**
     * 获取用户所有收藏的流程key
     * @param userId 用户ID
     * @return 流程key集合
     * */
    List<String> getUserCollectDefKeys(@Param("userId") String userId);

    /**
     * 获取用户收藏的分类树数量
     *
     * @param userId 用户Id
     * @param wrapper wrapper
     * @return 用户收藏的分类树数量
     */
    List<Map<String, Object>> getCollectCountByUserId(@Param("userId") String userId, @Param(Constants.WRAPPER) Wrapper wrapper);
}