package com.ifish.service;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.ifish.dto.JsonResult;
import com.ifish.dto.PageingDto;
import com.ifish.entity.LiveBanner;
import com.ifish.entity.LiveMessage;
import com.ifish.validator.LiveRoomParam;
import com.ifish.validator.PageParam;

/**
 * @author guogw
 *
 */
public interface LiveRoomService {
	
	/**
	 * 新增直播间
	 * @param liveRoomParam
	 * @return
	 */
	public JSONObject addLiveRoom(LiveRoomParam liveRoomParam);
	
	//修改直播信息
	public JsonResult<?> updateLiveRoom(Integer roomId,LiveRoomParam liveRoomParam);
	
	//人气值
	public Object popularityValue(Integer roomId,Integer userId);
	
	//获取直播间信息
	public Object getLiveRoomInfo(Integer userId);
	
	//直播间列表
	public Object getLiveRoomsByPage(Integer firstResult,Integer pageSize,Integer userId,String orders);
	
	//banner图信息
	public List<LiveBanner> getLiveBanners();
	
	//提交留言
	public Object leaveMessage(LiveMessage liveMessage);
	
	//直播间留言列表
	public Object getLiveMessageByPage(Integer firstResult,Integer pageSize,Integer roomId);
	
	/**
	 * 按时间倒序分页获取直播间信息
	 * @param pageParam
	 * @return
	 */
	public PageingDto<?> getLiveRoomsByTime(PageParam pageParam);
	/**
	 * 按人气值倒序分页获取直播间信息
	 * @param pageParam
	 * @return
	 */
	public PageingDto<?> getLiveRoomsByPopularityValue(PageParam pageParam);
	/**
	 * 按推荐顺序分页获取直播间信息
	 * @param pageParam
	 * @return
	 */
	public PageingDto<?> getLiveRoomsByTuijian(PageParam pageParam);
	
	/**
	 * 直播间点赞
	 * @param roomId
	 * @param userId
	 * @return
	 */
	public JsonResult<?> liveRoomsZan(Integer roomId,Integer userId);
	
}
