package cn.axzo.workflow.admin.service;

import cn.axzo.workflow.admin.repository.entity.ExtAxProcessAdmin;
import cn.axzo.workflow.common.model.request.admin.ProcessAdminDeleteDTO;
import cn.axzo.workflow.common.model.request.admin.ProcessAdminQueryDTO;

import java.util.List;

public interface ExtAxProcessAdminService {

    /**
     * 新增管理员
     * @param processAdmin 流程配置管理员
     * @return id
     */
    Long insert(ExtAxProcessAdmin processAdmin);

    /**
     * 批量新增
     * @param processAdmins 配置管理员列表
     */
    void batchInsert(List<ExtAxProcessAdmin> processAdmins);

    /**
     * 根据条件查询
     * @param queryDTO
     * @return
     */
    List<ExtAxProcessAdmin> query(ProcessAdminQueryDTO queryDTO);

    /**
     * 根据条件查询数量
     * @param queryDTO
     * @return
     */
    Integer queryCount(ProcessAdminQueryDTO queryDTO);

    /**
     * 根据条件删除管理员配置
     * @param deleteDTO 删除条件
     */
    Integer delete(ProcessAdminDeleteDTO deleteDTO);

    /**
     * 批量删除管理员
     * @param ids 配置表id列表
     */
    Integer deleteCommonAdminsByIds(List<Long> ids);
}
