package com.younike.system.mapper;

import java.util.ArrayList;
import java.util.List;
import com.younike.system.domain.ServerUserFollow;
import org.apache.ibatis.annotations.Param;
import org.apache.xmlbeans.impl.tool.Extension;

/**
 * 服务人员关注发布类型关联Mapper接口
 *
 * @author elev
 * @date 2022-01-20
 */
public interface ServerUserFollowMapper {
    /**
     * 查询服务人员关注发布类型关联
     *
     * @param serverUserId 服务人员关注发布类型关联主键
     * @return 服务人员关注发布类型关联
     */
    ServerUserFollow selectServerUserFollowByServerUserId(Long serverUserId);

    /**
     * 查询服务人员关注发布类型关联列表
     *
     * @param serverUserFollow 服务人员关注发布类型关联
     * @return 服务人员关注发布类型关联集合
     */
    List<ServerUserFollow> selectServerUserFollowList(ServerUserFollow serverUserFollow);

    /**
     * 新增服务人员关注发布类型关联
     *
     * @param serverUserFollow 服务人员关注发布类型关联
     * @return 结果
     */
    int insertServerUserFollow(ServerUserFollow serverUserFollow);

    /**
     * 修改服务人员关注发布类型关联
     *
     * @param serverUserFollow 服务人员关注发布类型关联
     * @return 结果
     */
    int updateServerUserFollow(ServerUserFollow serverUserFollow);

    /**
     * 删除服务人员关注发布类型关联
     *
     * @param serverUserId 服务人员关注发布类型关联主键
     * @return 结果
     */
    int deleteServerUserFollowByServerUserId(Long serverUserId);

    /**
     * 批量删除服务人员关注发布类型关联
     *
     * @param serverUserIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteServerUserFollowByServerUserIds(Long[] serverUserIds);

    int cancelAttention(ServerUserFollow follow);

    /**
     * 批量添加数据
     * @param addServerUserFollows
     * @return
     */
    int insertServerUserFollowList(ArrayList<ServerUserFollow> addServerUserFollows);

    /**
     * 批量删除数据
     * @param delServerUserFollows
     * @return
     */
    int deleteServerUserFollowList(ArrayList<ServerUserFollow> delServerUserFollows);
}
