package com.template.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.template.model.pojo.AlumniActivity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.template.model.pojo.AlumniClub;
import com.template.model.vo.AlumniActivityApplyPageVo;
import com.template.model.vo.AlumniActivityPageVo;
import com.template.model.vo.AlumniMyActivityPageVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author ceshi
 * @since 2024-11-27
 */
@Repository
public interface AlumniActivityMapper extends BaseMapper<AlumniActivity> {
    IPage<AlumniActivityPageVo> queryActivityPages(IPage<AlumniActivityPageVo> page, @Param("userName") String userName,
                                                   @Param("collegeId") Integer collegeId, @Param("periodId") Integer periodId, @Param("majorId") Integer majorId, @Param("classId") Integer classId,
                                                   @Param("orgName") String orgName, @Param("theme") String theme, @Param("stateStr") String stateStr,
                                                   @Param("createStartTime") String createStartTime, @Param("createEndTime") String createEndTime,
                                                   @Param("startTime") String startTime, @Param("endTime") String endTime,
                                                   @Param("signsTime") String signsTime, @Param("signeTime") String signeTime);


    IPage<AlumniActivityApplyPageVo> queryActivityApplyPages(IPage<AlumniActivityApplyPageVo> page, @Param("userId") Integer userId, @Param("userName") String userName,
                                                             @Param("collegeId") Integer collegeId, @Param("periodId") Integer periodId, @Param("majorId") Integer majorId, @Param("classId") Integer classId,
                                                             @Param("orgName") String orgName, @Param("theme") String theme, @Param("isPass") Integer isPass,
                                                             @Param("createStartTime") String createStartTime, @Param("createEndTime") String createEndTime,
                                                             @Param("startTime") String startTime, @Param("endTime") String endTime,
                                                             @Param("signsTime") String signsTime, @Param("signeTime") String signeTime);


    IPage<AlumniMyActivityPageVo> queryMyActivityPages(IPage<AlumniMyActivityPageVo> page, @Param("userId") Integer userId, @Param("isPass") Integer isPass);

    IPage<AlumniMyActivityPageVo> queryMyActivityApplyPages(IPage<AlumniMyActivityPageVo> page, @Param("userId") Integer userId, @Param("userName") String userName);

    IPage<AlumniMyActivityPageVo> queryApproveActivityApplyPages(IPage<AlumniMyActivityPageVo> page, @Param("userId") Integer userId, @Param("userName") String userName);
}
