package com.dgtis.dorm.manager.db.dao;

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

import com.dgtis.dorm.manager.db.domain.AlumniUser;
import org.apache.ibatis.annotations.Param;

public interface AlumniUserMapper {
    int insert(AlumniUser record);

    int insertSelective(AlumniUser record);
    
    int updateByPrimaryKeySelective(AlumniUser record);

    int updateByPrimaryKey(AlumniUser record);

	List<AlumniUser> selectByExample(AlumniUser example);

	AlumniUser selectByPrimaryKey(Integer id);

	long countByUser(AlumniUser user);

	AlumniUser selectOneByOpenId(@Param("openId")String openId);

	List<Map> findAlumniRecordById(
			@Param("userId") Integer userId,
			@Param("pageIndex") int pageIndex,
            @Param("pageSize") int pageSize);

	List<Map> findAlumniRecord(@Param("userId") Integer userId,
							   @Param("valString") String valString,
							   @Param("valInt") Integer valInt);

	List<Map> selectMyOrganizeByUserId(@Param("userId") Integer userId);

	Map selectById(@Param("userId") Integer userId);

	List<AlumniUser> selectUserByUserName(String userName);

	/**
	 * 查询校友录列表，待审核用户除外
	 * @param example
	 * @return
	 */
	List<AlumniUser> selectAlumniUser(AlumniUser example);

	/**
	 * 查询游客列表，待审核用户除外
	 * @return
	 */
	List<AlumniUser> selectAlumniUserNotYK();

	/**
     * 查询总条数
     *
     * @param userId
     * @return
     */
	int selectTotalCount(@Param("userId") Integer userId);

	/**
	 * 查询校友录人数（非游客）
	 * @return
	 */
	long selectCountNotYK();

}