package com.mmc.iuav.user.dao.signin;

import com.mmc.iuav.user.entity.signin.SignInDO;
import com.mmc.iuav.user.entity.signin.SignInRecordDO;
import com.mmc.iuav.user.entity.signin.UserAppSignInDO;
import com.mmc.iuav.user.model.vo.signin.AppSignInVO;
import com.mmc.iuav.user.model.vo.signin.SignInVO;
import com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Author small
 * @Date 2023/10/13 9:35
 * @Version 1.0
 */
@Mapper
public interface SignInDao {
    void SignIn(SignInDO signInDO);

    void CheckIn(UserContinuousCheckInVO continuousCheckInVO);

    int update(SignInDO signInDO);

    void remove(Integer id);

    List<SignInDO> SignInList();

    UserAppSignInDO selectUserAppSignIn(AppSignInVO appSignInVO);

    void userAppSignIn(AppSignInVO appSignInVO);

    void updateUserAppSignIn(AppSignInVO appSignInVO);

    void deleteSignInRecord(AppSignInVO appSignInVO);

    void insertSignInRecord(AppSignInVO appSignInVO);

    void updateUserAppSignInD(AppSignInVO appSignInVO);

    List<SignInRecordDO> signInRecord(Integer userAccountId);

    void deleteSign();

    void deleteSignRecord();
}
