package controllers;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import play.modules.morphia.Model.MorphiaQuery;
import play.mvc.Before;
import vo.ActivityVO;
import cn.bran.japid.util.StringUtils;
import com.withiter.common.Constants;
import com.withiter.models.activity.Activity;
public class ActivityController extends BaseController {
private static Logger logger = LoggerFactory.getLogger(ActivityController.class);
/**
* Interception any caller on this controller, will first invoke this method
*/
@Before
static void checkAuthentification() {
if(session.contains(Constants.SESSION_USERNAME)){
return;
}
Map headers = request.headers;
Iterator it = headers.keySet().iterator();
while(it.hasNext()){
String key = (String) it.next();
logger.debug(key+", " +headers.get(key));
}
if(headers.containsKey("user-agent")){
if(!(request.headers.get("user-agent").values.contains("QuhaoAndroid") || request.headers.get("user-agent").values.contains("QuhaoIOS"))){
renderJSON("请使用Android/iOS APP访问。");
}
} else {
renderJSON("请使用Android/iOS APP访问。");
}
}
/**
* 返回所在城市的优惠活动
*/
public static void activity(){
String cityCode = params.get("cityCode");
if(StringUtils.isEmpty(cityCode)){
cityCode = "021";
}
List<Activity> as = Activity.activityByCityCode(cityCode);
logger.debug("The size of activity is : " + as.size());
List<ActivityVO> vos = new ArrayList<ActivityVO>();
for(Activity a : as){
vos.add(new ActivityVO().build(a));
}
renderJSON(vos);
}
}