package controllers;
import play.Logger;
import play.data.validation.Required;
import vo.ErrorVO;
import com.withiter.models.chat.ChatPort;
import com.withiter.models.chat.MerchantPort;
public class ChatEntryController extends BaseController {
public static void redirect(@Required String mid){
if(validation.hasErrors()){
renderJSON(false);
}
// 1st, 判断MerchantPort是否存在
MerchantPort mp = MerchantPort.findByMid(mid);
if(mp != null){ // 存在,则返回port给前台
Logger.info("Find MerchantPort object, return port : %d", mp.port);
renderJSON(mp.port);
}
// 2nd, MerchantPort不存在,查看当前所有port对应的房间数量,选择room少于20的port
ChatPort cp = ChatPort.findOne();
if(cp != null) { // 可以分配一个chat服务器
renderJSON(cp.port);
Logger.info("Can't find MerchantPort object, find one from ChatPort, return port : %d", cp.port);
}
// 3th, 没有少于20的port了,无法分配聊天
Logger.error("No more avaliable port!!!");
renderJSON(false);
}
}