package com.ruoyi.hezhi.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.hezhi.domain.TbMemberSign;
import com.ruoyi.hezhi.domain.dto.MemberSignDTO;

import java.util.List;
import java.util.Map;

/**
 * 用户签到Service接口
 *
 * @author ruoyi
 * @date 2024-10-31
 */
public interface ITbMemberSignService
{
    /**
     * 查询用户签到
     *
     * @param memberSignId 用户签到主键
     * @return 用户签到
     */
    public TbMemberSign selectTbMemberSignByMemberSignId(Long memberSignId);

    /**
     * 查询用户签到列表
     *
     * @param tbMemberSign 用户签到
     * @return 用户签到集合
     */
    public List<TbMemberSign> selectTbMemberSignList(TbMemberSign tbMemberSign);

    /**
     * 新增用户签到
     *
     * @param tbMemberSign 用户签到
     * @return 结果
     */
    public int insertTbMemberSign(TbMemberSign tbMemberSign);

    /**
     * 修改用户签到
     *
     * @param tbMemberSign 用户签到
     * @return 结果
     */
    public int updateTbMemberSign(TbMemberSign tbMemberSign);

    /**
     * 批量删除用户签到
     *
     * @param memberSignIds 需要删除的用户签到主键集合
     * @return 结果
     */
    public int deleteTbMemberSignByMemberSignIds(Long[] memberSignIds);

    /**
     * 删除用户签到信息
     *
     * @param memberSignId 用户签到主键
     * @return 结果
     */
    public int deleteTbMemberSignByMemberSignId(Long memberSignId);

    /**
     * 用户签到弹窗
     *
     * @param params 参数
     * @return 用户签到弹窗
     */
    public Map<String, Object> getMemberSignPopup(Map<String, Object> params);

    /**
     * 用户签到
     *
     * @param memberSignDTO
     * @return ok
     */
    public AjaxResult memberSignDay(MemberSignDTO memberSignDTO);
}
