package cn.com.ty.lift.system.user.dao.mapper;

import cn.com.ty.lift.system.user.dao.entity.UserAccount;
import cn.com.ty.lift.system.user.dao.entity.model.ProjectInfo;
import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
import cn.com.ty.lift.system.user.dao.entity.model.PropertyUserRequest;
import cn.com.ty.lift.system.user.dao.entity.model.RegionInfo;
import cn.com.xwy.boot.mybatis.MyBatisMapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * MyBatis Mapper 接口 - 表：user_account
 *
 * @since 2019-11-29 17:15:02
 */
@MyBatisMapper
public interface UserAccountMapper extends BaseMapper<UserAccount> {

    /**
     * @param
     * @return
     * @description 通过用户id和公司id获取
     * @date 2020-01-05 13:02
     */
    ProjectUser getProjectUserByUserIdAndProjectId(ProjectUser projectUser);

    /**
     * @param
     * @return
     * @description 保存用户信息id
     * @date 2020-01-05 15:19
     */
    void saveProjectUser(ProjectUser projectUser);

    /**
     * @param
     * @return
     * @description 获取物业用户列表
     * @date 2020-01-06 09:17
     */
    List<ProjectUser> getProjectUserList(PropertyUserRequest propertyUserRequest);

    /**
     * @param
     * @return
     * @description 获取物业用户总条数
     * @date 2020-01-06 11:11
     */
    Long getProjectUserCount(PropertyUserRequest propertyUserRequest);

    /**
     * @param
     * @return
     * @description 通过项目id集合获取项目集合信息
     * @date 2020-01-06 12:50
     */
    List<ProjectInfo> getProjectInfoList(List<Long> projectIdList);

    /**
     * @param
     * @return
     * @description 获取区域信息列表
     * @date 2020-01-06 13:57
     */
    List<RegionInfo> getRegionInfoList(List<Long> regionIdList);

    /**
     * @param
     * @return
     * @description 删除项目
     * @date 2020-01-06 17:14
     */
    Long deleteProjectUser(PropertyUserRequest propertyUserRequest);
}