From 5717d48fcdcf885d9e14cb7f31eece54a570c0dc Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Mon, 25 Jun 2018 12:28:51 -0300 Subject: [PATCH 01/19] prueba --- pom.xml | 2 + src/main/java/com/bootcamp2018/Main.java | 682 +++++++++--------- .../com/bootcamp2018/control/ItemControl.java | 7 +- .../META-INF/context.xml | 0 .../{webapp => resources}/WEB-INF/beans.xml | 0 .../{webapp => resources}/WEB-INF/web.xml | 0 6 files changed, 343 insertions(+), 348 deletions(-) rename src/main/{webapp => resources}/META-INF/context.xml (100%) rename src/main/{webapp => resources}/WEB-INF/beans.xml (100%) rename src/main/{webapp => resources}/WEB-INF/web.xml (100%) diff --git a/pom.xml b/pom.xml index c35a6bb..f4b8b94 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,7 @@ BootCamp2018 Juan 1.0-SNAPSHOT + war @@ -56,6 +57,7 @@ com.fasterxml.jackson.dataformat jackson-dataformat-xml + 2.9.5 diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java index 895eda0..92979c1 100644 --- a/src/main/java/com/bootcamp2018/Main.java +++ b/src/main/java/com/bootcamp2018/Main.java @@ -1,356 +1,352 @@ package com.bootcamp2018; -import com.bootcamp2018.dao.*; -import com.bootcamp2018.model.*; -import com.bootcamp2018.service.DiscountService; -import com.bootcamp2018.service.ItemService; -import com.bootcamp2018.util.Utility; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; -import java.util.ArrayList; -import java.util.Scanner; - public class Main { public static void main(String[] Arg) { - int op = 0; - boolean ban = false; - String menu; - ItemDAO itemDAO = new ItemDAO(); - Scanner scanner = new Scanner(System.in); - ArrayList listOfItems; - ItemService is; - try { - while (op != 3) { - System.out.println("Menu"); - System.out.println("1.Enter as Admin"); - System.out.println("2.Enter as Client"); - System.out.println("3.Exit"); - ban = false; - menu = scanner.next(); - if (Utility.isInt(menu)) { - op = Integer.parseInt(menu); - switch (op) { - case 1: - op = 0; - while (op != 5) { - System.out.println("Admin Menu"); - System.out.println("1.Item Menu"); - System.out.println("2.Discount Menu"); - System.out.println("3.Payment Menu"); - System.out.println("4.Clients Menu"); - System.out.println("5.Exit"); - menu = scanner.next(); - if (Utility.isInt(menu)) { - op = Integer.parseInt(menu); - switch (op) { - case 1: - op = 0; - while (op != 5) { - System.out.println("Item Menu"); - System.out.println("1.Create Item"); - System.out.println("2.Retrieve Items"); - System.out.println("3.Update Item"); - System.out.println("4.Delete Item"); - System.out.println("5.Exit"); - menu = scanner.next(); - if (Utility.isInt(menu)) { - op = Integer.parseInt(menu); - switch (op) { - case 1: - while (!ban) { - System.out.println("Enter item name: "); - String name = scanner.next(); - if (name != null) { - while (!ban) { - System.out.println("Enter item price: "); - String prices = scanner.next(); - if (Utility.isDouble(prices)) { - double price = Double.parseDouble(prices); - is = new ItemService(); - Item created = is.create(new Item(name, price)); - if (created == null) { - System.out.println("Error"); - } - ban = true; - - } else { - System.out.println("Please enter a valid value."); - } - } - } else { - System.out.println("Please enter a valid value."); - } - } - break; - case 2: - System.out.println("List of Items: "); - is = new ItemService(); - listOfItems = is.getList(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - scanner.next(); - break; - case 3: - ban = false; - while (!ban) { - System.out.println("List of Items: "); - listOfItems = itemDAO.retriveItems(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - System.out.println("Enter Item Code to modify: "); - String code = scanner.next(); - if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { - while (!ban) { - Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); - System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); - String name = scanner.next(); - if (name != null) { - updateItem.setName(name); - while (!ban) { - System.out.println("Enter item price: "); - String prices = scanner.next(); - if (Utility.isDouble(prices)) { - - updateItem.setPrice(Double.parseDouble(prices)); - is = new ItemService(); - is.update(updateItem); - - if (!ban) { - System.out.println("Error"); - ban = true; - } - } else { - System.out.println("Please enter a valid value."); - } - } - } else { - System.out.println("Please enter a valid value."); - } - - } - } - } - break; - case 4: - System.out.println("List of Items: "); - is = new ItemService(); - listOfItems = is.getList(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - System.out.println("Enter the code of the item you want to delete: "); - String code = scanner.next(); - if (Utility.isInt(code)) { - is = new ItemService(); - is.delete(new Item(Integer.parseInt(code), "", 0)); - } - break; - case 5: - break; - default: - System.out.println("Number must be between 1 and 5"); - break; - } - } - } - break; - case 2: - op = 0; - while (op != 5) { - System.out.println("Discount Menu"); - System.out.println("1.Create Discount"); - System.out.println("2.Retrieve Discount"); - System.out.println("3.Update Discount"); - System.out.println("4.Delete Discount"); - System.out.println("5.Exit"); - menu = scanner.next(); - if (Utility.isInt(menu)) { - op = Integer.parseInt(menu); - switch (op) { - case 1: - while (!ban) { - System.out.println("List of Items: "); - is = new ItemService(); - listOfItems = is.getList(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - System.out.println("Enter code of the item for the discount: "); - String code = scanner.next(); - if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { - Item discountItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); - while (!ban) { - System.out.println("Enter the price for each " + discountItem.getName() + ": "); - String prices = scanner.next(); - if (Utility.isDouble(prices)) { - double price = Double.parseDouble(prices); - while (!ban) { - System.out.println("Enter the quantity of " + discountItem.getName() + ": "); - String quantities = scanner.next(); - if (Utility.isInt(quantities)) { - int quantity = Integer.parseInt(quantities); - DiscountService ds = new DiscountService(); - Discount discount = ds.create(new Discount(discountItem, quantity, price)); - if (discount.getId() == 0) { - System.out.println("error"); - - } - ban = true; - } else { - System.out.println("Please enter a valid value."); - } - } - - } else { - System.out.println("Please enter a valid value."); - } - } - } else { - System.out.println("Please enter a valid value."); - } - } - break; - case 2: - System.out.println("List of Items: "); - is = new ItemService(); - listOfItems = is.getList(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - scanner.next(); - break; - case 3: - ban = false; - while (!ban) { - System.out.println("List of Items: "); - listOfItems = itemDAO.retriveItems(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - System.out.println("Enter Item Code to modify: "); - String code = scanner.next(); - if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { - while (!ban) { - Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); - System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); - String name = scanner.next(); - if (name != null) { - updateItem.setName(name); - while (!ban) { - System.out.println("Enter item price: "); - String prices = scanner.next(); - if (Utility.isDouble(prices)) { - - updateItem.setPrice(Double.parseDouble(prices)); - is = new ItemService(); - is.update(updateItem); - - if (!ban) { - System.out.println("Error"); - ban = true; - } - } else { - System.out.println("Please enter a valid value."); - } - } - } else { - System.out.println("Please enter a valid value."); - } - - } - } - } - break; - case 4: - System.out.println("List of Items: "); - is = new ItemService(); - listOfItems = is.getList(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - System.out.println("Enter the code of the item you want to delete: "); - String code = scanner.next(); - if (Utility.isInt(code)) { - is = new ItemService(); - is.delete(new Item(Integer.parseInt(code), "", 0)); - } - break; - case 5: - break; - default: - System.out.println("Number must be between 1 and 5"); - break; - } - } - } - break; - case 3: - break; - case 4: - break; - case 5: - break; - default: - System.out.println("Number must be between 1 and 5"); - break; - } - } - } - break; - case 2: - - break; - case 3: - break; - default: - System.out.println("Number must be between 1 and 3 "); - break; - } - - } - - - } - - } catch (Exception e) { - - } - - - } - - private static boolean isInt(String s) { - try { - Integer.parseInt(s); - } catch (NumberFormatException e) { - return false; - } catch (NullPointerException e) { - return false; - } - return true; - } + ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); - private static boolean isDouble(String s) { - try { - Double.parseDouble(s); - } catch (NumberFormatException e) { - return false; - } catch (NullPointerException e) { - return false; - } - return true; +// int op = 0; +// boolean ban = false; +// String menu; +// ItemDAO itemDAO = new ItemDAO(); +// Scanner scanner = new Scanner(System.in); +// ArrayList listOfItems; +// ItemService is; +// try { +// while (op != 3) { +// System.out.println("Menu"); +// System.out.println("1.Enter as Admin"); +// System.out.println("2.Enter as Client"); +// System.out.println("3.Exit"); +// ban = false; +// menu = scanner.next(); +// if (Utility.isInt(menu)) { +// op = Integer.parseInt(menu); +// switch (op) { +// case 1: +// op = 0; +// while (op != 5) { +// System.out.println("Admin Menu"); +// System.out.println("1.Item Menu"); +// System.out.println("2.Discount Menu"); +// System.out.println("3.Payment Menu"); +// System.out.println("4.Clients Menu"); +// System.out.println("5.Exit"); +// menu = scanner.next(); +// if (Utility.isInt(menu)) { +// op = Integer.parseInt(menu); +// switch (op) { +// case 1: +// op = 0; +// while (op != 5) { +// System.out.println("Item Menu"); +// System.out.println("1.Create Item"); +// System.out.println("2.Retrieve Items"); +// System.out.println("3.Update Item"); +// System.out.println("4.Delete Item"); +// System.out.println("5.Exit"); +// menu = scanner.next(); +// if (Utility.isInt(menu)) { +// op = Integer.parseInt(menu); +// switch (op) { +// case 1: +// while (!ban) { +// System.out.println("Enter item name: "); +// String name = scanner.next(); +// if (name != null) { +// while (!ban) { +// System.out.println("Enter item price: "); +// String prices = scanner.next(); +// if (Utility.isDouble(prices)) { +// double price = Double.parseDouble(prices); +// is = new ItemService(); +// Item created = is.create(new Item(name, price)); +// if (created == null) { +// System.out.println("Error"); +// } +// ban = true; +// +// } else { +// System.out.println("Please enter a valid value."); +// } +// } +// } else { +// System.out.println("Please enter a valid value."); +// } +// } +// break; +// case 2: +// System.out.println("List of Items: "); +// is = new ItemService(); +// listOfItems = is.getList(new Item()); +// for (Item i : listOfItems +// ) { +// System.out.println(i.toString()); +// } +// scanner.next(); +// break; +// case 3: +// ban = false; +// while (!ban) { +// System.out.println("List of Items: "); +// listOfItems = itemDAO.retriveItems(new Item()); +// for (Item i : listOfItems +// ) { +// System.out.println(i.toString()); +// } +// System.out.println("Enter Item Code to modify: "); +// String code = scanner.next(); +// if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { +// while (!ban) { +// Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); +// System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); +// String name = scanner.next(); +// if (name != null) { +// updateItem.setName(name); +// while (!ban) { +// System.out.println("Enter item price: "); +// String prices = scanner.next(); +// if (Utility.isDouble(prices)) { +// +// updateItem.setPrice(Double.parseDouble(prices)); +// is = new ItemService(); +// is.update(updateItem); +// +// if (!ban) { +// System.out.println("Error"); +// ban = true; +// } +// } else { +// System.out.println("Please enter a valid value."); +// } +// } +// } else { +// System.out.println("Please enter a valid value."); +// } +// +// } +// } +// } +// break; +// case 4: +// System.out.println("List of Items: "); +// is = new ItemService(); +// listOfItems = is.getList(new Item()); +// for (Item i : listOfItems +// ) { +// System.out.println(i.toString()); +// } +// System.out.println("Enter the code of the item you want to delete: "); +// String code = scanner.next(); +// if (Utility.isInt(code)) { +// is = new ItemService(); +// is.delete(new Item(Integer.parseInt(code), "", 0)); +// } +// break; +// case 5: +// break; +// default: +// System.out.println("Number must be between 1 and 5"); +// break; +// } +// } +// } +// break; +// case 2: +// op = 0; +// while (op != 5) { +// System.out.println("Discount Menu"); +// System.out.println("1.Create Discount"); +// System.out.println("2.Retrieve Discount"); +// System.out.println("3.Update Discount"); +// System.out.println("4.Delete Discount"); +// System.out.println("5.Exit"); +// menu = scanner.next(); +// if (Utility.isInt(menu)) { +// op = Integer.parseInt(menu); +// switch (op) { +// case 1: +// while (!ban) { +// System.out.println("List of Items: "); +// is = new ItemService(); +// listOfItems = is.getList(new Item()); +// for (Item i : listOfItems +// ) { +// System.out.println(i.toString()); +// } +// System.out.println("Enter code of the item for the discount: "); +// String code = scanner.next(); +// if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { +// Item discountItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); +// while (!ban) { +// System.out.println("Enter the price for each " + discountItem.getName() + ": "); +// String prices = scanner.next(); +// if (Utility.isDouble(prices)) { +// double price = Double.parseDouble(prices); +// while (!ban) { +// System.out.println("Enter the quantity of " + discountItem.getName() + ": "); +// String quantities = scanner.next(); +// if (Utility.isInt(quantities)) { +// int quantity = Integer.parseInt(quantities); +// DiscountService ds = new DiscountService(); +// Discount discount = ds.create(new Discount(discountItem, quantity, price)); +// if (discount.getId() == 0) { +// System.out.println("error"); +// +// } +// ban = true; +// } else { +// System.out.println("Please enter a valid value."); +// } +// } +// +// } else { +// System.out.println("Please enter a valid value."); +// } +// } +// } else { +// System.out.println("Please enter a valid value."); +// } +// } +// break; +// case 2: +// System.out.println("List of Items: "); +// is = new ItemService(); +// listOfItems = is.getList(new Item()); +// for (Item i : listOfItems +// ) { +// System.out.println(i.toString()); +// } +// scanner.next(); +// break; +// case 3: +// ban = false; +// while (!ban) { +// System.out.println("List of Items: "); +// listOfItems = itemDAO.retriveItems(new Item()); +// for (Item i : listOfItems +// ) { +// System.out.println(i.toString()); +// } +// System.out.println("Enter Item Code to modify: "); +// String code = scanner.next(); +// if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { +// while (!ban) { +// Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); +// System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); +// String name = scanner.next(); +// if (name != null) { +// updateItem.setName(name); +// while (!ban) { +// System.out.println("Enter item price: "); +// String prices = scanner.next(); +// if (Utility.isDouble(prices)) { +// +// updateItem.setPrice(Double.parseDouble(prices)); +// is = new ItemService(); +// is.update(updateItem); +// +// if (!ban) { +// System.out.println("Error"); +// ban = true; +// } +// } else { +// System.out.println("Please enter a valid value."); +// } +// } +// } else { +// System.out.println("Please enter a valid value."); +// } +// +// } +// } +// } +// break; +// case 4: +// System.out.println("List of Items: "); +// is = new ItemService(); +// listOfItems = is.getList(new Item()); +// for (Item i : listOfItems +// ) { +// System.out.println(i.toString()); +// } +// System.out.println("Enter the code of the item you want to delete: "); +// String code = scanner.next(); +// if (Utility.isInt(code)) { +// is = new ItemService(); +// is.delete(new Item(Integer.parseInt(code), "", 0)); +// } +// break; +// case 5: +// break; +// default: +// System.out.println("Number must be between 1 and 5"); +// break; +// } +// } +// } +// break; +// case 3: +// break; +// case 4: +// break; +// case 5: +// break; +// default: +// System.out.println("Number must be between 1 and 5"); +// break; +// } +// } +// } +// break; +// case 2: +// +// break; +// case 3: +// break; +// default: +// System.out.println("Number must be between 1 and 3 "); +// break; +// } +// +// } +// +// +// } +// +// } catch (Exception e) { +// +// } +// +// +// } +// +// private static boolean isInt(String s) { +// try { +// Integer.parseInt(s); +// } catch (NumberFormatException e) { +// return false; +// } catch (NullPointerException e) { +// return false; +// } +// return true; +// } +// +//// private static boolean isDouble(String s) { +//// try { +//// Double.parseDouble(s); +//// } catch (NumberFormatException e) { +//// return false; +//// } catch (NullPointerException e) { +//// return false; +//// } +//// return true; } diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 7104a29..0a55fa3 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -2,17 +2,14 @@ import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.model.Item; -import com.sun.org.glassfish.gmbal.ParameterNames; + import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; + import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import javax.annotation.PostConstruct; -import java.lang.reflect.Parameter; import java.util.ArrayList; @Controller diff --git a/src/main/webapp/META-INF/context.xml b/src/main/resources/META-INF/context.xml similarity index 100% rename from src/main/webapp/META-INF/context.xml rename to src/main/resources/META-INF/context.xml diff --git a/src/main/webapp/WEB-INF/beans.xml b/src/main/resources/WEB-INF/beans.xml similarity index 100% rename from src/main/webapp/WEB-INF/beans.xml rename to src/main/resources/WEB-INF/beans.xml diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/resources/WEB-INF/web.xml similarity index 100% rename from src/main/webapp/WEB-INF/web.xml rename to src/main/resources/WEB-INF/web.xml From eda62f91b332e0538f1f799dd0060aa4a7147f2e Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Mon, 25 Jun 2018 20:24:50 -0300 Subject: [PATCH 02/19] Tratando --- src/main/java/com/bootcamp2018/control/ItemControl.java | 7 ++++--- src/main/java/com/bootcamp2018/dao/ClientDAO.java | 3 ++- src/main/java/com/bootcamp2018/dao/ItemDAO.java | 3 ++- src/main/{resources => webapp}/META-INF/context.xml | 0 src/main/{resources => webapp}/WEB-INF/beans.xml | 2 +- src/main/{resources => webapp}/WEB-INF/web.xml | 3 +++ 6 files changed, 12 insertions(+), 6 deletions(-) rename src/main/{resources => webapp}/META-INF/context.xml (100%) rename src/main/{resources => webapp}/WEB-INF/beans.xml (94%) rename src/main/{resources => webapp}/WEB-INF/web.xml (99%) diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 0a55fa3..70618d0 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -9,11 +9,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; -@Controller -@RequestMapping("/item") +@RestController public class ItemControl { @@ -23,7 +24,7 @@ public Item create(Item object) { return itemDAO.createItem(object); } - @RequestMapping(value="/") + @RequestMapping(value="/list",method = RequestMethod.POST) public ResponseEntity get(@RequestBody Item item) { ItemDAO itemDAO = new ItemDAO(); item = itemDAO.retriveItem(item.getId()); diff --git a/src/main/java/com/bootcamp2018/dao/ClientDAO.java b/src/main/java/com/bootcamp2018/dao/ClientDAO.java index bc03155..97c196e 100644 --- a/src/main/java/com/bootcamp2018/dao/ClientDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ClientDAO.java @@ -2,10 +2,11 @@ import com.bootcamp2018.db.DBConnection; import com.bootcamp2018.model.*; +import org.springframework.stereotype.Service; import java.sql.*; import java.util.ArrayList; - +@Service public class ClientDAO { public Client createClient(Client client) { diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index ecce0ed..d213533 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -2,11 +2,12 @@ import com.bootcamp2018.db.DBConnection; import com.bootcamp2018.model.Item; +import org.springframework.stereotype.Service; import java.sql.*; import java.util.ArrayList; - +@Service public class ItemDAO { diff --git a/src/main/resources/META-INF/context.xml b/src/main/webapp/META-INF/context.xml similarity index 100% rename from src/main/resources/META-INF/context.xml rename to src/main/webapp/META-INF/context.xml diff --git a/src/main/resources/WEB-INF/beans.xml b/src/main/webapp/WEB-INF/beans.xml similarity index 94% rename from src/main/resources/WEB-INF/beans.xml rename to src/main/webapp/WEB-INF/beans.xml index 08160bf..e0bb9c9 100644 --- a/src/main/resources/WEB-INF/beans.xml +++ b/src/main/webapp/WEB-INF/beans.xml @@ -11,7 +11,7 @@ http://www.springframework.org/schema/mvc/spring-mvc.xsd"> - + diff --git a/src/main/resources/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml similarity index 99% rename from src/main/resources/WEB-INF/web.xml rename to src/main/webapp/WEB-INF/web.xml index a0328fc..555af56 100644 --- a/src/main/resources/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -9,10 +9,13 @@ MyDispatcher org.springframework.web.servlet.DispatcherServlet + contextConfigLocation /WEB-INF/spring-mvc-demo-servlet.xml + + 1 From 515c492b34d723c7a41e0104b9b5461159c1d4f2 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Tue, 26 Jun 2018 05:02:47 -0300 Subject: [PATCH 03/19] Ver Json --- pom.xml | 46 ++++++++++--------- .../com/bootcamp2018/control/ItemControl.java | 21 +++++---- .../bootcamp2018/control/PaymentControl.java | 10 ++-- .../java/com/bootcamp2018/dao/ItemDAO.java | 5 +- .../java/com/bootcamp2018/model/Client.java | 7 ++- .../java/com/bootcamp2018/model/Discount.java | 2 +- .../java/com/bootcamp2018/model/Item.java | 1 + .../java/com/bootcamp2018/model/Order.java | 6 +-- .../com/bootcamp2018/model/OrderDetail.java | 3 +- .../java/com/bootcamp2018/model/Payment.java | 5 -- src/main/webapp/WEB-INF/beans.xml | 1 + src/main/webapp/WEB-INF/web.xml | 14 +++--- 12 files changed, 59 insertions(+), 62 deletions(-) diff --git a/pom.xml b/pom.xml index f4b8b94..b582697 100644 --- a/pom.xml +++ b/pom.xml @@ -15,24 +15,6 @@ mysql-connector-java 8.0.11 - - javax.servlet - javax.servlet-api - 3.1.0 - - - - javax.servlet.jsp - javax.servlet.jsp-api - 2.3.1 - - - - javax.servlet - jstl - 1.2 - - commons-logging commons-logging @@ -54,12 +36,32 @@ spring-orm 5.0.6.RELEASE + + + + + - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - 2.9.5 + com.mchange + c3p0 + 0.9.2.1 + + + + javax.servlet + javax.servlet-api + 3.1.0 + + + javax.servlet.jsp + javax.servlet.jsp-api + 2.3.1 + + + javax.servlet + jstl + 1.2 - 1.8 diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 70618d0..ed163cf 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -10,30 +10,35 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; -@RestController +@Controller public class ItemControl { - @RequestMapping + public Item create(Item object) { ItemDAO itemDAO = new ItemDAO(); return itemDAO.createItem(object); } - @RequestMapping(value="/list",method = RequestMethod.POST) + @RequestMapping(value="/list/get",method = RequestMethod.POST) public ResponseEntity get(@RequestBody Item item) { ItemDAO itemDAO = new ItemDAO(); item = itemDAO.retriveItem(item.getId()); - return new ResponseEntity(item,HttpStatus.OK); + return new ResponseEntity<>(item,HttpStatus.OK); } - - public ArrayList getList(Item object) { + @RequestMapping(value="/list",method = RequestMethod.GET) + public String getList(Item object) { ItemDAO itemDAO = new ItemDAO(); - return itemDAO.retriveItems(object); + String str= ""; + for (Item it: itemDAO.retriveItems(object) + ) { + str += it.toString(); + } + + return str; } diff --git a/src/main/java/com/bootcamp2018/control/PaymentControl.java b/src/main/java/com/bootcamp2018/control/PaymentControl.java index eba41fa..073d4f0 100644 --- a/src/main/java/com/bootcamp2018/control/PaymentControl.java +++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java @@ -2,18 +2,14 @@ import com.bootcamp2018.dto.PaymentDTO; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; + import java.util.ArrayList; -@Controller -@RequestMapping("/") + public class PaymentControl { - @RequestMapping(value = "/", method = RequestMethod.GET) + public PaymentDTO create(PaymentDTO Object) { return Object; } diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index d213533..3535437 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -2,12 +2,13 @@ import com.bootcamp2018.db.DBConnection; import com.bootcamp2018.model.Item; -import org.springframework.stereotype.Service; +import org.springframework.stereotype.Repository; + import java.sql.*; import java.util.ArrayList; -@Service +@Repository public class ItemDAO { diff --git a/src/main/java/com/bootcamp2018/model/Client.java b/src/main/java/com/bootcamp2018/model/Client.java index 512006b..59f1647 100644 --- a/src/main/java/com/bootcamp2018/model/Client.java +++ b/src/main/java/com/bootcamp2018/model/Client.java @@ -1,16 +1,15 @@ package com.bootcamp2018.model; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; + import java.util.ArrayList; -@Component + public class Client { private int id; private String name; private String lastName; private String description; - @Autowired + private ArrayList Payments; public Client(int id) { diff --git a/src/main/java/com/bootcamp2018/model/Discount.java b/src/main/java/com/bootcamp2018/model/Discount.java index 0ebb927..47e5e99 100644 --- a/src/main/java/com/bootcamp2018/model/Discount.java +++ b/src/main/java/com/bootcamp2018/model/Discount.java @@ -2,7 +2,7 @@ import org.springframework.stereotype.Component; -@Component + public class Discount { private Item item; private int quantity; diff --git a/src/main/java/com/bootcamp2018/model/Item.java b/src/main/java/com/bootcamp2018/model/Item.java index 529b2a7..f4ed9ec 100644 --- a/src/main/java/com/bootcamp2018/model/Item.java +++ b/src/main/java/com/bootcamp2018/model/Item.java @@ -1,5 +1,6 @@ package com.bootcamp2018.model; + import org.springframework.stereotype.Component; @Component diff --git a/src/main/java/com/bootcamp2018/model/Order.java b/src/main/java/com/bootcamp2018/model/Order.java index a8def4b..5c4f1ac 100644 --- a/src/main/java/com/bootcamp2018/model/Order.java +++ b/src/main/java/com/bootcamp2018/model/Order.java @@ -1,13 +1,11 @@ package com.bootcamp2018.model; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import java.util.ArrayList; -@Component + public class Order { private int Id; - @Autowired + private ArrayList orderDetails; public Order() { diff --git a/src/main/java/com/bootcamp2018/model/OrderDetail.java b/src/main/java/com/bootcamp2018/model/OrderDetail.java index c919eb4..b7950d2 100644 --- a/src/main/java/com/bootcamp2018/model/OrderDetail.java +++ b/src/main/java/com/bootcamp2018/model/OrderDetail.java @@ -3,9 +3,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -@Component public class OrderDetail { - @Autowired + private Item item; private int quantity; private double price; diff --git a/src/main/java/com/bootcamp2018/model/Payment.java b/src/main/java/com/bootcamp2018/model/Payment.java index 3c1afd6..5511878 100644 --- a/src/main/java/com/bootcamp2018/model/Payment.java +++ b/src/main/java/com/bootcamp2018/model/Payment.java @@ -1,13 +1,8 @@ package com.bootcamp2018.model; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component public class Payment { private int Id; - @Autowired private Order order; private double amount; diff --git a/src/main/webapp/WEB-INF/beans.xml b/src/main/webapp/WEB-INF/beans.xml index e0bb9c9..6b4f850 100644 --- a/src/main/webapp/WEB-INF/beans.xml +++ b/src/main/webapp/WEB-INF/beans.xml @@ -21,4 +21,5 @@ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 555af56..cd91e16 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -4,22 +4,22 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> - spring-mvc-demo + juan + - MyDispatcher + dispatcher org.springframework.web.servlet.DispatcherServlet - contextConfigLocation - /WEB-INF/spring-mvc-demo-servlet.xml - + /WEB-INF/beans.xml - 1 + + - MyDispatcher + dispatcher / From 0b6b87962db6965aec28a4c5bc07c5cf01e89b4b Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Tue, 26 Jun 2018 05:03:10 -0300 Subject: [PATCH 04/19] Ver Json --- src/main/java/com/bootcamp2018/control/ItemControl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index ed163cf..d012e9d 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -23,6 +23,7 @@ public Item create(Item object) { return itemDAO.createItem(object); } + @RequestMapping(value="/list/get",method = RequestMethod.POST) public ResponseEntity get(@RequestBody Item item) { ItemDAO itemDAO = new ItemDAO(); From 9240d7b6fb49c12790211a63dcc65e9eb7702179 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Tue, 26 Jun 2018 11:44:24 -0300 Subject: [PATCH 05/19] Ver Json --- pom.xml | 7 +++- .../com/bootcamp2018/control/ItemControl.java | 32 ++++++++----------- .../java/com/bootcamp2018/dao/ItemDAO.java | 6 ++-- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index b582697..19cf55e 100644 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,7 @@ spring-webmvc 5.0.6.RELEASE + org.springframework spring-tx @@ -37,7 +38,11 @@ 5.0.6.RELEASE - + + com.fasterxml.jackson.core + jackson-databind + 2.9.6 + diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index d012e9d..4f5e204 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -14,44 +14,38 @@ import java.util.ArrayList; @Controller -public class ItemControl { +public class ItemControl { - public Item create(Item object) { + @RequestMapping(value="/Item/set",method = RequestMethod.PUT) + public ResponseEntity create(@RequestBody Item object) { ItemDAO itemDAO = new ItemDAO(); - return itemDAO.createItem(object); + return new ResponseEntity<>(itemDAO.createItem(object),HttpStatus.OK); } - @RequestMapping(value="/list/get",method = RequestMethod.POST) + @RequestMapping(value="/Item/get",method = RequestMethod.POST) public ResponseEntity get(@RequestBody Item item) { ItemDAO itemDAO = new ItemDAO(); item = itemDAO.retriveItem(item.getId()); return new ResponseEntity<>(item,HttpStatus.OK); } - @RequestMapping(value="/list",method = RequestMethod.GET) - public String getList(Item object) { + @RequestMapping(value="/Item/list",method = RequestMethod.POST) + public ResponseEntity> getList(@RequestBody Item object) { ItemDAO itemDAO = new ItemDAO(); - String str= ""; - for (Item it: itemDAO.retriveItems(object) - ) { - str += it.toString(); - } - - return str; + return new ResponseEntity(itemDAO.retriveItems(object),HttpStatus.OK); } - - public Item update(Item object) { + @RequestMapping(value="/Item/update",method = RequestMethod.PUT) + public ResponseEntity update(@RequestBody Item object) { ItemDAO itemDAO = new ItemDAO(); - return itemDAO.updateItem(object); + return new ResponseEntity(itemDAO.updateItem(object),HttpStatus.OK); } - - public void delete(Item object) { + @RequestMapping(value="/Item/delete",method = RequestMethod.POST) + public void delete(@RequestBody Item object) { ItemDAO itemDAO = new ItemDAO(); itemDAO.deleteItem(object); - } } diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index 3535437..a2d7d41 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -49,12 +49,12 @@ public ArrayList retriveItems(Item objects) { } - public Item retriveItem(int id) { + public Item retriveItem(int id) { Item list = new Item(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("SELECT idItem, name, price FROM item"); - + pstmt = con.prepareStatement("SELECT idItem, name, price FROM item WHERE idItem = ?"); + pstmt.setInt(1, id); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { list = new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3)); From 475ec7f19923d715ec7b2c42ef107c26477f4380 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Tue, 26 Jun 2018 19:49:26 -0300 Subject: [PATCH 06/19] Item Andando, agregando descuentos --- src/main/java/com/bootcamp2018/Main.java | 6 +++- .../bootcamp2018/control/DiscountControl.java | 27 ++++++++++---- .../com/bootcamp2018/control/ItemControl.java | 36 +++++++++---------- .../com/bootcamp2018/dao/DiscountDAO.java | 24 +++++++++++++ .../com/bootcamp2018/db/DBConnection.java | 2 +- .../java/com/bootcamp2018/model/Client.java | 3 -- .../java/com/bootcamp2018/model/Discount.java | 16 ++++++++- .../bootcamp2018/service/DiscountService.java | 8 +++-- .../com/bootcamp2018/service/ItemService.java | 7 ++-- 9 files changed, 93 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java index 92979c1..c4fbc7d 100644 --- a/src/main/java/com/bootcamp2018/Main.java +++ b/src/main/java/com/bootcamp2018/Main.java @@ -1,6 +1,9 @@ package com.bootcamp2018; +import com.bootcamp2018.control.DiscountControl; +import com.bootcamp2018.model.Discount; +import com.bootcamp2018.service.DiscountService; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; @@ -10,7 +13,8 @@ public class Main { public static void main(String[] Arg) { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); - + // DiscountService ds = new DiscountService(); + //System.out.println(ds.get(new Discount(1)).toString()); // int op = 0; // boolean ban = false; // String menu; diff --git a/src/main/java/com/bootcamp2018/control/DiscountControl.java b/src/main/java/com/bootcamp2018/control/DiscountControl.java index 0ecaf2c..43d2e54 100644 --- a/src/main/java/com/bootcamp2018/control/DiscountControl.java +++ b/src/main/java/com/bootcamp2018/control/DiscountControl.java @@ -2,23 +2,36 @@ import com.bootcamp2018.dao.DiscountDAO; import com.bootcamp2018.model.Discount; +import com.bootcamp2018.service.DiscountService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; +@Controller +@RequestMapping("/discount") public class DiscountControl { + @Autowired + private DiscountService ds; - public Discount create(Discount object) { - DiscountDAO dDAO = new DiscountDAO(); - return dDAO.createDiscount(object); + @RequestMapping(value="/create",method = RequestMethod.PUT) + public ResponseEntity create(@RequestBody Discount object) { + return new ResponseEntity<>(ds.create(object),HttpStatus.OK); } - - public Discount get(Discount object) { - return null; + @RequestMapping(value="/get",method = RequestMethod.POST) + public ResponseEntity get(@RequestBody Discount object) { + return new ResponseEntity<>(ds.get(object),HttpStatus.OK); } - public ArrayList getList(Discount object) { + public ResponseEntity> getList(Discount object) { return null; } diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 4f5e204..4aa33ec 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -3,6 +3,8 @@ import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.model.Item; +import com.bootcamp2018.service.ItemService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; @@ -14,38 +16,36 @@ import java.util.ArrayList; @Controller - +@RequestMapping("/Item") public class ItemControl { + @Autowired + private ItemService is; - - @RequestMapping(value="/Item/set",method = RequestMethod.PUT) + @RequestMapping(value="/create",method = RequestMethod.PUT) public ResponseEntity create(@RequestBody Item object) { - ItemDAO itemDAO = new ItemDAO(); - return new ResponseEntity<>(itemDAO.createItem(object),HttpStatus.OK); + return new ResponseEntity<>(is.create(object),HttpStatus.OK); } - @RequestMapping(value="/Item/get",method = RequestMethod.POST) + @RequestMapping(value="/get",method = RequestMethod.POST) public ResponseEntity get(@RequestBody Item item) { - ItemDAO itemDAO = new ItemDAO(); - item = itemDAO.retriveItem(item.getId()); - return new ResponseEntity<>(item,HttpStatus.OK); + + return new ResponseEntity<>(is.get(item),HttpStatus.OK); } - @RequestMapping(value="/Item/list",method = RequestMethod.POST) + @RequestMapping(value="/list",method = RequestMethod.POST) public ResponseEntity> getList(@RequestBody Item object) { - ItemDAO itemDAO = new ItemDAO(); - return new ResponseEntity(itemDAO.retriveItems(object),HttpStatus.OK); + + return new ResponseEntity(is.getList(object),HttpStatus.OK); } - @RequestMapping(value="/Item/update",method = RequestMethod.PUT) + @RequestMapping(value="/update",method = RequestMethod.PUT) public ResponseEntity update(@RequestBody Item object) { - ItemDAO itemDAO = new ItemDAO(); - return new ResponseEntity(itemDAO.updateItem(object),HttpStatus.OK); + + return new ResponseEntity(is.update(object),HttpStatus.OK); } - @RequestMapping(value="/Item/delete",method = RequestMethod.POST) + @RequestMapping(value="/delete",method = RequestMethod.POST) public void delete(@RequestBody Item object) { - ItemDAO itemDAO = new ItemDAO(); - itemDAO.deleteItem(object); + is.delete(object); } } diff --git a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java index f677e28..a3d352f 100644 --- a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java +++ b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java @@ -3,12 +3,14 @@ import com.bootcamp2018.db.DBConnection; import com.bootcamp2018.model.Discount; import com.bootcamp2018.model.Item; +import org.springframework.stereotype.Repository; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; +@Repository public class DiscountDAO { @@ -35,4 +37,26 @@ public Discount createDiscount(Discount discount) { return discount; } + public Discount get(Discount discount){ + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idDiscount,idItem, quantity, price FROM discount WHERE idDiscount = ?", Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, discount.getId()); + ResultSet rs = pstmt.executeQuery(); + if (rs.next()) { + discount.setPrice(rs.getInt(4)); + discount.setQuantity(rs.getInt(3)); + ItemDAO itemDAO = new ItemDAO(); + discount.setItem(itemDAO.retriveItem(rs.getInt(2))); + } else { + discount = new Discount(); + } + pstmt.close(); + } catch (Exception e) { + + } + + return discount; + } + } diff --git a/src/main/java/com/bootcamp2018/db/DBConnection.java b/src/main/java/com/bootcamp2018/db/DBConnection.java index 0f7078d..35c289e 100644 --- a/src/main/java/com/bootcamp2018/db/DBConnection.java +++ b/src/main/java/com/bootcamp2018/db/DBConnection.java @@ -1,7 +1,7 @@ package com.bootcamp2018.db; import com.mysql.cj.jdbc.MysqlDataSource; -import org.graalvm.compiler.serviceprovider.ServiceProvider; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/bootcamp2018/model/Client.java b/src/main/java/com/bootcamp2018/model/Client.java index 59f1647..dfebf19 100644 --- a/src/main/java/com/bootcamp2018/model/Client.java +++ b/src/main/java/com/bootcamp2018/model/Client.java @@ -1,7 +1,5 @@ package com.bootcamp2018.model; - - import java.util.ArrayList; public class Client { @@ -9,7 +7,6 @@ public class Client { private String name; private String lastName; private String description; - private ArrayList Payments; public Client(int id) { diff --git a/src/main/java/com/bootcamp2018/model/Discount.java b/src/main/java/com/bootcamp2018/model/Discount.java index 47e5e99..7ccc8e7 100644 --- a/src/main/java/com/bootcamp2018/model/Discount.java +++ b/src/main/java/com/bootcamp2018/model/Discount.java @@ -1,9 +1,11 @@ package com.bootcamp2018.model; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - +@Component public class Discount { + @Autowired private Item item; private int quantity; private double price; @@ -16,6 +18,13 @@ public Discount() { this.price = 0; this.id = 0; } + public Discount(int id) { + + this.item = new Item(); + this.quantity = 0; + this.price = 0; + this.id = id; + } public Discount(Item item, int quantity, double price) { this.item = item; @@ -66,4 +75,9 @@ public boolean equals(Object obj) { } return ban; } + + @Override + public String toString() { + return "ID:"+id+", Quantity:"+quantity+", Price:"+price+", Item= "+item.toString(); + } } diff --git a/src/main/java/com/bootcamp2018/service/DiscountService.java b/src/main/java/com/bootcamp2018/service/DiscountService.java index f4d4608..3236cc1 100644 --- a/src/main/java/com/bootcamp2018/service/DiscountService.java +++ b/src/main/java/com/bootcamp2018/service/DiscountService.java @@ -2,10 +2,12 @@ import com.bootcamp2018.dao.DiscountDAO; import com.bootcamp2018.model.Discount; - import java.util.ArrayList; +@org.springframework.stereotype.Service public class DiscountService implements Service { + + @Override public Discount create(Discount object) { DiscountDAO dDAO = new DiscountDAO(); @@ -14,7 +16,9 @@ public Discount create(Discount object) { @Override public Discount get(Discount object) { - return null; + DiscountDAO dDAO = new DiscountDAO(); + return dDAO.get(object); + } @Override diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java index aa80c6d..fe8a38a 100644 --- a/src/main/java/com/bootcamp2018/service/ItemService.java +++ b/src/main/java/com/bootcamp2018/service/ItemService.java @@ -2,10 +2,9 @@ import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.model.Item; - -import java.sql.SQLException; import java.util.ArrayList; +@org.springframework.stereotype.Service public class ItemService implements Service { @Override @@ -16,7 +15,9 @@ public Item create(Item object) { @Override public Item get(Item Object) { - return null; + ItemDAO itemDAO = new ItemDAO(); + Object = itemDAO.retriveItem(Object.getId()); + return Object; } @Override From c03f68cb590d65b19986454a279a50819e1aea5f Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Tue, 26 Jun 2018 20:56:14 -0300 Subject: [PATCH 07/19] Item Andando, probando descuentos --- .../bootcamp2018/control/DiscountControl.java | 22 ++++----- .../com/bootcamp2018/dao/DiscountDAO.java | 49 +++++++++++++++---- .../java/com/bootcamp2018/dao/ItemDAO.java | 22 +++------ .../java/com/bootcamp2018/model/Discount.java | 7 +++ .../bootcamp2018/service/DiscountService.java | 14 +++--- 5 files changed, 73 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/bootcamp2018/control/DiscountControl.java b/src/main/java/com/bootcamp2018/control/DiscountControl.java index 43d2e54..36faec5 100644 --- a/src/main/java/com/bootcamp2018/control/DiscountControl.java +++ b/src/main/java/com/bootcamp2018/control/DiscountControl.java @@ -1,6 +1,6 @@ package com.bootcamp2018.control; -import com.bootcamp2018.dao.DiscountDAO; + import com.bootcamp2018.model.Discount; import com.bootcamp2018.service.DiscountService; import org.springframework.beans.factory.annotation.Autowired; @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; + import java.util.ArrayList; @@ -30,18 +30,18 @@ public ResponseEntity get(@RequestBody Discount object) { return new ResponseEntity<>(ds.get(object),HttpStatus.OK); } - - public ResponseEntity> getList(Discount object) { - return null; + @RequestMapping(value="/list",method = RequestMethod.GET) + public ResponseEntity> getList() { + return new ResponseEntity<>(ds.getList(new Discount()),HttpStatus.OK); } - - public Discount update(Discount object) { - return null; + @RequestMapping(value="/update",method = RequestMethod.POST) + public ResponseEntity update(@RequestBody Discount object) { + return new ResponseEntity<>(ds.update(object), HttpStatus.OK); } - - public void delete(Discount object) { - + @RequestMapping(value="/delete",method = RequestMethod.POST) + public void delete(@RequestBody Discount object) { + ds.delete(object); } } diff --git a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java index a3d352f..deb455d 100644 --- a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java +++ b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java @@ -2,13 +2,12 @@ import com.bootcamp2018.db.DBConnection; import com.bootcamp2018.model.Discount; -import com.bootcamp2018.model.Item; import org.springframework.stereotype.Repository; - import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; +import java.util.ArrayList; @Repository public class DiscountDAO { @@ -21,7 +20,6 @@ public Discount createDiscount(Discount discount) { pstmt.setInt(1, discount.getItem().getId()); pstmt.setInt(2, discount.getQuantity()); pstmt.setDouble(3, discount.getPrice()); - pstmt.executeUpdate(); ResultSet rs = pstmt.getGeneratedKeys(); if (rs.next()) { @@ -30,10 +28,7 @@ public Discount createDiscount(Discount discount) { discount = new Discount(); } pstmt.close(); - } catch (Exception e) { - - } - + } catch (Exception e) {} return discount; } @@ -52,11 +47,47 @@ public Discount get(Discount discount){ discount = new Discount(); } pstmt.close(); - } catch (Exception e) { + } catch (Exception e) {} + return discount; + } - } + public ArrayList retriveItems(Discount objects) { + ArrayList list = new ArrayList<>(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idDiscount,idItem, quantity, price FROM discount"); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + ItemDAO itemDAO= new ItemDAO(); + list.add(new Discount(rs.getInt(1), itemDAO.retriveItem(rs.getInt(2)), rs.getInt(3),rs.getDouble(4))); + } + pstmt.close(); + } catch (Exception e) {} + return list; + } + public Discount update(Discount discount){ + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("UPDATE discount SET quantity = ?, price= ? WHERE idDiscount = ?", Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, discount.getQuantity()); + pstmt.setDouble(2, discount.getPrice()); + int resp = pstmt.executeUpdate(); + if (resp == 0) discount = new Discount(); + pstmt.close(); + } catch (Exception e) {} return discount; } + public void delete(Discount discount) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("DELETE FROM Discount WHERE idItem = ?"); + pstmt.setInt(1, discount.getId()); + pstmt.executeUpdate(); + pstmt.close(); + } catch (Exception e) {} + } + + } diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index a2d7d41..bed114c 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -26,10 +26,7 @@ public Item createItem(Item item) { item = new Item(); } pstmt.close(); - } catch (Exception e) { - - } - + } catch (Exception e) {} return item; } @@ -42,9 +39,8 @@ public ArrayList retriveItems(Item objects) { while (rs.next()) { list.add(new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3))); } - } catch (Exception e) { - } - + pstmt.close(); + } catch (Exception e) {} return list; } @@ -59,8 +55,8 @@ public Item retriveItem(int id) { while (rs.next()) { list = new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3)); } - } catch (Exception e) { - } + pstmt.close(); + } catch (Exception e) {} return list; } @@ -72,9 +68,8 @@ public void deleteItem(Item item) { pstmt = con.prepareStatement("DELETE FROM item WHERE idItem = ?"); pstmt.setInt(1, item.getId()); pstmt.executeUpdate(); - } catch (Exception e) { - - } + pstmt.close(); + } catch (Exception e) {} } public Item updateItem(Item item) { @@ -85,10 +80,9 @@ public Item updateItem(Item item) { pstmt.setString(1, item.getName()); pstmt.setDouble(2, item.getPrice()); pstmt.setInt(3, item.getId()); - int resp = pstmt.executeUpdate(); if (resp == 0) item = new Item(); - + pstmt.close(); } catch (Exception e) { item = new Item(); } diff --git a/src/main/java/com/bootcamp2018/model/Discount.java b/src/main/java/com/bootcamp2018/model/Discount.java index 7ccc8e7..cd28bbe 100644 --- a/src/main/java/com/bootcamp2018/model/Discount.java +++ b/src/main/java/com/bootcamp2018/model/Discount.java @@ -32,6 +32,13 @@ public Discount(Item item, int quantity, double price) { this.price = price; } + public Discount(int id,Item item, int quantity, double price) { + this.item = item; + this.quantity = quantity; + this.price = price; + this.id = id; + } + public int getId() { return id; } diff --git a/src/main/java/com/bootcamp2018/service/DiscountService.java b/src/main/java/com/bootcamp2018/service/DiscountService.java index 3236cc1..fbdbc72 100644 --- a/src/main/java/com/bootcamp2018/service/DiscountService.java +++ b/src/main/java/com/bootcamp2018/service/DiscountService.java @@ -2,37 +2,37 @@ import com.bootcamp2018.dao.DiscountDAO; import com.bootcamp2018.model.Discount; +import org.springframework.beans.factory.annotation.Autowired; + import java.util.ArrayList; @org.springframework.stereotype.Service public class DiscountService implements Service { - + @Autowired + private DiscountDAO dDAO; @Override public Discount create(Discount object) { - DiscountDAO dDAO = new DiscountDAO(); return dDAO.createDiscount(object); } @Override public Discount get(Discount object) { - DiscountDAO dDAO = new DiscountDAO(); return dDAO.get(object); - } @Override public ArrayList getList(Discount object) { - return null; + return dDAO.retriveItems(object); } @Override public Discount update(Discount object) { - return null; + return dDAO.update(object); } @Override public void delete(Discount object) { - + dDAO.delete(object); } } From 7607d9a215b59598f540987d30ca7ce25d458f6a Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Wed, 27 Jun 2018 10:52:00 -0300 Subject: [PATCH 08/19] Item, descuentos Andando, probando client --- .../bootcamp2018/control/ClientControl.java | 41 ++++++++++++------- .../java/com/bootcamp2018/dao/ClientDAO.java | 16 ++++---- .../com/bootcamp2018/dao/DiscountDAO.java | 3 ++ .../bootcamp2018/service/ClientService.java | 27 +++++++----- 4 files changed, 55 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/bootcamp2018/control/ClientControl.java b/src/main/java/com/bootcamp2018/control/ClientControl.java index 8cd6a6e..8bd754d 100644 --- a/src/main/java/com/bootcamp2018/control/ClientControl.java +++ b/src/main/java/com/bootcamp2018/control/ClientControl.java @@ -1,36 +1,49 @@ package com.bootcamp2018.control; import com.bootcamp2018.model.Client; +import com.bootcamp2018.service.ClientService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import java.util.ArrayList; - +@Controller +@RequestMapping("/client") public class ClientControl { + @Autowired + ClientService cs; - public Client create(Client Object) { - return null; + @RequestMapping(value="/create",method = RequestMethod.PUT) + public ResponseEntity create(@RequestBody Client client) { + return new ResponseEntity<>(cs.create(client),HttpStatus.OK); } - - public Client get(Client Object) { - return null; + @RequestMapping(value="/get",method = RequestMethod.POST) + public ResponseEntity get(Client client) { + return new ResponseEntity<>(cs.get(client),HttpStatus.OK); } - - public ArrayList getList(Client Objact) { - return null; + @RequestMapping(value="/get",method = RequestMethod.GET) + public ResponseEntity> getList(@RequestBody Client client) { + return new ResponseEntity<>(cs.getList(client),HttpStatus.OK); } - public Client update(Client Object) { - return null; + @RequestMapping(value="/update",method = RequestMethod.POST) + public ResponseEntity update(@RequestBody Client client) { + return new ResponseEntity<>(cs.update(client),HttpStatus.OK); } - - public void delete(Client Object) { - + @RequestMapping(value="/delete",method = RequestMethod.DELETE) + public void delete(@RequestBody Client client) { + cs.delete(client); } //DTO class ver patron } diff --git a/src/main/java/com/bootcamp2018/dao/ClientDAO.java b/src/main/java/com/bootcamp2018/dao/ClientDAO.java index 97c196e..8658305 100644 --- a/src/main/java/com/bootcamp2018/dao/ClientDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ClientDAO.java @@ -2,14 +2,14 @@ import com.bootcamp2018.db.DBConnection; import com.bootcamp2018.model.*; -import org.springframework.stereotype.Service; - +import org.springframework.stereotype.Repository; import java.sql.*; import java.util.ArrayList; -@Service + +@Repository public class ClientDAO { - public Client createClient(Client client) { + public Client create(Client client) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("INSERT INTO client (name,lastName, description) VALUES (?,?,?)", Statement.RETURN_GENERATED_KEYS); @@ -29,7 +29,7 @@ public Client createClient(Client client) { return new Client(); } - public ArrayList getClients() throws SQLException { + public ArrayList list() { ArrayList list = new ArrayList<>(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; @@ -43,7 +43,7 @@ public ArrayList getClients() throws SQLException { return list; } - public Client getClient(Client cli) throws SQLException { + public Client get(Client cli){ Client client = new Client(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; @@ -59,7 +59,7 @@ public Client getClient(Client cli) throws SQLException { } - public Client deleteItem(Client client) { + public Client delete(Client client) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; @@ -74,7 +74,7 @@ public Client deleteItem(Client client) { return client; } - public Client updateItem(Client client) throws SQLException { + public Client update(Client client) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; diff --git a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java index deb455d..496087f 100644 --- a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java +++ b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java @@ -74,6 +74,9 @@ public Discount update(Discount discount){ pstmt.setDouble(2, discount.getPrice()); int resp = pstmt.executeUpdate(); if (resp == 0) discount = new Discount(); + else{ + discount = get(discount); + } pstmt.close(); } catch (Exception e) {} return discount; diff --git a/src/main/java/com/bootcamp2018/service/ClientService.java b/src/main/java/com/bootcamp2018/service/ClientService.java index 0ac711b..66fc2cb 100644 --- a/src/main/java/com/bootcamp2018/service/ClientService.java +++ b/src/main/java/com/bootcamp2018/service/ClientService.java @@ -1,33 +1,40 @@ package com.bootcamp2018.service; +import com.bootcamp2018.dao.ClientDAO; import com.bootcamp2018.model.Client; +import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; +@org.springframework.stereotype.Service public class ClientService implements Service { + + @Autowired + private ClientDAO clientDAO; + @Override - public Client create(Client Object) { - return null; + public Client create(Client object) { + return clientDAO.create(object); } @Override - public Client get(Client Object) { - return null; + public Client get(Client object) { + return clientDAO.get(object); } @Override - public ArrayList getList(Client Objact) { - return null; + public ArrayList getList(Client object) { + return clientDAO.list(); } @Override - public Client update(Client Object) { - return null; + public Client update(Client object) { + return clientDAO.update(object); } @Override - public void delete(Client Object) { - + public void delete(Client object) { + clientDAO.delete(object); } //DTO class ver patron } From a86a84440516e722937e972acc7811ae0cce68e7 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Wed, 27 Jun 2018 15:22:32 -0300 Subject: [PATCH 09/19] Item, descuentos Andando, probando client --- .../control/OrderDetailControl.java | 41 +++++++++++++------ .../java/com/bootcamp2018/dao/OrderDAO.java | 2 +- .../com/bootcamp2018/dao/OrderDetailDAO.java | 31 ++++++++++++-- .../com/bootcamp2018/dto/OrderDetailDTO.java | 2 + .../java/com/bootcamp2018/model/Discount.java | 5 +-- .../java/com/bootcamp2018/model/Item.java | 3 -- .../com/bootcamp2018/model/OrderDetail.java | 9 +++- .../service/OrderDetailService.java | 22 ++++++---- 8 files changed, 80 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java index 14445c7..706b535 100644 --- a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java +++ b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java @@ -1,32 +1,47 @@ package com.bootcamp2018.control; import com.bootcamp2018.dto.OrderDetailDTO; +import com.bootcamp2018.model.Item; +import com.bootcamp2018.model.OrderDetail; +import com.bootcamp2018.service.ItemService; +import com.bootcamp2018.service.OrderDetailService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import java.util.ArrayList; +@Controller +@RequestMapping("/orderDetail") public class OrderDetailControl { + @Autowired + private OrderDetailService ods; - public OrderDetailDTO create(OrderDetailDTO Object) { - - return Object; + @RequestMapping(value="/create",method = RequestMethod.PUT) + public ResponseEntity create(@RequestBody OrderDetailDTO object) { + return new ResponseEntity<>(ods.create(object),HttpStatus.OK); } - - public OrderDetailDTO get(OrderDetailDTO Object) { - return null; + @RequestMapping(value="/get",method = RequestMethod.POST) + public ResponseEntity get(@RequestBody OrderDetailDTO object) { + return new ResponseEntity<>(ods.get(object),HttpStatus.OK); } - - public ArrayList getList(OrderDetailDTO Object) { - return null; + @RequestMapping(value="/List",method = RequestMethod.GET) + public ResponseEntity> getList(OrderDetailDTO object) { + return new ResponseEntity<>(ods.getList(object),HttpStatus.OK); } - - public OrderDetailDTO update(OrderDetailDTO Object) { - return null; + @RequestMapping(value="/update",method = RequestMethod.POST) + public ResponseEntity update(OrderDetailDTO object) { + return new ResponseEntity<>(ods.update(object),HttpStatus.OK); } - public void delete(OrderDetailDTO Object) { + public void delete(OrderDetailDTO object) { } } diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java index f7a18ea..efb147f 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java @@ -27,7 +27,7 @@ public Order createOrder(OrderDTO order) { for (OrderDetail od : order.getOrder().getOrderDetails() ) { OrderDetailDAO odd = new OrderDetailDAO(); - od = odd.createOrderDetail(new OrderDetailDTO(order.getOrder().getId(), od)); + //od = odd.createOrderDetail(new OrderDetailDTO(order.getOrder().getId(), od)); } } else { order.setOrder(new Order()); diff --git a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java index 0179022..804bf8f 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java @@ -4,19 +4,20 @@ import com.bootcamp2018.dto.OrderDetailDTO; import com.bootcamp2018.dto.PaymentDTO; import com.bootcamp2018.model.OrderDetail; +import org.springframework.stereotype.Repository; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; +import java.util.ArrayList; +@Repository public class OrderDetailDAO { - public OrderDetail createOrderDetail(OrderDetailDTO orderDetail) { + public OrderDetailDTO create(OrderDetailDTO orderDetail) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { - PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO OrderDetail (idItem,idOrder,quantity, price) VALUES (?,?,?,?)", Statement.RETURN_GENERATED_KEYS); pstmt.setInt(1, orderDetail.getOrderDetail().getItem().getId()); pstmt.setInt(2, orderDetail.getIdOrder()); @@ -31,7 +32,29 @@ public OrderDetail createOrderDetail(OrderDetailDTO orderDetail) { } catch (Exception e) { orderDetail.setOrderDetail(new OrderDetail()); } - return orderDetail.getOrderDetail(); + return orderDetail; } + public ArrayList get(OrderDetailDTO orderDetail) { + ArrayList list = new ArrayList<>(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idItem, idOrder, quantity, price FROM orderdetail WHERE (NOT idOrder = 0 AND idOrder = ?) OR (NOT idItem = 0 AND idItem = ?)", Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, orderDetail.getIdOrder()); + pstmt.setInt(2, orderDetail.getOrderDetail().getItem().getId()); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + ItemDAO itemDAO = new ItemDAO(); + list.add(new OrderDetailDTO(rs.getInt(2), new OrderDetail(itemDAO.retriveItem(rs.getInt(2)), rs.getInt(3),rs.getDouble(4)))); + } + pstmt.close(); + } catch (Exception e) { + list = new ArrayList<>(); + } + return list; + } + + + + } diff --git a/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java index 4f3f675..cb178f5 100644 --- a/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java +++ b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java @@ -2,7 +2,9 @@ import com.bootcamp2018.model.OrderDetail; + public class OrderDetailDTO { + private int idOrder; private OrderDetail orderDetail; diff --git a/src/main/java/com/bootcamp2018/model/Discount.java b/src/main/java/com/bootcamp2018/model/Discount.java index cd28bbe..3d6549a 100644 --- a/src/main/java/com/bootcamp2018/model/Discount.java +++ b/src/main/java/com/bootcamp2018/model/Discount.java @@ -1,11 +1,8 @@ package com.bootcamp2018.model; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -@Component public class Discount { - @Autowired + private Item item; private int quantity; private double price; diff --git a/src/main/java/com/bootcamp2018/model/Item.java b/src/main/java/com/bootcamp2018/model/Item.java index f4ed9ec..d3dd0fd 100644 --- a/src/main/java/com/bootcamp2018/model/Item.java +++ b/src/main/java/com/bootcamp2018/model/Item.java @@ -1,9 +1,6 @@ package com.bootcamp2018.model; -import org.springframework.stereotype.Component; - -@Component public class Item { private int Id; private String name; diff --git a/src/main/java/com/bootcamp2018/model/OrderDetail.java b/src/main/java/com/bootcamp2018/model/OrderDetail.java index b7950d2..3873d0b 100644 --- a/src/main/java/com/bootcamp2018/model/OrderDetail.java +++ b/src/main/java/com/bootcamp2018/model/OrderDetail.java @@ -1,11 +1,11 @@ package com.bootcamp2018.model; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; public class OrderDetail { + private Item item; + private int quantity; private double price; @@ -20,6 +20,11 @@ public OrderDetail(Item item, int quantity) { this.quantity = quantity; this.price = item.getPrice(); } + public OrderDetail(Item item, int quantity, double price) { + this.item = item; + this.quantity = quantity; + this.price = price; + } public Item getItem() { return item; diff --git a/src/main/java/com/bootcamp2018/service/OrderDetailService.java b/src/main/java/com/bootcamp2018/service/OrderDetailService.java index de65d49..45f0e57 100644 --- a/src/main/java/com/bootcamp2018/service/OrderDetailService.java +++ b/src/main/java/com/bootcamp2018/service/OrderDetailService.java @@ -1,32 +1,38 @@ package com.bootcamp2018.service; +import com.bootcamp2018.dao.OrderDetailDAO; import com.bootcamp2018.dto.OrderDetailDTO; -import java.util.ArrayList; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.ArrayList; +@org.springframework.stereotype.Service public class OrderDetailService implements Service { - @Override - public OrderDetailDTO create(OrderDetailDTO Object) { - return Object; + @Autowired + private OrderDetailDAO orderDAO; + + @Override + public OrderDetailDTO create(OrderDetailDTO object) { + return orderDAO.create(object); } @Override - public OrderDetailDTO get(OrderDetailDTO Object) { + public OrderDetailDTO get(OrderDetailDTO object) { return null; } @Override - public ArrayList getList(OrderDetailDTO Object) { + public ArrayList getList(OrderDetailDTO object) { return null; } @Override - public OrderDetailDTO update(OrderDetailDTO Object) { + public OrderDetailDTO update(OrderDetailDTO object) { return null; } @Override - public void delete(OrderDetailDTO Object) { + public void delete(OrderDetailDTO object) { } } From 18428b089b18e36407da08f4f1b485811340f8b8 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Fri, 29 Jun 2018 12:26:57 -0300 Subject: [PATCH 10/19] Item, descuentos Andando, probando client --- src/main/java/com/bootcamp2018/Main.java | 357 ------------------ .../com/bootcamp2018/control/ItemControl.java | 18 +- .../java/com/bootcamp2018/dao/OrderDAO.java | 51 ++- .../com/bootcamp2018/dao/OrderDetailDAO.java | 34 +- .../java/com/bootcamp2018/dao/PaymentDAO.java | 46 ++- .../java/com/bootcamp2018/dto/ClientDTO.java | 61 +++ .../com/bootcamp2018/dto/DiscountDTO.java | 47 +++ .../java/com/bootcamp2018/dto/ItemDTO.java | 37 ++ .../java/com/bootcamp2018/dto/OrderDTO.java | 30 +- .../com/bootcamp2018/dto/OrderDetailDTO.java | 37 +- .../java/com/bootcamp2018/dto/PaymentDTO.java | 38 +- .../java/com/bootcamp2018/model/Client.java | 8 + .../java/com/bootcamp2018/model/Order.java | 2 +- .../com/bootcamp2018/model/OrderDetail.java | 1 - .../java/com/bootcamp2018/model/Payment.java | 14 +- .../bootcamp2018/service/PaymentService.java | 1 - .../java/com/bootcamp2018/util/DTOUtils.java | 11 + .../com/bootcamp2018/util/ModelUtils.java | 29 ++ .../java/com/bootcamp2018/util/Utility.java | 25 -- src/main/webapp/WEB-INF/beans.xml | 1 - 20 files changed, 365 insertions(+), 483 deletions(-) delete mode 100644 src/main/java/com/bootcamp2018/Main.java create mode 100644 src/main/java/com/bootcamp2018/dto/ClientDTO.java create mode 100644 src/main/java/com/bootcamp2018/dto/DiscountDTO.java create mode 100644 src/main/java/com/bootcamp2018/dto/ItemDTO.java create mode 100644 src/main/java/com/bootcamp2018/util/DTOUtils.java create mode 100644 src/main/java/com/bootcamp2018/util/ModelUtils.java delete mode 100644 src/main/java/com/bootcamp2018/util/Utility.java diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java deleted file mode 100644 index c4fbc7d..0000000 --- a/src/main/java/com/bootcamp2018/Main.java +++ /dev/null @@ -1,357 +0,0 @@ -package com.bootcamp2018; - - -import com.bootcamp2018.control.DiscountControl; -import com.bootcamp2018.model.Discount; -import com.bootcamp2018.service.DiscountService; -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; - - - -public class Main { - - public static void main(String[] Arg) { - ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); - // DiscountService ds = new DiscountService(); - //System.out.println(ds.get(new Discount(1)).toString()); -// int op = 0; -// boolean ban = false; -// String menu; -// ItemDAO itemDAO = new ItemDAO(); -// Scanner scanner = new Scanner(System.in); -// ArrayList listOfItems; -// ItemService is; -// try { -// while (op != 3) { -// System.out.println("Menu"); -// System.out.println("1.Enter as Admin"); -// System.out.println("2.Enter as Client"); -// System.out.println("3.Exit"); -// ban = false; -// menu = scanner.next(); -// if (Utility.isInt(menu)) { -// op = Integer.parseInt(menu); -// switch (op) { -// case 1: -// op = 0; -// while (op != 5) { -// System.out.println("Admin Menu"); -// System.out.println("1.Item Menu"); -// System.out.println("2.Discount Menu"); -// System.out.println("3.Payment Menu"); -// System.out.println("4.Clients Menu"); -// System.out.println("5.Exit"); -// menu = scanner.next(); -// if (Utility.isInt(menu)) { -// op = Integer.parseInt(menu); -// switch (op) { -// case 1: -// op = 0; -// while (op != 5) { -// System.out.println("Item Menu"); -// System.out.println("1.Create Item"); -// System.out.println("2.Retrieve Items"); -// System.out.println("3.Update Item"); -// System.out.println("4.Delete Item"); -// System.out.println("5.Exit"); -// menu = scanner.next(); -// if (Utility.isInt(menu)) { -// op = Integer.parseInt(menu); -// switch (op) { -// case 1: -// while (!ban) { -// System.out.println("Enter item name: "); -// String name = scanner.next(); -// if (name != null) { -// while (!ban) { -// System.out.println("Enter item price: "); -// String prices = scanner.next(); -// if (Utility.isDouble(prices)) { -// double price = Double.parseDouble(prices); -// is = new ItemService(); -// Item created = is.create(new Item(name, price)); -// if (created == null) { -// System.out.println("Error"); -// } -// ban = true; -// -// } else { -// System.out.println("Please enter a valid value."); -// } -// } -// } else { -// System.out.println("Please enter a valid value."); -// } -// } -// break; -// case 2: -// System.out.println("List of Items: "); -// is = new ItemService(); -// listOfItems = is.getList(new Item()); -// for (Item i : listOfItems -// ) { -// System.out.println(i.toString()); -// } -// scanner.next(); -// break; -// case 3: -// ban = false; -// while (!ban) { -// System.out.println("List of Items: "); -// listOfItems = itemDAO.retriveItems(new Item()); -// for (Item i : listOfItems -// ) { -// System.out.println(i.toString()); -// } -// System.out.println("Enter Item Code to modify: "); -// String code = scanner.next(); -// if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { -// while (!ban) { -// Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); -// System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); -// String name = scanner.next(); -// if (name != null) { -// updateItem.setName(name); -// while (!ban) { -// System.out.println("Enter item price: "); -// String prices = scanner.next(); -// if (Utility.isDouble(prices)) { -// -// updateItem.setPrice(Double.parseDouble(prices)); -// is = new ItemService(); -// is.update(updateItem); -// -// if (!ban) { -// System.out.println("Error"); -// ban = true; -// } -// } else { -// System.out.println("Please enter a valid value."); -// } -// } -// } else { -// System.out.println("Please enter a valid value."); -// } -// -// } -// } -// } -// break; -// case 4: -// System.out.println("List of Items: "); -// is = new ItemService(); -// listOfItems = is.getList(new Item()); -// for (Item i : listOfItems -// ) { -// System.out.println(i.toString()); -// } -// System.out.println("Enter the code of the item you want to delete: "); -// String code = scanner.next(); -// if (Utility.isInt(code)) { -// is = new ItemService(); -// is.delete(new Item(Integer.parseInt(code), "", 0)); -// } -// break; -// case 5: -// break; -// default: -// System.out.println("Number must be between 1 and 5"); -// break; -// } -// } -// } -// break; -// case 2: -// op = 0; -// while (op != 5) { -// System.out.println("Discount Menu"); -// System.out.println("1.Create Discount"); -// System.out.println("2.Retrieve Discount"); -// System.out.println("3.Update Discount"); -// System.out.println("4.Delete Discount"); -// System.out.println("5.Exit"); -// menu = scanner.next(); -// if (Utility.isInt(menu)) { -// op = Integer.parseInt(menu); -// switch (op) { -// case 1: -// while (!ban) { -// System.out.println("List of Items: "); -// is = new ItemService(); -// listOfItems = is.getList(new Item()); -// for (Item i : listOfItems -// ) { -// System.out.println(i.toString()); -// } -// System.out.println("Enter code of the item for the discount: "); -// String code = scanner.next(); -// if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { -// Item discountItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); -// while (!ban) { -// System.out.println("Enter the price for each " + discountItem.getName() + ": "); -// String prices = scanner.next(); -// if (Utility.isDouble(prices)) { -// double price = Double.parseDouble(prices); -// while (!ban) { -// System.out.println("Enter the quantity of " + discountItem.getName() + ": "); -// String quantities = scanner.next(); -// if (Utility.isInt(quantities)) { -// int quantity = Integer.parseInt(quantities); -// DiscountService ds = new DiscountService(); -// Discount discount = ds.create(new Discount(discountItem, quantity, price)); -// if (discount.getId() == 0) { -// System.out.println("error"); -// -// } -// ban = true; -// } else { -// System.out.println("Please enter a valid value."); -// } -// } -// -// } else { -// System.out.println("Please enter a valid value."); -// } -// } -// } else { -// System.out.println("Please enter a valid value."); -// } -// } -// break; -// case 2: -// System.out.println("List of Items: "); -// is = new ItemService(); -// listOfItems = is.getList(new Item()); -// for (Item i : listOfItems -// ) { -// System.out.println(i.toString()); -// } -// scanner.next(); -// break; -// case 3: -// ban = false; -// while (!ban) { -// System.out.println("List of Items: "); -// listOfItems = itemDAO.retriveItems(new Item()); -// for (Item i : listOfItems -// ) { -// System.out.println(i.toString()); -// } -// System.out.println("Enter Item Code to modify: "); -// String code = scanner.next(); -// if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { -// while (!ban) { -// Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); -// System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); -// String name = scanner.next(); -// if (name != null) { -// updateItem.setName(name); -// while (!ban) { -// System.out.println("Enter item price: "); -// String prices = scanner.next(); -// if (Utility.isDouble(prices)) { -// -// updateItem.setPrice(Double.parseDouble(prices)); -// is = new ItemService(); -// is.update(updateItem); -// -// if (!ban) { -// System.out.println("Error"); -// ban = true; -// } -// } else { -// System.out.println("Please enter a valid value."); -// } -// } -// } else { -// System.out.println("Please enter a valid value."); -// } -// -// } -// } -// } -// break; -// case 4: -// System.out.println("List of Items: "); -// is = new ItemService(); -// listOfItems = is.getList(new Item()); -// for (Item i : listOfItems -// ) { -// System.out.println(i.toString()); -// } -// System.out.println("Enter the code of the item you want to delete: "); -// String code = scanner.next(); -// if (Utility.isInt(code)) { -// is = new ItemService(); -// is.delete(new Item(Integer.parseInt(code), "", 0)); -// } -// break; -// case 5: -// break; -// default: -// System.out.println("Number must be between 1 and 5"); -// break; -// } -// } -// } -// break; -// case 3: -// break; -// case 4: -// break; -// case 5: -// break; -// default: -// System.out.println("Number must be between 1 and 5"); -// break; -// } -// } -// } -// break; -// case 2: -// -// break; -// case 3: -// break; -// default: -// System.out.println("Number must be between 1 and 3 "); -// break; -// } -// -// } -// -// -// } -// -// } catch (Exception e) { -// -// } -// -// -// } -// -// private static boolean isInt(String s) { -// try { -// Integer.parseInt(s); -// } catch (NumberFormatException e) { -// return false; -// } catch (NullPointerException e) { -// return false; -// } -// return true; -// } -// -//// private static boolean isDouble(String s) { -//// try { -//// Double.parseDouble(s); -//// } catch (NumberFormatException e) { -//// return false; -//// } catch (NullPointerException e) { -//// return false; -//// } -//// return true; - } - - -} diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 4aa33ec..3fb241b 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -7,35 +7,35 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; - import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; -@Controller -@RequestMapping("/Item") +@RestController +@RequestMapping("/item") public class ItemControl { + @Autowired private ItemService is; @RequestMapping(value="/create",method = RequestMethod.PUT) public ResponseEntity create(@RequestBody Item object) { - return new ResponseEntity<>(is.create(object),HttpStatus.OK); + Item item = is.create(object); + return new ResponseEntity<>(item,HttpStatus.OK); } @RequestMapping(value="/get",method = RequestMethod.POST) public ResponseEntity get(@RequestBody Item item) { - - return new ResponseEntity<>(is.get(item),HttpStatus.OK); + Item response = is.get(item); + return new ResponseEntity<>(response,HttpStatus.OK); } @RequestMapping(value="/list",method = RequestMethod.POST) public ResponseEntity> getList(@RequestBody Item object) { - - return new ResponseEntity(is.getList(object),HttpStatus.OK); + return new ResponseEntity<>(is.getList(object),HttpStatus.OK); } @RequestMapping(value="/update",method = RequestMethod.PUT) diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java index efb147f..f5c2fa1 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java @@ -13,29 +13,60 @@ import java.sql.Statement; public class OrderDAO { - public Order createOrder(OrderDTO order) { + public Order create(Order order, int idPayment) { + Order respOrder = new Order(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { - PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO Order (idPayment) VALUES (?)", Statement.RETURN_GENERATED_KEYS); - pstmt.setInt(1, order.getIdPayment()); + pstmt.setInt(1, idPayment); + pstmt.executeUpdate(); + ResultSet rs = pstmt.getGeneratedKeys(); + if (rs.next()) { + respOrder.setId(rs.getInt(1)); + OrderDetail respOrderDetail = new OrderDetail(); + for (OrderDetail od : order.getOrderDetails() + ) { + OrderDetailDAO odd = new OrderDetailDAO(); + respOrderDetail = odd.create(od,respOrder.getId()); + respOrder.getOrderDetails().add(respOrderDetail); + } + } else { + respOrder = new Order(); + } + pstmt.close(); + } catch (Exception e) { + respOrder = new Order(); + } + return respOrder; + } + + public Order get(Order order, int idPayment) { + Order respOrder = new Order(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idOrder FROM 'order' WHERE idPayment = ?", Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, idPayment); pstmt.executeUpdate(); ResultSet rs = pstmt.getGeneratedKeys(); if (rs.next()) { - order.getOrder().setId(rs.getInt(1)); - for (OrderDetail od : order.getOrder().getOrderDetails() + respOrder.setId(rs.getInt(1)); + OrderDetail respOrderDetail = new OrderDetail(); + for (OrderDetail od : order.getOrderDetails() ) { OrderDetailDAO odd = new OrderDetailDAO(); - //od = odd.createOrderDetail(new OrderDetailDTO(order.getOrder().getId(), od)); + respOrderDetail = odd.create(od,respOrder.getId()); + respOrder.getOrderDetails().add(respOrderDetail); } } else { - order.setOrder(new Order()); + respOrder = new Order(); } pstmt.close(); } catch (Exception e) { - order.setOrder(new Order()); + respOrder = new Order(); } - return order.getOrder(); + return respOrder; } + + + } diff --git a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java index 804bf8f..3724798 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java @@ -15,37 +15,35 @@ @Repository public class OrderDetailDAO { - public OrderDetailDTO create(OrderDetailDTO orderDetail) { + public OrderDetail create(OrderDetail orderDetail, int idOrder) { + OrderDetail respOrderDetail = new OrderDetail(orderDetail.getItem(),orderDetail.getQuantity(),orderDetail.getPrice()); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO OrderDetail (idItem,idOrder,quantity, price) VALUES (?,?,?,?)", Statement.RETURN_GENERATED_KEYS); - pstmt.setInt(1, orderDetail.getOrderDetail().getItem().getId()); - pstmt.setInt(2, orderDetail.getIdOrder()); - pstmt.setInt(2, orderDetail.getOrderDetail().getQuantity()); - pstmt.setDouble(2, orderDetail.getOrderDetail().getPrice()); - pstmt.executeUpdate(); - ResultSet rs = pstmt.getGeneratedKeys(); - if (!rs.next()) { - orderDetail.setOrderDetail(new OrderDetail()); - } + pstmt = con.prepareStatement("INSERT INTO OrderDetail (idItem,idOrder,quantity, price) VALUES (?,?,?,?)"); + pstmt.setInt(1, orderDetail.getItem().getId()); + pstmt.setInt(2, idOrder); + pstmt.setInt(3, orderDetail.getQuantity()); + pstmt.setDouble(4, orderDetail.getPrice()); + int ok = pstmt.executeUpdate(); pstmt.close(); + if (ok == 0){respOrderDetail= new OrderDetail();} } catch (Exception e) { - orderDetail.setOrderDetail(new OrderDetail()); + respOrderDetail=new OrderDetail(); } - return orderDetail; + return respOrderDetail; } - public ArrayList get(OrderDetailDTO orderDetail) { - ArrayList list = new ArrayList<>(); + public ArrayList get(OrderDetail orderDetail, int idOrder) { + ArrayList list = new ArrayList<>(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idItem, idOrder, quantity, price FROM orderdetail WHERE (NOT idOrder = 0 AND idOrder = ?) OR (NOT idItem = 0 AND idItem = ?)", Statement.RETURN_GENERATED_KEYS); - pstmt.setInt(1, orderDetail.getIdOrder()); - pstmt.setInt(2, orderDetail.getOrderDetail().getItem().getId()); + pstmt.setInt(1, idOrder); + pstmt.setInt(2, orderDetail.getItem().getId()); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { ItemDAO itemDAO = new ItemDAO(); - list.add(new OrderDetailDTO(rs.getInt(2), new OrderDetail(itemDAO.retriveItem(rs.getInt(2)), rs.getInt(3),rs.getDouble(4)))); + list.add(new OrderDetail(itemDAO.retriveItem(rs.getInt(2)), rs.getInt(3),rs.getDouble(4))); } pstmt.close(); } catch (Exception e) { diff --git a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java index 18068e5..2ade42d 100644 --- a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java +++ b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java @@ -1,8 +1,6 @@ package com.bootcamp2018.dao; import com.bootcamp2018.db.DBConnection; -import com.bootcamp2018.dto.OrderDTO; -import com.bootcamp2018.dto.PaymentDTO; import com.bootcamp2018.model.Payment; @@ -11,25 +9,51 @@ public class PaymentDAO { - public Payment createPayment(PaymentDTO payment) { + public Payment create(Payment payment,int idClient) { + Payment respPayment = new Payment(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("INSERT INTO payment (idClient, amount) VALUES (?,?)", Statement.RETURN_GENERATED_KEYS); - pstmt.setInt(1, payment.getIdClient()); - pstmt.setDouble(2, payment.getPayment().getAmount()); + pstmt.setInt(1, idClient); + pstmt.setDouble(2, payment.getAmount()); pstmt.executeUpdate(); ResultSet rs = pstmt.getGeneratedKeys(); if (rs.next()) { - payment.getPayment().setId(rs.getInt(1)); - OrderDAO od = new OrderDAO(); - od.createOrder(new OrderDTO(payment.getPayment().getId(), payment.getPayment().getOrder())); + respPayment.setId(rs.getInt(1)); + OrderDAO orderDAO = new OrderDAO(); + respPayment.setOrder(orderDAO.create(payment.getOrder(),respPayment.getId())); } else { - payment = new PaymentDTO(); + respPayment = new Payment(); } pstmt.close(); } catch (Exception e) { - payment = new PaymentDTO(); + respPayment = new Payment(); } - return payment.getPayment(); + return respPayment; + } + + + public Payment get(Payment payment){ + Payment respPayment = new Payment(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idPayment, amount FROM payment WHERE idPaymet = ?", Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, payment.getId()); + pstmt.executeQuery(); + ResultSet rs = pstmt.getResultSet(); + if (rs.next()) { + respPayment.setId(rs.getInt(1)); + respPayment.setAmount(rs.getDouble(2)); + OrderDAO orderDAO = new OrderDAO(); + respPayment.setOrder(orderDAO.get(payment.getOrder(),respPayment.getId())); + } else { + respPayment = new Payment(); + } + pstmt.close(); + } catch (Exception e) { + respPayment = new Payment(); + } + return respPayment; + } } diff --git a/src/main/java/com/bootcamp2018/dto/ClientDTO.java b/src/main/java/com/bootcamp2018/dto/ClientDTO.java new file mode 100644 index 0000000..c1837e4 --- /dev/null +++ b/src/main/java/com/bootcamp2018/dto/ClientDTO.java @@ -0,0 +1,61 @@ +package com.bootcamp2018.dto; + +import com.bootcamp2018.model.Payment; + +import java.util.ArrayList; + +public class ClientDTO { + private int id; + private String name; + private String lastName; + private String description; + private ArrayList Payments; + + public ClientDTO(int id, String name, String lastName, String description, ArrayList payments) { + this.id = id; + this.name = name; + this.lastName = lastName; + this.description = description; + Payments = payments; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public ArrayList getPayments() { + return Payments; + } + + public void setPayments(ArrayList payments) { + Payments = payments; + } +} diff --git a/src/main/java/com/bootcamp2018/dto/DiscountDTO.java b/src/main/java/com/bootcamp2018/dto/DiscountDTO.java new file mode 100644 index 0000000..53e5de2 --- /dev/null +++ b/src/main/java/com/bootcamp2018/dto/DiscountDTO.java @@ -0,0 +1,47 @@ +package com.bootcamp2018.dto; + +public class DiscountDTO { + private int iditem; + private int quantity; + private double price; + private int id; + + public DiscountDTO(int iditem, int quantity, double price, int id) { + this.iditem = iditem; + this.quantity = quantity; + this.price = price; + this.id = id; + } + + public int getIditem() { + return iditem; + } + + public void setIditem(int iditem) { + this.iditem = iditem; + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int quantity) { + this.quantity = quantity; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } +} diff --git a/src/main/java/com/bootcamp2018/dto/ItemDTO.java b/src/main/java/com/bootcamp2018/dto/ItemDTO.java new file mode 100644 index 0000000..e3d7fca --- /dev/null +++ b/src/main/java/com/bootcamp2018/dto/ItemDTO.java @@ -0,0 +1,37 @@ +package com.bootcamp2018.dto; + +public class ItemDTO { + private int id; + private String name; + private double price; + + public ItemDTO(int id, String name, double price) { + this.id = id; + this.name = name; + this.price = price; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } +} diff --git a/src/main/java/com/bootcamp2018/dto/OrderDTO.java b/src/main/java/com/bootcamp2018/dto/OrderDTO.java index 98d7777..08562ca 100644 --- a/src/main/java/com/bootcamp2018/dto/OrderDTO.java +++ b/src/main/java/com/bootcamp2018/dto/OrderDTO.java @@ -2,29 +2,33 @@ import com.bootcamp2018.model.Order; +import com.bootcamp2018.model.OrderDetail; + +import java.util.ArrayList; public class OrderDTO { - private int idPayment; - private Order order; - public OrderDTO(int idPayment, Order order) { - this.idPayment = idPayment; - this.order = order; + private int Id; + private ArrayList orderDetails; + + public OrderDTO(int id, ArrayList orderDetails) { + Id = id; + this.orderDetails = orderDetails; } - public int getIdPayment() { - return idPayment; + public int getId() { + return Id; } - public void setIdPayment(int idPayment) { - this.idPayment = idPayment; + public void setId(int id) { + Id = id; } - public Order getOrder() { - return order; + public ArrayList getOrderDetails() { + return orderDetails; } - public void setOrder(Order order) { - this.order = order; + public void setOrderDetails(ArrayList orderDetails) { + this.orderDetails = orderDetails; } } diff --git a/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java index cb178f5..c5807f3 100644 --- a/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java +++ b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java @@ -1,31 +1,42 @@ package com.bootcamp2018.dto; +import com.bootcamp2018.model.Item; import com.bootcamp2018.model.OrderDetail; public class OrderDetailDTO { - private int idOrder; - private OrderDetail orderDetail; + private int idItem; + private int quantity; + private double price; - public OrderDetailDTO(int idOrder, OrderDetail orderDetail) { - this.idOrder = idOrder; - this.orderDetail = orderDetail; + public OrderDetailDTO(int idItem, int quantity, double price) { + this.idItem = idItem; + this.quantity = quantity; + this.price = price; } - public int getIdOrder() { - return idOrder; + public int getIdItem() { + return idItem; } - public void setIdOrder(int idOrder) { - this.idOrder = idOrder; + public void setIdItem(int idItem) { + this.idItem = idItem; } - public OrderDetail getOrderDetail() { - return orderDetail; + public int getQuantity() { + return quantity; } - public void setOrderDetail(OrderDetail orderDetail) { - this.orderDetail = orderDetail; + public void setQuantity(int quantity) { + this.quantity = quantity; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; } } diff --git a/src/main/java/com/bootcamp2018/dto/PaymentDTO.java b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java index b590b80..3a95ffe 100644 --- a/src/main/java/com/bootcamp2018/dto/PaymentDTO.java +++ b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java @@ -1,34 +1,40 @@ package com.bootcamp2018.dto; +import com.bootcamp2018.model.Order; import com.bootcamp2018.model.Payment; public class PaymentDTO { - private Payment payment; - private int idClient; - - public PaymentDTO() { - payment = new Payment(); + private int Id; + private int idOrder; + private double amount; + + public PaymentDTO(int id, int idOrder, double amount) { + Id = id; + this.idOrder = idOrder; + this.amount = amount; + } + public int getId() { + return Id; } - public PaymentDTO(Payment payment, int idClient) { - this.payment = payment; - this.idClient = idClient; + public void setId(int id) { + Id = id; } - public Payment getPayment() { - return payment; + public int getIdOrder() { + return idOrder; } - public void setPayment(Payment payment) { - this.payment = payment; + public void setIdOrder(int idOrder) { + this.idOrder = idOrder; } - public int getIdClient() { - return idClient; + public double getAmount() { + return amount; } - public void setIdClient(int idClient) { - this.idClient = idClient; + public void setAmount(double amount) { + this.amount = amount; } } diff --git a/src/main/java/com/bootcamp2018/model/Client.java b/src/main/java/com/bootcamp2018/model/Client.java index dfebf19..8471eab 100644 --- a/src/main/java/com/bootcamp2018/model/Client.java +++ b/src/main/java/com/bootcamp2018/model/Client.java @@ -17,6 +17,14 @@ public Client(int id) { this.Payments = new ArrayList<>(); } + public Client(int id, String name, String lastName, String description, ArrayList payments) { + this.id = id; + this.name = name; + this.lastName = lastName; + this.description = description; + Payments = payments; + } + public Client() { this.id = 0; this.name = ""; diff --git a/src/main/java/com/bootcamp2018/model/Order.java b/src/main/java/com/bootcamp2018/model/Order.java index 5c4f1ac..13a8271 100644 --- a/src/main/java/com/bootcamp2018/model/Order.java +++ b/src/main/java/com/bootcamp2018/model/Order.java @@ -4,8 +4,8 @@ import java.util.ArrayList; public class Order { - private int Id; + private int Id; private ArrayList orderDetails; public Order() { diff --git a/src/main/java/com/bootcamp2018/model/OrderDetail.java b/src/main/java/com/bootcamp2018/model/OrderDetail.java index 3873d0b..5b9dedb 100644 --- a/src/main/java/com/bootcamp2018/model/OrderDetail.java +++ b/src/main/java/com/bootcamp2018/model/OrderDetail.java @@ -5,7 +5,6 @@ public class OrderDetail { private Item item; - private int quantity; private double price; diff --git a/src/main/java/com/bootcamp2018/model/Payment.java b/src/main/java/com/bootcamp2018/model/Payment.java index 5511878..808e769 100644 --- a/src/main/java/com/bootcamp2018/model/Payment.java +++ b/src/main/java/com/bootcamp2018/model/Payment.java @@ -2,16 +2,16 @@ public class Payment { - private int Id; + private int id; private Order order; private double amount; public int getId() { - return Id; + return id; } public void setId(int id) { - Id = id; + this.id = id; } public Order getOrder() { @@ -31,18 +31,18 @@ public void setAmount(double amount) { } public Payment(int id) { - Id = id; + this.id = id; } public Payment(int id, Order order, double amount) { - this.Id = id; + this.id = id; this.order = order; this.amount = amount; } public Payment() { - this.Id = 0; + this.id = 0; this.order = new Order(); this.amount = 0; } @@ -65,7 +65,7 @@ public boolean equals(Object obj) { @Override public String toString() { - return "Payment Id: " + getId() + ", \n" + getOrder().toString() + "\nAmount: $" + getAmount(); + return "Payment id: " + getId() + ", \n" + getOrder().toString() + "\nAmount: $" + getAmount(); } } diff --git a/src/main/java/com/bootcamp2018/service/PaymentService.java b/src/main/java/com/bootcamp2018/service/PaymentService.java index 1ea10fc..9fde3b3 100644 --- a/src/main/java/com/bootcamp2018/service/PaymentService.java +++ b/src/main/java/com/bootcamp2018/service/PaymentService.java @@ -7,7 +7,6 @@ public class PaymentService implements Service { @Override public PaymentDTO create(PaymentDTO Object) { - return Object; } diff --git a/src/main/java/com/bootcamp2018/util/DTOUtils.java b/src/main/java/com/bootcamp2018/util/DTOUtils.java new file mode 100644 index 0000000..b707e0d --- /dev/null +++ b/src/main/java/com/bootcamp2018/util/DTOUtils.java @@ -0,0 +1,11 @@ +package com.bootcamp2018.util; + +import com.bootcamp2018.dto.*; +import com.bootcamp2018.model.*; +public final class DTOUtils { + + public static ItemDTO toItemDTO (Item item ){ + ItemDTO itemDTO = new ItemDTO(item.getId(),item.getName(),item.getPrice()); + return itemDTO; + } +} diff --git a/src/main/java/com/bootcamp2018/util/ModelUtils.java b/src/main/java/com/bootcamp2018/util/ModelUtils.java new file mode 100644 index 0000000..98e2a4c --- /dev/null +++ b/src/main/java/com/bootcamp2018/util/ModelUtils.java @@ -0,0 +1,29 @@ +package com.bootcamp2018.util; + +import com.bootcamp2018.dao.PaymentDAO; +import com.bootcamp2018.dto.ClientDTO; +import com.bootcamp2018.dto.ItemDTO; +import com.bootcamp2018.model.Client; +import com.bootcamp2018.model.Item; +import com.bootcamp2018.model.Payment; +import java.util.ArrayList; + +public class ModelUtils { + + public static Item toItem (ItemDTO itemDTO ){ + Item item = new Item(itemDTO.getId(),itemDTO.getName(),itemDTO.getPrice()); + return item; + } + public static Client toClient (ClientDTO clientDTO ){ + ArrayList payments = new ArrayList<>(); + PaymentDAO paymentDAO = new PaymentDAO(); + for (Integer idPayment: clientDTO.getPayments() + ) { + Payment payment; + payment = paymentDAO.get(new Payment(idPayment)); + payments.add(payment); + } + Client client = new Client(clientDTO.getId(),clientDTO.getName(),clientDTO.getLastName(),clientDTO.getDescription(),payments); + return client; + } +} diff --git a/src/main/java/com/bootcamp2018/util/Utility.java b/src/main/java/com/bootcamp2018/util/Utility.java deleted file mode 100644 index 563be9b..0000000 --- a/src/main/java/com/bootcamp2018/util/Utility.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.bootcamp2018.util; - -public class Utility { - public static boolean isInt(String s) { - try { - Integer.parseInt(s); - } catch (NumberFormatException e) { - return false; - } catch (NullPointerException e) { - return false; - } - return true; - } - - public static boolean isDouble(String s) { - try { - Double.parseDouble(s); - } catch (NumberFormatException e) { - return false; - } catch (NullPointerException e) { - return false; - } - return true; - } -} diff --git a/src/main/webapp/WEB-INF/beans.xml b/src/main/webapp/WEB-INF/beans.xml index 6b4f850..e0bb9c9 100644 --- a/src/main/webapp/WEB-INF/beans.xml +++ b/src/main/webapp/WEB-INF/beans.xml @@ -21,5 +21,4 @@ - \ No newline at end of file From a946ab548519505ae43ea27018a5ad41590e5c36 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Fri, 29 Jun 2018 12:57:56 -0300 Subject: [PATCH 11/19] base --- Boot2018.sql | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 Boot2018.sql diff --git a/Boot2018.sql b/Boot2018.sql new file mode 100644 index 0000000..2737e0e --- /dev/null +++ b/Boot2018.sql @@ -0,0 +1,190 @@ +CREATE DATABASE IF NOT EXISTS `boot2018` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */; +USE `boot2018`; +-- MySQL dump 10.13 Distrib 8.0.11, for Win64 (x86_64) +-- +-- Host: localhost Database: boot2018 +-- ------------------------------------------------------ +-- Server version 8.0.11 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; + SET NAMES utf8 ; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `client` +-- + +DROP TABLE IF EXISTS `client`; +/*!40101 SET @saved_cs_client = @@character_set_client */; + SET character_set_client = utf8mb4 ; +CREATE TABLE `client` ( + `idClient` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) DEFAULT NULL, + `lastName` varchar(45) DEFAULT NULL, + `description` varchar(45) DEFAULT NULL, + PRIMARY KEY (`idClient`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `client` +-- + +LOCK TABLES `client` WRITE; +/*!40000 ALTER TABLE `client` DISABLE KEYS */; +/*!40000 ALTER TABLE `client` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `discount` +-- + +DROP TABLE IF EXISTS `discount`; +/*!40101 SET @saved_cs_client = @@character_set_client */; + SET character_set_client = utf8mb4 ; +CREATE TABLE `discount` ( + `idDiscount` int(11) NOT NULL AUTO_INCREMENT, + `idItem` int(11) DEFAULT NULL, + `quantity` int(11) DEFAULT NULL, + `price` decimal(10,2) DEFAULT NULL, + `description` varchar(45) DEFAULT NULL, + PRIMARY KEY (`idDiscount`), + KEY `Item_idx` (`idItem`), + CONSTRAINT `Item` FOREIGN KEY (`idItem`) REFERENCES `item` (`iditem`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `discount` +-- + +LOCK TABLES `discount` WRITE; +/*!40000 ALTER TABLE `discount` DISABLE KEYS */; +INSERT INTO `discount` VALUES (1,4,5,5.00,NULL); +/*!40000 ALTER TABLE `discount` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `item` +-- + +DROP TABLE IF EXISTS `item`; +/*!40101 SET @saved_cs_client = @@character_set_client */; + SET character_set_client = utf8mb4 ; +CREATE TABLE `item` ( + `idItem` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) DEFAULT NULL, + `price` decimal(10,2) DEFAULT NULL, + PRIMARY KEY (`idItem`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `item` +-- + +LOCK TABLES `item` WRITE; +/*!40000 ALTER TABLE `item` DISABLE KEYS */; +INSERT INTO `item` VALUES (2,'Sprite',46.00),(3,'Coke',45.50),(4,'Potato',2.00); +/*!40000 ALTER TABLE `item` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `order` +-- + +DROP TABLE IF EXISTS `order`; +/*!40101 SET @saved_cs_client = @@character_set_client */; + SET character_set_client = utf8mb4 ; +CREATE TABLE `order` ( + `idOrder` int(11) NOT NULL AUTO_INCREMENT, + `idPayment` int(11) NOT NULL, + PRIMARY KEY (`idOrder`), + KEY `Payment_Order_idx` (`idPayment`), + CONSTRAINT `Payment_Order` FOREIGN KEY (`idPayment`) REFERENCES `payment` (`idpayment`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `order` +-- + +LOCK TABLES `order` WRITE; +/*!40000 ALTER TABLE `order` DISABLE KEYS */; +/*!40000 ALTER TABLE `order` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `orderdetail` +-- + +DROP TABLE IF EXISTS `orderdetail`; +/*!40101 SET @saved_cs_client = @@character_set_client */; + SET character_set_client = utf8mb4 ; +CREATE TABLE `orderdetail` ( + `idOrder` int(11) DEFAULT NULL, + `idItem` int(11) DEFAULT NULL, + `quantity` int(11) DEFAULT NULL, + `price` decimal(10,2) DEFAULT NULL, + `idOrderDetail` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`idOrderDetail`), + KEY `idItem_idx` (`idItem`), + KEY `OrderxDetail_idx` (`idOrder`), + CONSTRAINT `OrderxDetail` FOREIGN KEY (`idOrder`) REFERENCES `order` (`idorder`) ON DELETE CASCADE, + CONSTRAINT `idItem` FOREIGN KEY (`idItem`) REFERENCES `item` (`iditem`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `orderdetail` +-- + +LOCK TABLES `orderdetail` WRITE; +/*!40000 ALTER TABLE `orderdetail` DISABLE KEYS */; +/*!40000 ALTER TABLE `orderdetail` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `payment` +-- + +DROP TABLE IF EXISTS `payment`; +/*!40101 SET @saved_cs_client = @@character_set_client */; + SET character_set_client = utf8mb4 ; +CREATE TABLE `payment` ( + `idPayment` int(11) NOT NULL AUTO_INCREMENT, + `idOrder` int(11) DEFAULT NULL, + `idClient` int(11) DEFAULT NULL, + `amount` decimal(10,2) DEFAULT NULL, + PRIMARY KEY (`idPayment`), + KEY `idClient_idx` (`idClient`), + CONSTRAINT `Client_Payment` FOREIGN KEY (`idClient`) REFERENCES `client` (`idclient`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `payment` +-- + +LOCK TABLES `payment` WRITE; +/*!40000 ALTER TABLE `payment` DISABLE KEYS */; +/*!40000 ALTER TABLE `payment` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2018-06-29 12:55:41 From 70fbc156a33a634e1f094e8f513fb97d8b683130 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Fri, 29 Jun 2018 19:13:35 -0300 Subject: [PATCH 12/19] with DTO and Model utils --- .../java/com/bootcamp2018/dto/ClientDTO.java | 4 ++ .../com/bootcamp2018/dto/DiscountDTO.java | 17 +++++---- .../java/com/bootcamp2018/util/DTOUtils.java | 38 ++++++++++++++++++- .../com/bootcamp2018/util/ModelUtils.java | 29 +++++++++++--- 4 files changed, 74 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/bootcamp2018/dto/ClientDTO.java b/src/main/java/com/bootcamp2018/dto/ClientDTO.java index c1837e4..e26b677 100644 --- a/src/main/java/com/bootcamp2018/dto/ClientDTO.java +++ b/src/main/java/com/bootcamp2018/dto/ClientDTO.java @@ -19,7 +19,11 @@ public ClientDTO(int id, String name, String lastName, String description, Array Payments = payments; } + public ClientDTO() { + } + public int getId() { + return id; } diff --git a/src/main/java/com/bootcamp2018/dto/DiscountDTO.java b/src/main/java/com/bootcamp2018/dto/DiscountDTO.java index 53e5de2..29ad563 100644 --- a/src/main/java/com/bootcamp2018/dto/DiscountDTO.java +++ b/src/main/java/com/bootcamp2018/dto/DiscountDTO.java @@ -1,24 +1,25 @@ package com.bootcamp2018.dto; public class DiscountDTO { - private int iditem; + private int id; + private int idItem; private int quantity; private double price; - private int id; - public DiscountDTO(int iditem, int quantity, double price, int id) { - this.iditem = iditem; + + public DiscountDTO(int id,int idItem, int quantity, double price) { + this.idItem = idItem; this.quantity = quantity; this.price = price; this.id = id; } - public int getIditem() { - return iditem; + public int getIdItem() { + return idItem; } - public void setIditem(int iditem) { - this.iditem = iditem; + public void setIdItem(int iditem) { + this.idItem = iditem; } public int getQuantity() { diff --git a/src/main/java/com/bootcamp2018/util/DTOUtils.java b/src/main/java/com/bootcamp2018/util/DTOUtils.java index b707e0d..1e3607c 100644 --- a/src/main/java/com/bootcamp2018/util/DTOUtils.java +++ b/src/main/java/com/bootcamp2018/util/DTOUtils.java @@ -2,10 +2,46 @@ import com.bootcamp2018.dto.*; import com.bootcamp2018.model.*; + +import java.util.ArrayList; + public final class DTOUtils { - public static ItemDTO toItemDTO (Item item ){ + public static ItemDTO toItemDTO(Item item ){ ItemDTO itemDTO = new ItemDTO(item.getId(),item.getName(),item.getPrice()); return itemDTO; } + + public static ClientDTO toClientDTO(Client client){ + ClientDTO respClientDTO; + ArrayList payments = new ArrayList<>(); + for (Payment payment: client.getPayments() + ) { + payments.add(payment.getId()); + } + respClientDTO = new ClientDTO(client.getId(),client.getName(),client.getLastName(),client.getDescription(),payments); + return respClientDTO; + } + + public static OrderDetailDTO toOrderDetailDTO(OrderDetail orderDetail){ + OrderDetailDTO respOrderDetailDTO; + respOrderDetailDTO = new OrderDetailDTO(orderDetail.getItem().getId(),orderDetail.getQuantity(),orderDetail.getPrice()); + return respOrderDetailDTO; + } + + public static DiscountDTO toOrderDetailDTO(Discount discount){ + DiscountDTO respDiscountDTO; + respDiscountDTO = new DiscountDTO(discount.getId(),discount.getItem().getId(),discount.getQuantity(),discount.getPrice()); + return respDiscountDTO; + } + + + public static PaymentDTO toPaymentDTO(Payment payment){ + PaymentDTO respPaymentDTO; + respPaymentDTO = new PaymentDTO(payment.getId(),payment.getOrder().getId(),payment.getAmount()); + return respPaymentDTO; + + } + + } diff --git a/src/main/java/com/bootcamp2018/util/ModelUtils.java b/src/main/java/com/bootcamp2018/util/ModelUtils.java index 98e2a4c..4b489e7 100644 --- a/src/main/java/com/bootcamp2018/util/ModelUtils.java +++ b/src/main/java/com/bootcamp2018/util/ModelUtils.java @@ -1,11 +1,10 @@ package com.bootcamp2018.util; +import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.dao.PaymentDAO; -import com.bootcamp2018.dto.ClientDTO; -import com.bootcamp2018.dto.ItemDTO; -import com.bootcamp2018.model.Client; -import com.bootcamp2018.model.Item; -import com.bootcamp2018.model.Payment; +import com.bootcamp2018.dto.*; +import com.bootcamp2018.model.*; + import java.util.ArrayList; public class ModelUtils { @@ -26,4 +25,24 @@ public static Client toClient (ClientDTO clientDTO ){ Client client = new Client(clientDTO.getId(),clientDTO.getName(),clientDTO.getLastName(),clientDTO.getDescription(),payments); return client; } + + public static OrderDetail toOrderDetail(OrderDetailDTO orderDetailDTO){ + OrderDetail respOrederDetail; + ItemDAO itemDAO = new ItemDAO(); + Item item; + item = itemDAO.retriveItem(orderDetailDTO.getIdItem()); + respOrederDetail = new OrderDetail(item,orderDetailDTO.getQuantity(),orderDetailDTO.getPrice()); + return respOrederDetail; + } + + public static Discount toDiscount(DiscountDTO discountDTO){ + Discount respDiscount; + ItemDAO itemDAO = new ItemDAO(); + Item item; + item = itemDAO.retriveItem(discountDTO.getIdItem()); + respDiscount = new Discount(discountDTO.getId(),item,discountDTO.getQuantity(),discountDTO.getPrice()); + return respDiscount; + } + + } From 4f4332416bf846530155ce638a106195b59a9c46 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Fri, 29 Jun 2018 21:16:44 -0300 Subject: [PATCH 13/19] with DTO and Model utils --- .../java/com/bootcamp2018/dao/OrderDAO.java | 29 +++++++++---------- .../com/bootcamp2018/dao/OrderDetailDAO.java | 6 ++-- .../java/com/bootcamp2018/util/DTOUtils.java | 10 +++++++ .../com/bootcamp2018/util/ModelUtils.java | 22 ++++++++++++++ 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java index f5c2fa1..8305fa6 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java @@ -7,10 +7,8 @@ import com.bootcamp2018.model.Order; import com.bootcamp2018.model.OrderDetail; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.Statement; +import java.sql.*; +import java.util.ArrayList; public class OrderDAO { public Order create(Order order, int idPayment) { @@ -40,23 +38,21 @@ public Order create(Order order, int idPayment) { return respOrder; } - public Order get(Order order, int idPayment) { + public Order get(int idPayment) { Order respOrder = new Order(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("SELECT idOrder FROM 'order' WHERE idPayment = ?", Statement.RETURN_GENERATED_KEYS); + pstmt = con.prepareStatement("SELECT idOrder FROM 'order' WHERE idPayment = ?"); pstmt.setInt(1, idPayment); - pstmt.executeUpdate(); - ResultSet rs = pstmt.getGeneratedKeys(); + pstmt.executeQuery(); + ResultSet rs = pstmt.getResultSet(); if (rs.next()) { respOrder.setId(rs.getInt(1)); - OrderDetail respOrderDetail = new OrderDetail(); - for (OrderDetail od : order.getOrderDetails() - ) { - OrderDetailDAO odd = new OrderDetailDAO(); - respOrderDetail = odd.create(od,respOrder.getId()); - respOrder.getOrderDetails().add(respOrderDetail); - } + ArrayList list = new ArrayList<>(); + OrderDetailDAO odd = new OrderDetailDAO(); + list = odd.get(respOrder.getId()); + respOrder.setOrderDetails(list); + } else { respOrder = new Order(); } @@ -67,6 +63,9 @@ public Order get(Order order, int idPayment) { return respOrder; } + private static Order build(ResultSet rs) throws SQLException { + + } } diff --git a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java index 3724798..3c31d4a 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java @@ -33,13 +33,13 @@ public OrderDetail create(OrderDetail orderDetail, int idOrder) { return respOrderDetail; } - public ArrayList get(OrderDetail orderDetail, int idOrder) { + public ArrayList get(int idOrder) { ArrayList list = new ArrayList<>(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("SELECT idItem, idOrder, quantity, price FROM orderdetail WHERE (NOT idOrder = 0 AND idOrder = ?) OR (NOT idItem = 0 AND idItem = ?)", Statement.RETURN_GENERATED_KEYS); + pstmt = con.prepareStatement("SELECT idItem, idOrder, quantity, price FROM orderdetail WHERE idOrder = ?", Statement.RETURN_GENERATED_KEYS); pstmt.setInt(1, idOrder); - pstmt.setInt(2, orderDetail.getItem().getId()); + ResultSet rs = pstmt.executeQuery(); while (rs.next()) { ItemDAO itemDAO = new ItemDAO(); diff --git a/src/main/java/com/bootcamp2018/util/DTOUtils.java b/src/main/java/com/bootcamp2018/util/DTOUtils.java index 1e3607c..ca3d747 100644 --- a/src/main/java/com/bootcamp2018/util/DTOUtils.java +++ b/src/main/java/com/bootcamp2018/util/DTOUtils.java @@ -40,7 +40,17 @@ public static PaymentDTO toPaymentDTO(Payment payment){ PaymentDTO respPaymentDTO; respPaymentDTO = new PaymentDTO(payment.getId(),payment.getOrder().getId(),payment.getAmount()); return respPaymentDTO; + } + public static OrderDTO toOrderDTO(Order order){ + OrderDTO respOrderDTO; + ArrayList list = new ArrayList<>(); + for (OrderDetail orderDetail: order.getOrderDetails() + ) { + list.add(toOrderDetailDTO(orderDetail)); + } + respOrderDTO = new OrderDTO(order.getId(),list); + return respOrderDTO; } diff --git a/src/main/java/com/bootcamp2018/util/ModelUtils.java b/src/main/java/com/bootcamp2018/util/ModelUtils.java index 4b489e7..5afd35e 100644 --- a/src/main/java/com/bootcamp2018/util/ModelUtils.java +++ b/src/main/java/com/bootcamp2018/util/ModelUtils.java @@ -1,6 +1,7 @@ package com.bootcamp2018.util; import com.bootcamp2018.dao.ItemDAO; +import com.bootcamp2018.dao.OrderDAO; import com.bootcamp2018.dao.PaymentDAO; import com.bootcamp2018.dto.*; import com.bootcamp2018.model.*; @@ -44,5 +45,26 @@ public static Discount toDiscount(DiscountDTO discountDTO){ return respDiscount; } + public static Payment toPayment(PaymentDTO paymentDTO){ + Payment respPayment; + OrderDAO orderDAO = new OrderDAO(); + Order order; + order = orderDAO.get(paymentDTO.getId()); + respPayment = new Payment(paymentDTO.getId(),order,paymentDTO.getAmount()); + return respPayment; + } + + public static Order toOrder(OrderDTO orderDTO){ + Order respOrder= new Order(); + respOrder.setId(orderDTO.getId()); + for (OrderDetailDTO orderDetailDTO: orderDTO.getOrderDetails() + ) { + OrderDetail orderDetail; + orderDetail = toOrderDetail(orderDetailDTO); + respOrder.getOrderDetails().add(orderDetail); + } + return respOrder; + } + } From d61cf616e7f8615df2280299d1c3a74481e7ec53 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Fri, 29 Jun 2018 21:17:16 -0300 Subject: [PATCH 14/19] with DTO and Model utils --- src/main/java/com/bootcamp2018/dao/OrderDAO.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java index 8305fa6..9e211af 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java @@ -1,12 +1,8 @@ package com.bootcamp2018.dao; import com.bootcamp2018.db.DBConnection; -import com.bootcamp2018.dto.OrderDTO; - -import com.bootcamp2018.dto.OrderDetailDTO; import com.bootcamp2018.model.Order; import com.bootcamp2018.model.OrderDetail; - import java.sql.*; import java.util.ArrayList; @@ -63,9 +59,7 @@ public Order get(int idPayment) { return respOrder; } - private static Order build(ResultSet rs) throws SQLException { - } } From 013a56eca45a08f5d1690ff9fecc993d49736b84 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Fri, 29 Jun 2018 22:11:41 -0300 Subject: [PATCH 15/19] with DTO and Model utils --- .../bootcamp2018/control/ClientControl.java | 25 +++++++++----- .../bootcamp2018/control/DiscountControl.java | 25 +++++++++----- .../com/bootcamp2018/control/ItemControl.java | 26 +++++++++----- .../control/OrderDetailControl.java | 34 +++++++------------ .../bootcamp2018/control/PaymentControl.java | 8 ++--- .../java/com/bootcamp2018/dao/ClientDAO.java | 14 ++++++++ .../com/bootcamp2018/dao/DiscountDAO.java | 13 ++++--- .../java/com/bootcamp2018/dao/OrderDAO.java | 8 ++--- .../java/com/bootcamp2018/dao/PaymentDAO.java | 6 ++-- .../bootcamp2018/service/ClientService.java | 15 ++++++-- .../bootcamp2018/service/DiscountService.java | 14 ++++++-- .../com/bootcamp2018/service/ItemService.java | 29 ++++++++++++---- .../service/OrderDetailService.java | 23 +++++++------ .../bootcamp2018/service/OrderService.java | 18 +++++----- .../bootcamp2018/service/PaymentService.java | 23 ++++++++----- .../com/bootcamp2018/service/Service.java | 4 +-- .../java/com/bootcamp2018/util/DTOUtils.java | 6 ++-- 17 files changed, 184 insertions(+), 107 deletions(-) diff --git a/src/main/java/com/bootcamp2018/control/ClientControl.java b/src/main/java/com/bootcamp2018/control/ClientControl.java index 8bd754d..c93cecb 100644 --- a/src/main/java/com/bootcamp2018/control/ClientControl.java +++ b/src/main/java/com/bootcamp2018/control/ClientControl.java @@ -1,7 +1,10 @@ package com.bootcamp2018.control; +import com.bootcamp2018.dto.*; import com.bootcamp2018.model.Client; +import com.bootcamp2018.model.Discount; import com.bootcamp2018.service.ClientService; +import com.bootcamp2018.util.DTOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -22,23 +25,29 @@ public class ClientControl { @RequestMapping(value="/create",method = RequestMethod.PUT) - public ResponseEntity create(@RequestBody Client client) { - return new ResponseEntity<>(cs.create(client),HttpStatus.OK); + public ResponseEntity create(@RequestBody Client client) { + + return new ResponseEntity<>(DTOUtils.toClientDTO(cs.create(client)),HttpStatus.OK); } @RequestMapping(value="/get",method = RequestMethod.POST) - public ResponseEntity get(Client client) { - return new ResponseEntity<>(cs.get(client),HttpStatus.OK); + public ResponseEntity get(Client client) { + return new ResponseEntity<>(DTOUtils.toClientDTO(cs.get(client)),HttpStatus.OK); } @RequestMapping(value="/get",method = RequestMethod.GET) - public ResponseEntity> getList(@RequestBody Client client) { - return new ResponseEntity<>(cs.getList(client),HttpStatus.OK); + public ResponseEntity> getList(@RequestBody Client client) { + ArrayList list = new ArrayList<>(); + for (Client clients:cs.getList(client) + ) { + list.add(DTOUtils.toClientDTO(clients)); + } + return new ResponseEntity<>(list,HttpStatus.OK); } @RequestMapping(value="/update",method = RequestMethod.POST) - public ResponseEntity update(@RequestBody Client client) { - return new ResponseEntity<>(cs.update(client),HttpStatus.OK); + public ResponseEntity update(@RequestBody Client client) { + return new ResponseEntity<>(DTOUtils.toClientDTO(cs.update(client)),HttpStatus.OK); } @RequestMapping(value="/delete",method = RequestMethod.DELETE) diff --git a/src/main/java/com/bootcamp2018/control/DiscountControl.java b/src/main/java/com/bootcamp2018/control/DiscountControl.java index 36faec5..271c4b3 100644 --- a/src/main/java/com/bootcamp2018/control/DiscountControl.java +++ b/src/main/java/com/bootcamp2018/control/DiscountControl.java @@ -1,8 +1,9 @@ package com.bootcamp2018.control; - +import com.bootcamp2018.dto.*; import com.bootcamp2018.model.Discount; import com.bootcamp2018.service.DiscountService; +import com.bootcamp2018.util.DTOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -21,23 +22,29 @@ public class DiscountControl { private DiscountService ds; @RequestMapping(value="/create",method = RequestMethod.PUT) - public ResponseEntity create(@RequestBody Discount object) { - return new ResponseEntity<>(ds.create(object),HttpStatus.OK); + public ResponseEntity create(@RequestBody Discount object) { + return new ResponseEntity<>(DTOUtils.toDiscountDTO(ds.create(object)),HttpStatus.OK); } @RequestMapping(value="/get",method = RequestMethod.POST) - public ResponseEntity get(@RequestBody Discount object) { - return new ResponseEntity<>(ds.get(object),HttpStatus.OK); + public ResponseEntity get(@RequestBody Discount object) { + return new ResponseEntity<>(DTOUtils.toDiscountDTO(ds.get(object)),HttpStatus.OK); } @RequestMapping(value="/list",method = RequestMethod.GET) - public ResponseEntity> getList() { - return new ResponseEntity<>(ds.getList(new Discount()),HttpStatus.OK); + public ResponseEntity> getList() { + ArrayList list = new ArrayList<>(); + for (Discount discount:ds.getList(new Discount()) + ) { + list.add(DTOUtils.toDiscountDTO(discount)); + } + return new ResponseEntity<>(list,HttpStatus.OK); } @RequestMapping(value="/update",method = RequestMethod.POST) - public ResponseEntity update(@RequestBody Discount object) { - return new ResponseEntity<>(ds.update(object), HttpStatus.OK); + public ResponseEntity update(@RequestBody Discount object) { + + return new ResponseEntity<>(DTOUtils.toDiscountDTO(ds.update(object)), HttpStatus.OK); } @RequestMapping(value="/delete",method = RequestMethod.POST) diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 3fb241b..7de310c 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -1,9 +1,11 @@ package com.bootcamp2018.control; import com.bootcamp2018.dao.ItemDAO; +import com.bootcamp2018.dto.ItemDTO; import com.bootcamp2018.model.Item; import com.bootcamp2018.service.ItemService; +import com.bootcamp2018.util.DTOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -22,26 +24,32 @@ public class ItemControl { private ItemService is; @RequestMapping(value="/create",method = RequestMethod.PUT) - public ResponseEntity create(@RequestBody Item object) { + public ResponseEntity create(@RequestBody Item object) { Item item = is.create(object); - return new ResponseEntity<>(item,HttpStatus.OK); + return new ResponseEntity<>(DTOUtils.toItemDTO(item),HttpStatus.OK); } @RequestMapping(value="/get",method = RequestMethod.POST) - public ResponseEntity get(@RequestBody Item item) { + public ResponseEntity get(@RequestBody Item item) { Item response = is.get(item); - return new ResponseEntity<>(response,HttpStatus.OK); + return new ResponseEntity<>(DTOUtils.toItemDTO(response),HttpStatus.OK); } @RequestMapping(value="/list",method = RequestMethod.POST) - public ResponseEntity> getList(@RequestBody Item object) { - return new ResponseEntity<>(is.getList(object),HttpStatus.OK); + public ResponseEntity> getList(@RequestBody Item object) { + ArrayList list = new ArrayList<>(); + for (Item item :is.getList(object) + ) { + list.add(DTOUtils.toItemDTO(item)); + } + return new ResponseEntity<>(list,HttpStatus.OK); } @RequestMapping(value="/update",method = RequestMethod.PUT) - public ResponseEntity update(@RequestBody Item object) { - - return new ResponseEntity(is.update(object),HttpStatus.OK); + public ResponseEntity update(@RequestBody Item object) { + ItemDTO itemDTO; + itemDTO = DTOUtils.toItemDTO(is.update(object)); + return new ResponseEntity(itemDTO,HttpStatus.OK); } @RequestMapping(value="/delete",method = RequestMethod.POST) diff --git a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java index 706b535..b070c30 100644 --- a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java +++ b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java @@ -1,10 +1,10 @@ package com.bootcamp2018.control; import com.bootcamp2018.dto.OrderDetailDTO; -import com.bootcamp2018.model.Item; +import com.bootcamp2018.model.*; import com.bootcamp2018.model.OrderDetail; -import com.bootcamp2018.service.ItemService; import com.bootcamp2018.service.OrderDetailService; +import com.bootcamp2018.util.DTOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; - import java.util.ArrayList; @Controller @@ -22,26 +21,19 @@ public class OrderDetailControl { private OrderDetailService ods; @RequestMapping(value="/create",method = RequestMethod.PUT) - public ResponseEntity create(@RequestBody OrderDetailDTO object) { - return new ResponseEntity<>(ods.create(object),HttpStatus.OK); - } + public ResponseEntity create(@RequestBody OrderDetail object) { - @RequestMapping(value="/get",method = RequestMethod.POST) - public ResponseEntity get(@RequestBody OrderDetailDTO object) { - return new ResponseEntity<>(ods.get(object),HttpStatus.OK); - } + return new ResponseEntity<>(DTOUtils.toDiscountDTO(ods.create(object)),HttpStatus.OK); + } @RequestMapping(value="/List",method = RequestMethod.GET) - public ResponseEntity> getList(OrderDetailDTO object) { - return new ResponseEntity<>(ods.getList(object),HttpStatus.OK); - } - - @RequestMapping(value="/update",method = RequestMethod.POST) - public ResponseEntity update(OrderDetailDTO object) { - return new ResponseEntity<>(ods.update(object),HttpStatus.OK); - } - + public ResponseEntity> getList(@RequestBody Order object) { + ArrayList list = new ArrayList<>(); + for (OrderDetail orderDetail: ods.getList(object.getId()) + ) { + list.add(DTOUtils.toDiscountDTO(orderDetail)); + } + return new ResponseEntity<>(list,HttpStatus.OK); + } - public void delete(OrderDetailDTO object) { - } } diff --git a/src/main/java/com/bootcamp2018/control/PaymentControl.java b/src/main/java/com/bootcamp2018/control/PaymentControl.java index 073d4f0..d37873a 100644 --- a/src/main/java/com/bootcamp2018/control/PaymentControl.java +++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java @@ -1,12 +1,12 @@ package com.bootcamp2018.control; import com.bootcamp2018.dto.PaymentDTO; - - - - +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; +@RestController +@RequestMapping("/payment") public class PaymentControl { diff --git a/src/main/java/com/bootcamp2018/dao/ClientDAO.java b/src/main/java/com/bootcamp2018/dao/ClientDAO.java index 8658305..f7cc905 100644 --- a/src/main/java/com/bootcamp2018/dao/ClientDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ClientDAO.java @@ -57,6 +57,20 @@ public Client get(Client cli){ } return client; } + public Client get(int id){ + Client client = new Client(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idClient, name, lastName, description FROM client WHERE idClient=?"); + pstmt.setInt(1, id); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + client = ClientCreator.mapClient(rs); + } + } catch (Exception e) { + } + return client; + } public Client delete(Client client) { diff --git a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java index 496087f..b3e08f9 100644 --- a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java +++ b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java @@ -32,11 +32,13 @@ public Discount createDiscount(Discount discount) { return discount; } - public Discount get(Discount discount){ + + public Discount get(int id){ + Discount discount = new Discount(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idDiscount,idItem, quantity, price FROM discount WHERE idDiscount = ?", Statement.RETURN_GENERATED_KEYS); - pstmt.setInt(1, discount.getId()); + pstmt.setInt(1, id); ResultSet rs = pstmt.executeQuery(); if (rs.next()) { discount.setPrice(rs.getInt(4)); @@ -67,19 +69,20 @@ public ArrayList retriveItems(Discount objects) { } public Discount update(Discount discount){ + Discount respDiscount = new Discount(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("UPDATE discount SET quantity = ?, price= ? WHERE idDiscount = ?", Statement.RETURN_GENERATED_KEYS); pstmt.setInt(1, discount.getQuantity()); pstmt.setDouble(2, discount.getPrice()); int resp = pstmt.executeUpdate(); - if (resp == 0) discount = new Discount(); + if (resp == 0) respDiscount = new Discount(); else{ - discount = get(discount); + respDiscount = get(discount.getId()); } pstmt.close(); } catch (Exception e) {} - return discount; + return respDiscount; } public void delete(Discount discount) { diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java index 9e211af..09a45ae 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java @@ -17,7 +17,7 @@ public Order create(Order order, int idPayment) { ResultSet rs = pstmt.getGeneratedKeys(); if (rs.next()) { respOrder.setId(rs.getInt(1)); - OrderDetail respOrderDetail = new OrderDetail(); + OrderDetail respOrderDetail; for (OrderDetail od : order.getOrderDetails() ) { OrderDetailDAO odd = new OrderDetailDAO(); @@ -44,11 +44,10 @@ public Order get(int idPayment) { ResultSet rs = pstmt.getResultSet(); if (rs.next()) { respOrder.setId(rs.getInt(1)); - ArrayList list = new ArrayList<>(); + ArrayList list; OrderDetailDAO odd = new OrderDetailDAO(); list = odd.get(respOrder.getId()); respOrder.setOrderDetails(list); - } else { respOrder = new Order(); } @@ -59,7 +58,4 @@ public Order get(int idPayment) { return respOrder; } - - - } diff --git a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java index 2ade42d..dd39b1f 100644 --- a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java +++ b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java @@ -33,19 +33,19 @@ public Payment create(Payment payment,int idClient) { } - public Payment get(Payment payment){ + public Payment get(int idPayment){ Payment respPayment = new Payment(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idPayment, amount FROM payment WHERE idPaymet = ?", Statement.RETURN_GENERATED_KEYS); - pstmt.setInt(1, payment.getId()); + pstmt.setInt(1, idPayment); pstmt.executeQuery(); ResultSet rs = pstmt.getResultSet(); if (rs.next()) { respPayment.setId(rs.getInt(1)); respPayment.setAmount(rs.getDouble(2)); OrderDAO orderDAO = new OrderDAO(); - respPayment.setOrder(orderDAO.get(payment.getOrder(),respPayment.getId())); + respPayment.setOrder(orderDAO.get(respPayment.getId())); } else { respPayment = new Payment(); } diff --git a/src/main/java/com/bootcamp2018/service/ClientService.java b/src/main/java/com/bootcamp2018/service/ClientService.java index 66fc2cb..d016143 100644 --- a/src/main/java/com/bootcamp2018/service/ClientService.java +++ b/src/main/java/com/bootcamp2018/service/ClientService.java @@ -8,21 +8,30 @@ @org.springframework.stereotype.Service public class ClientService implements Service { - @Autowired private ClientDAO clientDAO; + @Override + public Client get(int id) { + return clientDAO.get(id); + } + + @Override + public ArrayList getList(int id) { + return clientDAO.list(); + } + @Override public Client create(Client object) { return clientDAO.create(object); } - @Override + public Client get(Client object) { return clientDAO.get(object); } - @Override + public ArrayList getList(Client object) { return clientDAO.list(); } diff --git a/src/main/java/com/bootcamp2018/service/DiscountService.java b/src/main/java/com/bootcamp2018/service/DiscountService.java index fbdbc72..20d7226 100644 --- a/src/main/java/com/bootcamp2018/service/DiscountService.java +++ b/src/main/java/com/bootcamp2018/service/DiscountService.java @@ -17,11 +17,21 @@ public Discount create(Discount object) { } @Override - public Discount get(Discount object) { - return dDAO.get(object); + public Discount get(int id) { + return dDAO.get(id); } @Override + public ArrayList getList(int id) { + return null; + } + + + public Discount get(Discount object) { + return dDAO.get(object.getId()); + } + + public ArrayList getList(Discount object) { return dDAO.retriveItems(object); } diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java index fe8a38a..fc29c45 100644 --- a/src/main/java/com/bootcamp2018/service/ItemService.java +++ b/src/main/java/com/bootcamp2018/service/ItemService.java @@ -2,39 +2,56 @@ import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.model.Item; +import org.springframework.beans.factory.annotation.Autowired; + import java.util.ArrayList; @org.springframework.stereotype.Service public class ItemService implements Service { + @Autowired + private ItemDAO itemDAO; @Override public Item create(Item object) { - ItemDAO itemDAO = new ItemDAO(); return itemDAO.createItem(object); } @Override + public Item get(int id) { + Item item ; + + item = itemDAO.retriveItem(id); + return item; + } + + @Override + public ArrayList getList(int id) { + + return itemDAO.retriveItems(new Item()); + } + + public Item get(Item Object) { - ItemDAO itemDAO = new ItemDAO(); + Object = itemDAO.retriveItem(Object.getId()); return Object; } - @Override + public ArrayList getList(Item object) { - ItemDAO itemDAO = new ItemDAO(); + return itemDAO.retriveItems(object); } @Override public Item update(Item object) { - ItemDAO itemDAO = new ItemDAO(); + return itemDAO.updateItem(object); } @Override public void delete(Item object) { - ItemDAO itemDAO = new ItemDAO(); + itemDAO.deleteItem(object); } diff --git a/src/main/java/com/bootcamp2018/service/OrderDetailService.java b/src/main/java/com/bootcamp2018/service/OrderDetailService.java index 45f0e57..59aad80 100644 --- a/src/main/java/com/bootcamp2018/service/OrderDetailService.java +++ b/src/main/java/com/bootcamp2018/service/OrderDetailService.java @@ -1,38 +1,41 @@ package com.bootcamp2018.service; -import com.bootcamp2018.dao.OrderDetailDAO; -import com.bootcamp2018.dto.OrderDetailDTO; + +import com.bootcamp2018.dao.OrderDetailDAO; +import com.bootcamp2018.model.OrderDetail; import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; @org.springframework.stereotype.Service -public class OrderDetailService implements Service { +public class OrderDetailService implements Service { @Autowired - private OrderDetailDAO orderDAO; + private OrderDetailDAO orderDetailDAO; @Override - public OrderDetailDTO create(OrderDetailDTO object) { - return orderDAO.create(object); + public OrderDetail create(OrderDetail object) { + OrderDetail od; + return null; } @Override - public OrderDetailDTO get(OrderDetailDTO object) { + public OrderDetail get(int id) { return null; } @Override - public ArrayList getList(OrderDetailDTO object) { + public ArrayList getList(int id) { return null; } @Override - public OrderDetailDTO update(OrderDetailDTO object) { + public OrderDetail update(OrderDetail object) { return null; } @Override - public void delete(OrderDetailDTO object) { + public void delete(OrderDetail object) { + } } diff --git a/src/main/java/com/bootcamp2018/service/OrderService.java b/src/main/java/com/bootcamp2018/service/OrderService.java index 46737bd..86f7c25 100644 --- a/src/main/java/com/bootcamp2018/service/OrderService.java +++ b/src/main/java/com/bootcamp2018/service/OrderService.java @@ -1,32 +1,34 @@ package com.bootcamp2018.service; -import com.bootcamp2018.dto.OrderDTO; - +import com.bootcamp2018.model.Order; import java.util.ArrayList; -public class OrderService implements Service { +public class OrderService implements Service { + + @Override - public OrderDTO create(OrderDTO Object) { + public Order create(Order object) { return null; } @Override - public OrderDTO get(OrderDTO Object) { + public Order get(int id) { return null; } @Override - public ArrayList getList(OrderDTO Object) { + public ArrayList getList(int id) { return null; } @Override - public OrderDTO update(OrderDTO Object) { + public Order update(Order object) { return null; } @Override - public void delete(OrderDTO Object) { + public void delete(Order object) { } } + diff --git a/src/main/java/com/bootcamp2018/service/PaymentService.java b/src/main/java/com/bootcamp2018/service/PaymentService.java index 9fde3b3..5c4ff7b 100644 --- a/src/main/java/com/bootcamp2018/service/PaymentService.java +++ b/src/main/java/com/bootcamp2018/service/PaymentService.java @@ -1,32 +1,39 @@ package com.bootcamp2018.service; -import com.bootcamp2018.dto.PaymentDTO; +import com.bootcamp2018.dao.PaymentDAO; +import com.bootcamp2018.model.Payment; +import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; -public class PaymentService implements Service { + +public abstract class PaymentService implements Service { + @Autowired + private PaymentDAO paymentDAO; + @Override - public PaymentDTO create(PaymentDTO Object) { - return Object; + public Payment create(Payment object) { + return null; } @Override - public PaymentDTO get(PaymentDTO Object) { + public Payment get(int id) { return null; } @Override - public ArrayList getList(PaymentDTO Object) { + public ArrayList getList(int id) { return null; } @Override - public PaymentDTO update(PaymentDTO Object) { + public Payment update(Payment object) { return null; } @Override - public void delete(PaymentDTO Object) { + public void delete(Payment object) { } } + diff --git a/src/main/java/com/bootcamp2018/service/Service.java b/src/main/java/com/bootcamp2018/service/Service.java index 83a2fe4..c5eb886 100644 --- a/src/main/java/com/bootcamp2018/service/Service.java +++ b/src/main/java/com/bootcamp2018/service/Service.java @@ -5,9 +5,9 @@ public interface Service { T create(T object); - T get(T object); + T get(int id); - ArrayList getList(T object); + ArrayList getList(int id); T update(T object); diff --git a/src/main/java/com/bootcamp2018/util/DTOUtils.java b/src/main/java/com/bootcamp2018/util/DTOUtils.java index ca3d747..7e0d6c5 100644 --- a/src/main/java/com/bootcamp2018/util/DTOUtils.java +++ b/src/main/java/com/bootcamp2018/util/DTOUtils.java @@ -23,13 +23,13 @@ public static ClientDTO toClientDTO(Client client){ return respClientDTO; } - public static OrderDetailDTO toOrderDetailDTO(OrderDetail orderDetail){ + public static OrderDetailDTO toDiscountDTO(OrderDetail orderDetail){ OrderDetailDTO respOrderDetailDTO; respOrderDetailDTO = new OrderDetailDTO(orderDetail.getItem().getId(),orderDetail.getQuantity(),orderDetail.getPrice()); return respOrderDetailDTO; } - public static DiscountDTO toOrderDetailDTO(Discount discount){ + public static DiscountDTO toDiscountDTO(Discount discount){ DiscountDTO respDiscountDTO; respDiscountDTO = new DiscountDTO(discount.getId(),discount.getItem().getId(),discount.getQuantity(),discount.getPrice()); return respDiscountDTO; @@ -47,7 +47,7 @@ public static OrderDTO toOrderDTO(Order order){ ArrayList list = new ArrayList<>(); for (OrderDetail orderDetail: order.getOrderDetails() ) { - list.add(toOrderDetailDTO(orderDetail)); + list.add(toDiscountDTO(orderDetail)); } respOrderDTO = new OrderDTO(order.getId(),list); return respOrderDTO; From 331dec040b5a5d685a5dcec9bf331efaa34072e5 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Sat, 30 Jun 2018 02:32:32 -0300 Subject: [PATCH 16/19] with DTO and Model utils --- .../bootcamp2018/control/OrderControl.java | 26 +------------------ .../bootcamp2018/control/PaymentControl.java | 21 +++++++++++---- .../java/com/bootcamp2018/dao/ItemDAO.java | 4 +-- .../java/com/bootcamp2018/dao/PaymentDAO.java | 14 +++++++++- .../com/bootcamp2018/service/ItemService.java | 4 +-- .../bootcamp2018/service/PaymentService.java | 11 ++++---- .../com/bootcamp2018/service/Service.java | 2 +- 7 files changed, 40 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/bootcamp2018/control/OrderControl.java b/src/main/java/com/bootcamp2018/control/OrderControl.java index 9cc3888..14b6dfe 100644 --- a/src/main/java/com/bootcamp2018/control/OrderControl.java +++ b/src/main/java/com/bootcamp2018/control/OrderControl.java @@ -1,33 +1,9 @@ package com.bootcamp2018.control; -import com.bootcamp2018.dto.OrderDTO; - -import java.util.ArrayList; public class OrderControl { - public OrderDTO create(OrderDTO Object) { - return null; - } - - - public OrderDTO get(OrderDTO Object) { - return null; - } - - - public ArrayList getList(OrderDTO Object) { - return null; - } - - public OrderDTO update(OrderDTO Object) { - return null; - } - - - public void delete(OrderDTO Object) { - - } } + diff --git a/src/main/java/com/bootcamp2018/control/PaymentControl.java b/src/main/java/com/bootcamp2018/control/PaymentControl.java index d37873a..a8afc18 100644 --- a/src/main/java/com/bootcamp2018/control/PaymentControl.java +++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java @@ -1,6 +1,12 @@ package com.bootcamp2018.control; +import com.bootcamp2018.dao.PaymentDAO; import com.bootcamp2018.dto.PaymentDTO; +import com.bootcamp2018.model.Client; +import com.bootcamp2018.model.Payment; +import com.bootcamp2018.service.PaymentService; +import com.bootcamp2018.util.DTOUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; @@ -8,14 +14,19 @@ @RestController @RequestMapping("/payment") public class PaymentControl { + @Autowired + PaymentService ps; + + public PaymentDTO create(Payment object, Client client) { + PaymentDTO paymentDTO; + paymentDTO= DTOUtils.toPaymentDTO(ps.create(object,client.getId())); + return paymentDTO; - public PaymentDTO create(PaymentDTO Object) { - return Object; } - public PaymentDTO get(PaymentDTO Object) { + public PaymentDTO get(Payment Object) { return null; } @@ -29,7 +40,7 @@ public PaymentDTO update(PaymentDTO Object) { return null; } - public void delete(PaymentDTO Object) { - + public void delete(PaymentDTO object) { + ps.delete(object.getId()); } } diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index bed114c..a3f2b74 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -61,12 +61,12 @@ public Item retriveItem(int id) { } - public void deleteItem(Item item) { + public void deleteItem(int id) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("DELETE FROM item WHERE idItem = ?"); - pstmt.setInt(1, item.getId()); + pstmt.setInt(1, id); pstmt.executeUpdate(); pstmt.close(); } catch (Exception e) {} diff --git a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java index dd39b1f..9615041 100644 --- a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java +++ b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java @@ -3,10 +3,11 @@ import com.bootcamp2018.db.DBConnection; import com.bootcamp2018.model.Payment; +import org.springframework.stereotype.Repository; import java.sql.*; - +@Repository public class PaymentDAO { public Payment create(Payment payment,int idClient) { @@ -56,4 +57,15 @@ public Payment get(int idPayment){ return respPayment; } + + public void delete(int id) { + + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("DELETE FROM payment WHERE idPayment = ?"); + pstmt.setInt(1, id); + pstmt.executeUpdate(); + pstmt.close(); + } catch (Exception e) {} + } } diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java index fc29c45..572fe2a 100644 --- a/src/main/java/com/bootcamp2018/service/ItemService.java +++ b/src/main/java/com/bootcamp2018/service/ItemService.java @@ -50,9 +50,9 @@ public Item update(Item object) { } @Override - public void delete(Item object) { + public void delete(int id) { - itemDAO.deleteItem(object); + itemDAO.deleteItem(id); } } diff --git a/src/main/java/com/bootcamp2018/service/PaymentService.java b/src/main/java/com/bootcamp2018/service/PaymentService.java index 5c4ff7b..2629c6d 100644 --- a/src/main/java/com/bootcamp2018/service/PaymentService.java +++ b/src/main/java/com/bootcamp2018/service/PaymentService.java @@ -3,7 +3,6 @@ import com.bootcamp2018.dao.PaymentDAO; import com.bootcamp2018.model.Payment; import org.springframework.beans.factory.annotation.Autowired; - import java.util.ArrayList; @@ -11,9 +10,9 @@ public abstract class PaymentService implements Service { @Autowired private PaymentDAO paymentDAO; - @Override - public Payment create(Payment object) { - return null; + + public Payment create(Payment object, int idClient) { + return paymentDAO.create(object,idClient); } @Override @@ -32,8 +31,8 @@ public Payment update(Payment object) { } @Override - public void delete(Payment object) { - + public void delete(int id) { + paymentDAO.delete(id); } } diff --git a/src/main/java/com/bootcamp2018/service/Service.java b/src/main/java/com/bootcamp2018/service/Service.java index c5eb886..1751beb 100644 --- a/src/main/java/com/bootcamp2018/service/Service.java +++ b/src/main/java/com/bootcamp2018/service/Service.java @@ -11,5 +11,5 @@ public interface Service { T update(T object); - void delete(T object); + void delete(int id); } From 7d9e6253e96ad30f21a316568bbc610db48610cc Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Sat, 30 Jun 2018 02:36:02 -0300 Subject: [PATCH 17/19] with DTO and Model utils --- src/main/java/com/bootcamp2018/dao/ClientDAO.java | 10 +++------- src/main/java/com/bootcamp2018/dao/DiscountDAO.java | 6 +++--- .../java/com/bootcamp2018/service/ClientService.java | 4 ++-- .../java/com/bootcamp2018/service/DiscountService.java | 4 ++-- .../com/bootcamp2018/service/OrderDetailService.java | 2 +- .../java/com/bootcamp2018/service/OrderService.java | 3 ++- .../java/com/bootcamp2018/service/PaymentService.java | 2 +- 7 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/bootcamp2018/dao/ClientDAO.java b/src/main/java/com/bootcamp2018/dao/ClientDAO.java index f7cc905..03383f3 100644 --- a/src/main/java/com/bootcamp2018/dao/ClientDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ClientDAO.java @@ -73,19 +73,15 @@ public Client get(int id){ } - public Client delete(Client client) { + public void delete(int id) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("DELETE FROM client WHERE idClient = ?"); - pstmt.setInt(1, client.getId()); + pstmt.setInt(1, id); int resp = pstmt.executeUpdate(); - if (resp == 0) client = new Client(); + } catch (Exception e) { } - } catch (Exception e) { - client = new Client(); - } - return client; } public Client update(Client client) { diff --git a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java index b3e08f9..b04881e 100644 --- a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java +++ b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java @@ -85,11 +85,11 @@ public Discount update(Discount discount){ return respDiscount; } - public void delete(Discount discount) { + public void delete(int id) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("DELETE FROM Discount WHERE idItem = ?"); - pstmt.setInt(1, discount.getId()); + pstmt = con.prepareStatement("DELETE FROM Discount WHERE idDiscount = ?"); + pstmt.setInt(1, id); pstmt.executeUpdate(); pstmt.close(); } catch (Exception e) {} diff --git a/src/main/java/com/bootcamp2018/service/ClientService.java b/src/main/java/com/bootcamp2018/service/ClientService.java index d016143..1549e0c 100644 --- a/src/main/java/com/bootcamp2018/service/ClientService.java +++ b/src/main/java/com/bootcamp2018/service/ClientService.java @@ -42,8 +42,8 @@ public Client update(Client object) { } @Override - public void delete(Client object) { - clientDAO.delete(object); + public void delete(int id) { + clientDAO.delete(id); } //DTO class ver patron } diff --git a/src/main/java/com/bootcamp2018/service/DiscountService.java b/src/main/java/com/bootcamp2018/service/DiscountService.java index 20d7226..4758ff5 100644 --- a/src/main/java/com/bootcamp2018/service/DiscountService.java +++ b/src/main/java/com/bootcamp2018/service/DiscountService.java @@ -42,7 +42,7 @@ public Discount update(Discount object) { } @Override - public void delete(Discount object) { - dDAO.delete(object); + public void delete(int id) { + dDAO.delete(id); } } diff --git a/src/main/java/com/bootcamp2018/service/OrderDetailService.java b/src/main/java/com/bootcamp2018/service/OrderDetailService.java index 59aad80..904aa3f 100644 --- a/src/main/java/com/bootcamp2018/service/OrderDetailService.java +++ b/src/main/java/com/bootcamp2018/service/OrderDetailService.java @@ -35,7 +35,7 @@ public OrderDetail update(OrderDetail object) { } @Override - public void delete(OrderDetail object) { + public void delete(int id) { } } diff --git a/src/main/java/com/bootcamp2018/service/OrderService.java b/src/main/java/com/bootcamp2018/service/OrderService.java index 86f7c25..382a626 100644 --- a/src/main/java/com/bootcamp2018/service/OrderService.java +++ b/src/main/java/com/bootcamp2018/service/OrderService.java @@ -27,8 +27,9 @@ public Order update(Order object) { } @Override - public void delete(Order object) { + public void delete(int id) { } + } diff --git a/src/main/java/com/bootcamp2018/service/PaymentService.java b/src/main/java/com/bootcamp2018/service/PaymentService.java index 2629c6d..9ed4c9e 100644 --- a/src/main/java/com/bootcamp2018/service/PaymentService.java +++ b/src/main/java/com/bootcamp2018/service/PaymentService.java @@ -5,7 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; - +@org.springframework.stereotype.Service public abstract class PaymentService implements Service { @Autowired private PaymentDAO paymentDAO; From 6e38cf19ea95b7ee5921bdbaa51422b967e5c989 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Sat, 30 Jun 2018 02:44:37 -0300 Subject: [PATCH 18/19] with DTO and Model utils --- .../com/bootcamp2018/control/ItemControl.java | 2 +- .../bootcamp2018/control/PaymentControl.java | 36 +++++++++++++------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 7de310c..7c59b00 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -54,6 +54,6 @@ public ResponseEntity update(@RequestBody Item object) { @RequestMapping(value="/delete",method = RequestMethod.POST) public void delete(@RequestBody Item object) { - is.delete(object); + is.delete(object.getId()); } } diff --git a/src/main/java/com/bootcamp2018/control/PaymentControl.java b/src/main/java/com/bootcamp2018/control/PaymentControl.java index a8afc18..51fd9f6 100644 --- a/src/main/java/com/bootcamp2018/control/PaymentControl.java +++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java @@ -1,13 +1,19 @@ package com.bootcamp2018.control; import com.bootcamp2018.dao.PaymentDAO; +import com.bootcamp2018.dto.OrderDetailDTO; import com.bootcamp2018.dto.PaymentDTO; import com.bootcamp2018.model.Client; +import com.bootcamp2018.model.OrderDetail; import com.bootcamp2018.model.Payment; import com.bootcamp2018.service.PaymentService; import com.bootcamp2018.util.DTOUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; @@ -17,30 +23,38 @@ public class PaymentControl { @Autowired PaymentService ps; - public PaymentDTO create(Payment object, Client client) { + + @RequestMapping(value="/create",method = RequestMethod.PUT) + public ResponseEntity create(@RequestBody Payment object, @RequestBody Client client) { PaymentDTO paymentDTO; paymentDTO= DTOUtils.toPaymentDTO(ps.create(object,client.getId())); - return paymentDTO; + return new ResponseEntity<>(paymentDTO,HttpStatus.OK);; } + @RequestMapping(value="/get",method = RequestMethod.POST) + public ResponseEntity get(@RequestBody Payment Object) { + PaymentDTO paymentDTO; + paymentDTO= DTOUtils.toPaymentDTO(ps.get(Object.getId())); + return new ResponseEntity<>(paymentDTO,HttpStatus.OK);; - public PaymentDTO get(Payment Object) { - return null; } - - public ArrayList getList(PaymentDTO Object) { - return null; + @RequestMapping(value="/list",method = RequestMethod.POST) + public ResponseEntity> getList(@RequestBody Client object) { + ArrayList list = new ArrayList<>(); + for (Payment payment: ps.getList(object.getId()) + ) { + list.add(DTOUtils.toPaymentDTO(payment)); + } + return new ResponseEntity<>(list,HttpStatus.OK); } - public PaymentDTO update(PaymentDTO Object) { - return null; - } - public void delete(PaymentDTO object) { + @RequestMapping(value="/delete",method = RequestMethod.DELETE) + public void delete(@RequestBody PaymentDTO object) { ps.delete(object.getId()); } } From 49bf701aa11033f7d9a3329534b3af8656cee782 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Sat, 30 Jun 2018 02:44:56 -0300 Subject: [PATCH 19/19] with DTO and Model utils --- src/main/java/com/bootcamp2018/control/PaymentControl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/bootcamp2018/control/PaymentControl.java b/src/main/java/com/bootcamp2018/control/PaymentControl.java index 51fd9f6..7c4f93f 100644 --- a/src/main/java/com/bootcamp2018/control/PaymentControl.java +++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java @@ -28,7 +28,7 @@ public class PaymentControl { public ResponseEntity create(@RequestBody Payment object, @RequestBody Client client) { PaymentDTO paymentDTO; paymentDTO= DTOUtils.toPaymentDTO(ps.create(object,client.getId())); - return new ResponseEntity<>(paymentDTO,HttpStatus.OK);; + return new ResponseEntity<>(paymentDTO,HttpStatus.OK); } @@ -37,7 +37,7 @@ public ResponseEntity create(@RequestBody Payment object, @RequestBo public ResponseEntity get(@RequestBody Payment Object) { PaymentDTO paymentDTO; paymentDTO= DTOUtils.toPaymentDTO(ps.get(Object.getId())); - return new ResponseEntity<>(paymentDTO,HttpStatus.OK);; + return new ResponseEntity<>(paymentDTO,HttpStatus.OK); }