package com.community.huiju.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.community.huiju.model.TaUser;
import com.community.huiju.model.TpAnnouncement;
import com.community.huiju.model.TpBuildingOwnerInfo;
import com.community.huiju.model.User;
import com.community.huiju.vo.UserVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * <p>
 * 物业web端用户表 Mapper 接口
 * </p>
 *
 * @author jobob
 * @since 2018-12-18
 */
@Mapper
public interface UserMapper extends BaseMapper<User> {
    String selectByIdUserName(@Param("id") Integer id);

    IPage<User> userList(Page page, @Param("loginName") String loginName, @Param("userName") String userName,@Param("communityId")Integer communityId);


    void updateByPrimaryKeySelective(User user);

    /**
     * 当前成员信息
     * @param id
     * @return
     */
    List<UserVO> selectUser(@Param("id") Integer id);

    /**
     * 查询当前多个角色
     * @param id
     * @return
     */

    List<UserVO> selectRole(@Param("id") Integer id);
    
    /**
     * 获取此用户的权限信息
     * @param userId
     * @param communityId
     * @return
     */
	List<Map<String, Object>> getPermission(@Param("userId") Integer userId,@Param("communityId") Integer communityId);
    
    /**
     * 获取父权限
     * @param permissionList
     * @return
     */
    List<Map<String, Object>> selectByPermissionList(@Param("array") List<String> permissionList);

    /**
     * 获取所有物业人员并排除自身
     * @param id
     * @param communityId
     * @return
     */
    List<User> getUser(@Param("id") Integer id, @Param("communityId") Integer communityId);
}
