package com.flossom.common.core.mapper;

import com.flossom.common.core.domain.entity.WxInstrument;
import com.flossom.common.core.domain.req.WxInstrumentReq;

import java.util.List;

/**
 * 仪器列Mapper接口
 *
 * @author flossom
 * @date 2024-01-06
 */
public interface WxInstrumentMapper {
    /**
     * 查询仪器列
     *
     * @param id 仪器列主键
     * @return 仪器列
     */
    public WxInstrument selectWxInstrumentById(Long id);

    /**
     * 查询仪器列列表
     *
     * @param wxInstrument 仪器列
     * @return 仪器列集合
     */
    public List<WxInstrument> selectWxInstrumentList(WxInstrument wxInstrument);

    List<WxInstrument> selectWxInstrumentPage(WxInstrumentReq wxInstrumentReq);

    /**
     * 新增仪器列
     *
     * @param wxInstrument 仪器列
     * @return 结果
     */
    public int insertWxInstrument(WxInstrument wxInstrument);

    /**
     * 修改仪器列
     *
     * @param wxInstrument 仪器列
     * @return 结果
     */
    public int updateWxInstrument(WxInstrument wxInstrument);

    /**
     * 删除仪器列
     *
     * @param id 仪器列主键
     * @return 结果
     */
    public int deleteWxInstrumentById(Long id);

    /**
     * 批量删除仪器列
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWxInstrumentByIds(Long id);

    /**
     * 根据 UserId 获取仪器列表
     * @param userId
     * @return
     */
    List<WxInstrument> selectBindingInstrumentListByUserId(Long userId);

    List<WxInstrument> selectUnbindingInstrumentListByUserId(Long userId);
}
