diff --git a/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java b/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java index 3766983..395e943 100644 --- a/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java +++ b/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java @@ -3,7 +3,10 @@ package com.example.urbanbazaar.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.example.urbanbazaar.model.Cart; @@ -15,9 +18,24 @@ public class CartController { @Autowired public CartRepository repo; - @GetMapping("showCart/{userId}") + @GetMapping("/showCart/{userId}") public List showCartForUserId(int userId) { return repo.showCartForUserId(userId); } + + @PostMapping("/addCartItem") + public void addCartItemForUserId(@RequestBody Cart cartItem) { + repo.save(cartItem); + } + + @DeleteMapping("/deleteCartItem/{cart_id}") + public void deleteCartItemForUserId(int cart_id) { + repo.deleteById(cart_id); + } + + @DeleteMapping("/deleteAllCartItemsForUser/{userId}") + public void removeCartItemsForUser(int userId){ + repo.deleteAllCartItems(userId); + } } diff --git a/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java b/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java index 1eab2ca..5f0dc24 100644 --- a/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java +++ b/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/model/Cart.java @@ -13,6 +13,7 @@ public class Cart { private int userid; private int orderid; private String productname; + private int productprice; private int quantity; public Cart() {} @@ -48,6 +49,14 @@ public class Cart { public void setProductname(String productname) { this.productname = productname; } + + public int getProductprice() { + return productprice; + } + + public void setProductprice(int productprice) { + this.productprice = productprice; + } public int getQuantity() { return quantity; diff --git a/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/repository/CartRepository.java b/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/repository/CartRepository.java index 949741d..8afcd95 100644 --- a/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/repository/CartRepository.java +++ b/UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/repository/CartRepository.java @@ -11,4 +11,7 @@ public interface CartRepository extends JpaRepository { @Query(value="select * from cart where UserID=?1", nativeQuery=true) public List showCartForUserId(int userId); + + @Query(value="delete from cart where UserID=?1", nativeQuery=true) + public void deleteAllCartItems(int userId); } diff --git a/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/controller/OrderController.java b/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/controller/OrderController.java new file mode 100644 index 0000000..23ba804 --- /dev/null +++ b/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/controller/OrderController.java @@ -0,0 +1,68 @@ +package com.example.urbanbazaar.controller; + +import java.util.List; +import java.util.NoSuchElementException; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import com.example.urbanbazaar.model.Orders; +import com.example.urbanbazaar.repository.OrderRepository; + + +@RestController +public class OrderController { + + @Autowired + private OrderRepository repo; + + @PostMapping("/addOrder") + public void addOrders( @RequestBody Orders order) { + repo.save(order); + } + + @GetMapping("/findOrder/{id}") + public ResponseEntity findOrder(@PathVariable Integer id) { + + try { + Orders order = repo.findById(id).get(); + return new ResponseEntity(order,HttpStatus.OK); + } catch (NoSuchElementException e) { + return new ResponseEntity(HttpStatus.NOT_FOUND); + } + } + + @GetMapping("/findOrdersByUser/{id}") + public ResponseEntity> findOrderByUser(@PathVariable Integer id) { + + try { + List orders = repo.findByorderuserid(id); + return new ResponseEntity>(orders, HttpStatus.OK); + } catch (NoSuchElementException e) { + return new ResponseEntity>(HttpStatus.NOT_FOUND); + } + } + + @GetMapping("/trackOrder/{trackid}") + public ResponseEntity searchOrderByTrackingNumber(@PathVariable String trackid) + { + try { + Orders order = repo.findByTrackId(trackid); + return new ResponseEntity(order,HttpStatus.OK); + } catch (NoSuchElementException e) { + return new ResponseEntity(HttpStatus.NOT_FOUND); + } + } + + @GetMapping("/showAllOrders") + public List showAllOrders() + { + return repo.findAll(); + } +} diff --git a/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/model/Orders.java b/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/model/Orders.java new file mode 100644 index 0000000..c0d100e --- /dev/null +++ b/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/model/Orders.java @@ -0,0 +1,186 @@ +package com.example.urbanbazaar.model; + +import java.sql.Date; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "orders") +public class Orders { + + @Id + @GeneratedValue + private int orderid; + private int orderuserid; + private float orderamount; + private String ordershipaddress; + private String ordershipaddress2; + private String ordercity; + private String orderzip; + private String orderstate; + private String ordercountry; + private String orderphone; + private float ordershippingcost; + private float ordertax; + private String orderemail; + private Date orderdate; + private String ordershipped; + private String ordertrackingnumber; + + public int getOrderid() { + return orderid; + } + + public void setOrderid(int orderid) { + this.orderid = orderid; + } + + public int getOrderuserid() { + return orderuserid; + } + + public void setOrderuserid(int orderuserid) { + this.orderuserid = orderuserid; + } + + public float getOrderamount() { + return orderamount; + } + + public void setOrderamount(float orderamount) { + this.orderamount = orderamount; + } + + public String getOrdershipaddress() { + return ordershipaddress; + } + + public void setOrdershipaddress(String ordershipaddress) { + this.ordershipaddress = ordershipaddress; + } + + public String getOrdershipaddress2() { + return ordershipaddress2; + } + + public void setOrdershipaddress2(String ordershipaddress2) { + this.ordershipaddress2 = ordershipaddress2; + } + + public String getOrdercity() { + return ordercity; + } + + public void setOrdercity(String ordercity) { + this.ordercity = ordercity; + } + + public String getOrderzip() { + return orderzip; + } + + public void setOrderzip(String orderzip) { + this.orderzip = orderzip; + } + + public String getOrderstate() { + return orderstate; + } + + public void setOrderstate(String orderstate) { + this.orderstate = orderstate; + } + + public String getOrdercountry() { + return ordercountry; + } + + public void setOrdercountry(String ordercountry) { + this.ordercountry = ordercountry; + } + + public String getOrderphone() { + return orderphone; + } + + public void setOrderphone(String orderphone) { + this.orderphone = orderphone; + } + + public float getOrdershippingcost() { + return ordershippingcost; + } + + public void setOrdershippingcost(float ordershippingcost) { + this.ordershippingcost = ordershippingcost; + } + + public float getOrdertax() { + return ordertax; + } + + public void setOrdertax(float ordertax) { + this.ordertax = ordertax; + } + + public String getOrderemail() { + return orderemail; + } + + public void setOrderemail(String orderemail) { + this.orderemail = orderemail; + } + + public Date getOrderdate() { + return orderdate; + } + + public void setOrderdate(Date orderdate) { + this.orderdate = orderdate; + } + + public String getOrdershipped() { + return ordershipped; + } + + public void setOrdershipped(String ordershipped) { + this.ordershipped = ordershipped; + } + + public String getOrdertrackingnumber() { + return ordertrackingnumber; + } + + public void setOrdertrackingnumber(String ordertrackingnumber) { + this.ordertrackingnumber = ordertrackingnumber; + } + + public Orders(int orderid, int orderuserid, float orderamount, String ordershipaddress, String ordershipaddress2, + String ordercity, String orderzip, String orderstate, String ordercountry, String orderphone, + float ordershippingcost, float ordertax, String orderemail, Date orderdate, String ordershipped, + String ordertrackingnumber) { + this.orderid = orderid; + this.orderuserid = orderuserid; + this.orderamount = orderamount; + this.ordershipaddress = ordershipaddress; + this.ordershipaddress2 = ordershipaddress2; + this.ordercity = ordercity; + this.orderzip = orderzip; + this.orderstate = orderstate; + this.ordercountry = ordercountry; + this.orderphone = orderphone; + this.ordershippingcost = ordershippingcost; + this.ordertax = ordertax; + this.orderemail = orderemail; + this.orderdate = orderdate; + this.ordershipped = ordershipped; + this.ordertrackingnumber = ordertrackingnumber; + } + + public Orders() { + + } + +} diff --git a/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/repository/OrderRepository.java b/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/repository/OrderRepository.java new file mode 100644 index 0000000..8a99f49 --- /dev/null +++ b/UB_OrderServiceProxy/src/main/java/com/example/urbanbazaar/repository/OrderRepository.java @@ -0,0 +1,17 @@ +package com.example.urbanbazaar.repository; + +import java.util.List; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +import com.example.urbanbazaar.model.Orders; + +public interface OrderRepository extends JpaRepository { + + @Query("SELECT o FROM Orders o WHERE o.ordertrackingnumber=:id") + public Orders findByTrackId(@Param("id") String id); + + public List findByorderuserid(int id); +}