package com.engine.organization.mapper.extend;

import com.engine.organization.entity.extend.po.ExtendGroupPO;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Set;

/**
 * @description:
 * @author:dxfeng
 * @createTime: 2022/05/18
 * @version: 1.0
 */
public interface ExtendGroupMapper {
    /**
     * 列表查询
     *
     * @param extendType
     * @return
     */
    List<ExtendGroupPO> listByType(@Param("extendType") Integer extendType, @Param("isShow") String isShow);

    /**
     * 根据ID 查询数据
     *
     * @param ids
     * @return
     */
    List<ExtendGroupPO> listGroupByIds(@Param("ids") Collection<Long> ids);

    ExtendGroupPO getGroupById(@Param("id") Long id);

    /**
     * 根据ID 查询数据
     *
     * @param pid
     * @return
     */
    List<ExtendGroupPO> listGroupByPid(@Param("pid") Long pid, @Param("isShow") String isShow);

    /**
     * 根据ID查询分组名称
     *
     * @param id
     * @return
     */
    String getGroupNameById(@Param("id") String id);

    void insertIgnoreNull(ExtendGroupPO extendGroupPO);

    void update(@Param("id") Long id, @Param("name") String name);

    void delete(@Param("id") Long id);

    void updateNameAndOrder(@Param("id") Long id, @Param("groupName") String groupName, @Param("showOrder") Integer showOrder, @Param("isShow") String isShow);

    void batchDelete(@Param("ids") Set<Long> removeSet);
}
