package io.hmit.dao;

import io.hmit.common.dao.BaseDao;
import io.hmit.dto.OrgUserInfoDTO;
import io.hmit.dto.ServiceUserInfoDTO;
import io.hmit.dto.UserRegisterDTO;
import io.hmit.entity.UserEntity;
import io.hmit.modules.serviceOrder.dto.UserAddressDTO;
import io.hmit.modules.serviceOrder.dto.UserRoleInfoDTO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 用户
 *
 * @author zsh 408538940@qq.com
 */
@Mapper
public interface UserDao extends BaseDao<UserEntity> {

    UserEntity getUserByMobile(String mobile);

    UserEntity getUserByUserId(Long userId);

    UserEntity getUserByOpenId(String openId);

    List<Long> getAllOrganizationStaff(Long userId);

    OrgUserInfoDTO getOrgUserByUserId(Long userId);

    ServiceUserInfoDTO getServiceUserByUserId(Long userId);

    List<UserRoleInfoDTO> getUserRoleInfo(Long userId);

    UserRegisterDTO getUserInfoByIdCardNo(Long idCardNo);

    /**
     * 根据用户手机号或姓名（模糊）查询用户地址
     */
    List<UserAddressDTO> findUserAddressByUsernameOrMobile(String username, String mobile);

    List<UserEntity> getOrgStaff(Long userId);

}
