@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()); }
@ModelAttribute("listFormaEnvio") public FormaEnvio[] getListFormaEnvio() { return FormaEnvio.values(); }