package net.tooan.ynpay.user.agent.facade;
import net.tooan.ynpay.user.agent.bean.User;
import net.tooan.ynpay.user.agent.model.Session;
import javax.ejb.Remote;
/**
* Created with IntelliJ IDEA.
* User: Jing
* Date: 13-11-6
* Time: 下午1:21
*/
@Remote
public interface SessionFacade {
/**
* 通过用户 token 获取用户 Session
*
* @param token 用户 token
* @return 用户 Session
* @throws Exception
*/
Session getByToken(String token) throws Exception;
/**
* 通过用户名获取用户 Session
*
* @param username 用户名
* @return 用户 Session
* @throws Exception
*/
Session getByUsername(String username) throws Exception;
/**
* 通过用户 token 删除用户 Session
*
* @param token 用户 token
* @throws Exception
*/
void removeByToken(String token) throws Exception;
/**
* 保存用户 Session,默认保存 24 小时
*
* @param user 用户信息
* @return 保存后的 Session
* @throws Exception
*/
Session save(User user) throws Exception;
/**
* 保存用户 Session
*
* @param user 用户信息
* @param expire Session 保存时间(秒)
* @return 保存后的 Session
* @throws Exception
*/
Session save(User user, int expire) throws Exception;
/**
* 保存用户 Session
*
* @param user 用户信息
* @param single true 为单用户模式
* @return 保存后的 Session
* @throws Exception
*/
Session save(User user, boolean single) throws Exception;
/**
* 保存用户 Session
*
* @param user 用户信息
* @param expire Session 保存时间(秒)
* @param single true 为单用户模式
* @return 保存后的 Session
* @throws Exception
*/
Session save(User user, int expire, boolean single) throws Exception;
}