package controllers; import java.text.SimpleDateFormat; import java.util.Date; import javax.persistence.PersistenceException; import models.Resto; import models.Menu; import play.mvc.Controller; import play.mvc.Result; import play.Logger; import com.avaje.ebean.Ebean; public class Nexmo extends Controller { public static Result index() { return ok("Got request " + request() + "!"); } public static Result logMenu(String msisdn, String to, String messageId, String text, String type) { Menu menu = new Menu(); try { Resto restaurant = Resto.find.where().eq("mobile", msisdn).findUnique(); for (Menu menudujour : restaurant.menus) { Ebean.delete(menudujour); } menu.resto = restaurant; if (menu.resto == null) { return internalServerError(msisdn + " mobile inconnu"); } menu.destinataire = to; menu.messageId = messageId; menu.text = text; menu.typeMsg = type; menu.creationDate = new Date(); String messagetimestamp = request().getQueryString("message-timestamp"); menu.receptionDate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(messagetimestamp); Ebean.save(menu); } catch (Exception e) { String message; if (e instanceof PersistenceException) message = e.getCause().getMessage(); else message = e.getMessage(); return internalServerError("Oops : " + message); } return ok("Sms received :" + menu.messageId); } }