예제 #1
0
  @SuppressWarnings("unchecked")
  @RequestMapping("/importar/web")
  public ModelAndView importarWeb(String pedidoJson, String dataEnvio)
      throws JsonParseException, JsonMappingException, IOException, GeneralSecurityException,
          MessagingException {

    logger.info("===> importarWeb(" + dataEnvio + "): " + pedidoJson);

    ObjectMapper mapper = new ObjectMapper();
    Map<String, String> map = mapper.readValue(pedidoJson, Map.class);

    Pedido pedido = new Pedido();

    pedido.setNomeCliente(map.get("Nome completo"));
    pedido.setEmailMLFormulario(map.get("E-mail cadastrado no MercadoLivre"));
    pedido.setEmailAlternativo(map.get("E-mail alternativo"));
    pedido.setEndereco(map.get("Endereço"));
    pedido.setNumero(map.get("Número"));
    pedido.setComplemento(map.get("Complemento"));
    pedido.setBairro(map.get("Bairro"));
    pedido.setCidade(map.get("Cidade"));
    pedido.setUf(map.get("UF"));

    String cep = tratarCep(map.get("CEP"));
    pedido.setCep(cep);

    pedido.setFormaEnvio(FormaEnvio.getEnum(map.get("Forma de envio")));
    pedido.setItens(map.get("Quais foram os itens e a quantidade adquiridos?"));
    pedido.setTema(map.get("Qual é o tema a ser desenvolvido na arte?"));
    pedido.setCorPredominante(map.get("Qual é a cor predominante da sua arte?"));
    pedido.setMensagem(map.get("Qual a mensagem ou nome a ser personalizado?"));
    pedido.setPossuiFoto("Sim".equalsIgnoreCase(map.get("Deseja colocar alguma fotografia?")));
    pedido.setTelefone(map.get("Qual seu telefone fixo para contato?"));
    pedido.setDetalhes(map.get("Adicione mais detalhes de como você quer a sua personalização"));
    pedido.setUsuarioML(map.get("Usuário ML (não altere este campo)"));

    DateTimeFormatter formatDataEvento = DateTimeFormat.forPattern("YYYYY-MM-dd");
    DateTime dataEvento = formatDataEvento.parseDateTime(map.get("Qual a data do evento?"));
    pedido.setDataEvento(dataEvento.toDate());

    DateTimeFormatter formatDataEnvio = DateTimeFormat.forPattern("dd/MM/YYYY");
    DateTime dataEnvioFormulario = formatDataEnvio.parseDateTime(dataEnvio);
    pedido.setDataEnvioFormulario(dataEnvioFormulario.toDate());

    pedidoService.salvarFormulario(pedido);

    return new ModelAndView("redirect:/pedido/edit/" + pedido.getId());
  }
예제 #2
0
 @ModelAttribute("listFormaEnvio")
 public FormaEnvio[] getListFormaEnvio() {
   return FormaEnvio.values();
 }