package com.palmnest.service;

import com.palmnest.application.dto.OrgDto;
import com.palmnest.application.dto.OrgMeetDto;
import com.palmnest.application.dto.UserDto;
import com.palmnest.application.dto.output.UserInfoTokenDto;
import com.palmnest.model.User;
import com.palmnest.model.estateserve.AppUser;

import java.util.List;

public interface AppUserService {

	List<OrgDto> getUserOrgs(Long userId);
	/**
	 * 根据项目名字搜索项目
	 * @param userId
	 * @param orgName
	 * @return
	 */
//	List<OrgDto> getUserOrgsByName(Long userId,String orgName);

	/**
	 * 根据项目名字搜索项目
	 *
	 * @param userId
	 * @param orgName
	 * @return
	 */
	List<OrgMeetDto> getUserOrgsByName(Long userId, String orgName);

	public UserDto convertDto(User user);

//	/**
//	 * 根据项目及openId获取用户
//	 * @param orgId
//	 * @param openId
//	 * @return
//	 */
//	AppUser getAUByOpenId(String orgId,String openId);

	/**
	 * 根据项目以及用户id判断用户是否存在
	 *
	 * @param orgId
	 * @param wxUserId
	 * @return
	 */
	String getAppUser(Integer orgId, Integer wxUserId);

	/**
	 * 根据用户id获取用户信息
	 *
	 * @param wxUserId
	 * @return
	 */
	AppUser getAUByWxUser(Integer wxUserId);

	List<AppUser> countOrgWhiteUser(String[] orgIds);

	boolean checkUserExists(String account);

	public UserInfoTokenDto convertTokenDto(AppUser appUser);
}
