package com.community.huiju.dao;

import com.community.huiju.model.TaUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

@Mapper
public interface TaUserMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(TaUser record);

    int insertSelective(TaUser record);

    TaUser selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(TaUser record);

    int updateByPrimaryKey(TaUser record);

    /**
     * 根据loginName和loginPassword 查询用户
     * @param map
     * @return 用户
     */
    TaUser selectByLoginNameAndByLoginPassword(Map<String, Object> map);

    /**
     * 根据loginName 查询用户
     * @param map
     * @return 用户
     */
    TaUser selectByLoginName(@Param("map") Map<String, Object> map);

    /**
     * 更新当前用户电话
     * @param record
     * @return
     */
    TaUser updateLongName(TaUser record);

    /**
     * 查询房屋成员列表
     * @param communityId
     * @param phaseId
     * @param buildingId
     * @param unitId
     * @param levelId
     * @param roomNoId
     * @return
     */
    List<TaUser> selectHouseUserList(@Param("communityId") Integer communityId, @Param("phaseId") Integer phaseId, @Param("buildingId") Integer buildingId, @Param("unitId") Integer unitId, @Param("levelId") Integer levelId, @Param("roomNoId") Integer roomNoId, @Param("userId") Integer userId);

    /**
     * 判断当前用户的关联关系
     * @param userId
     * @param otherUserId
     * @return
     */
    TaUser selectTaFaceParentId(@Param("id") Integer userId, @Param("otherUserId")Integer otherUserId);

    /**
     * 查询此电话在小区是否存在
     * @param communityId
     * @param phone
     * @return
     */
    TaUser getByLoginName(@Param("communityId")Integer communityId, @Param("phone")String phone);

    /**
     * 根据手机号码查询多套房产
     * @param loginName
     * @return
     */
    List<TaUser> getByLoginNameList(@Param("loginName") String loginName);
	
	TaUser getByOpenId(@Param("openid") String openid);
}