package com.srs.comprehensive.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.srs.comprehensive.domain.CphMsg;
import org.apache.ibatis.annotations.Mapper;

/**
 * 消息Mapper接口
 *
 * @author srs
 * @date 2023-07-12
 */
@Mapper
public interface CphMsgMapper  extends BaseMapper<CphMsg>
{
    /**
     * 查询消息
     *
     * @param id 消息主键
     * @return 消息
     */
    public CphMsg selectCphMsgById(Long id);

    /**
     * 查询消息列表
     *
     * @param cphMsg 消息
     * @return 消息集合
     */
    public List<CphMsg> selectCphMsgList(CphMsg cphMsg);

    /**
     * 新增消息
     *
     * @param cphMsg 消息
     * @return 结果
     */
    public int insertCphMsg(CphMsg cphMsg);

    /**
     * 修改消息
     *
     * @param cphMsg 消息
     * @return 结果
     */
    public int updateCphMsg(CphMsg cphMsg);

    /**
     * 删除消息
     *
     * @param id 消息主键
     * @return 结果
     */
    public int deleteCphMsgById(Long id);

    /**
     * 根据接收人和内容中的标识来查找流程消息 (使用LIKE查询)  知无涯
     *
     * @param cphMsg 包含 receiver 和 content (作为模糊查询的标识) 的查询对象
     * @return 匹配的消息列表
     */
    public List<CphMsg> selectCphMsgListForFlowable(CphMsg cphMsg);

    /**
     * 批量删除消息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCphMsgByIds(Long[] ids);


    /**
     * 根据学号查询用户ID
     *
     * @param stuNo 学号
     * @return 用户ID
     */
    public Long getUserIdByStuNo(String stuNo);
}
