Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Hao-Hsiang Song
/
topics-auction
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Pipelines
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c51b3a02
authored
Nov 29, 2018
by
Bright Sukumpanumet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tons of changes. See Trello for details
parent
d835f0ae
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
283 additions
and
239 deletions
src/main/java/edu/uchicago/mpcs/topics/auction/Bid.java
src/main/java/edu/uchicago/mpcs/topics/auction/Item.java
src/main/java/edu/uchicago/mpcs/topics/auction/ItemCategory.java
src/main/java/edu/uchicago/mpcs/topics/auction/Listing.java
src/main/java/edu/uchicago/mpcs/topics/auction/Order.java
src/main/java/edu/uchicago/mpcs/topics/transaction/ShoppingCart.java → src/main/java/edu/uchicago/mpcs/topics/auction/ShoppingCart.java
src/main/java/edu/uchicago/mpcs/topics/auction/Status.java
src/main/java/edu/uchicago/mpcs/topics/controller/BiddingController.java
src/main/java/edu/uchicago/mpcs/topics/controller/CheckoutController.java
src/main/java/edu/uchicago/mpcs/topics/controller/ItemController.java
src/main/java/edu/uchicago/mpcs/topics/controller/SearchController.java
src/main/java/edu/uchicago/mpcs/topics/controller/ShoppingCartController.java
src/main/java/edu/uchicago/mpcs/topics/controller/itemCategoryController.java
src/main/java/edu/uchicago/mpcs/topics/db/ItemCategoryRepository.java
src/main/java/edu/uchicago/mpcs/topics/db/ListingDB.java
src/main/java/edu/uchicago/mpcs/topics/db/OrderRepository.java
src/main/java/edu/uchicago/mpcs/topics/db/ShoppingCartRepository.java
src/main/java/edu/uchicago/mpcs/topics/service/BidService.java
src/main/java/edu/uchicago/mpcs/topics/service/BiddingService.java
src/main/java/edu/uchicago/mpcs/topics/service/CheckoutService.java
src/main/java/edu/uchicago/mpcs/topics/service/ItemService.java
src/main/java/edu/uchicago/mpcs/topics/service/OrderService.java
src/main/java/edu/uchicago/mpcs/topics/service/SearchEngine.java
src/main/java/edu/uchicago/mpcs/topics/service/ShoppingCartService.java
src/main/java/edu/uchicago/mpcs/topics/transaction/Transaction.java
src/main/java/edu/uchicago/mpcs/topics/user/Buyer.java
src/main/java/edu/uchicago/mpcs/topics/auction/Bid.java
View file @
c51b3a02
...
...
@@ -21,6 +21,9 @@ public class Bid
private
Long
itemId
;
private
Date
time
;
private
Status
status
;
public
Bid
(){}
public
Bid
(
Long
userId
,
Double
amount
,
Long
itemId
,
Date
time
)
...
...
@@ -75,4 +78,14 @@ public class Bid
{
this
.
time
=
time
;
}
public
Status
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Status
status
)
{
this
.
status
=
status
;
}
}
src/main/java/edu/uchicago/mpcs/topics/auction/Item.java
View file @
c51b3a02
...
...
@@ -2,8 +2,6 @@ package edu.uchicago.mpcs.topics.auction;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
javax.persistence.*
;
import
java.util.Date
;
...
...
@@ -34,6 +32,9 @@ public class Item
private
String
photoUrl
;
private
Long
userId
;
//seller
private
Status
status
;
@ManyToMany
(
mappedBy
=
"items"
)
@JsonIgnore
private
Set
<
ShoppingCart
>
shopping_carts
=
new
HashSet
<>();
//must have the same name as the table
...
...
@@ -146,4 +147,14 @@ public class Item
shoppingCart
.
getItems
().
add
(
this
);
return
this
;
}
public
Status
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Status
status
)
{
this
.
status
=
status
;
}
}
src/main/java/edu/uchicago/mpcs/topics/auction/ItemCategory.java
View file @
c51b3a02
...
...
@@ -5,34 +5,35 @@ import javax.persistence.GeneratedValue;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
@Entity
public
class
ItemCategory
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
private
Long
I
temCategoryId
;
private
Long
i
temCategoryId
;
@Not
Blank
private
String
I
temCategoryName
;
@Not
Null
private
String
i
temCategoryName
;
public
ItemCategory
(
String
itemCategoryName
)
{
I
temCategoryName
=
itemCategoryName
;
i
temCategoryName
=
itemCategoryName
;
}
public
Long
getItemCategoryId
()
{
return
I
temCategoryId
;
return
i
temCategoryId
;
}
public
String
getItemCategoryName
()
{
return
I
temCategoryName
;
return
i
temCategoryName
;
}
public
void
setItemCategoryName
(
String
itemCategoryName
)
{
I
temCategoryName
=
itemCategoryName
;
i
temCategoryName
=
itemCategoryName
;
}
}
src/main/java/edu/uchicago/mpcs/topics/auction/Listing.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
auction
;
import
edu.uchicago.mpcs.topics.user.Seller
;
import
java.util.List
;
public
class
Listing
{
private
String
id
;
private
Item
item
;
private
ItemCategory
itemCategory
;
private
TimeTracker
timeTracker
;
private
Seller
owner
;
private
List
<
Bid
>
bids
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
Item
getItem
()
{
return
item
;
}
public
void
setItem
(
Item
item
)
{
this
.
item
=
item
;
}
public
ItemCategory
getItemCategory
()
{
return
itemCategory
;
}
public
void
setItemCategory
(
ItemCategory
itemCategory
)
{
this
.
itemCategory
=
itemCategory
;
}
public
TimeTracker
getTimeTracker
()
{
return
timeTracker
;
}
public
void
setTimeTracker
(
TimeTracker
timeTracker
)
{
this
.
timeTracker
=
timeTracker
;
}
public
Seller
getOwner
()
{
return
owner
;
}
public
void
setOwner
(
Seller
owner
)
{
this
.
owner
=
owner
;
}
public
List
<
Bid
>
getBids
()
{
return
bids
;
}
public
void
setBids
(
List
<
Bid
>
bids
)
{
this
.
bids
=
bids
;
}
}
src/main/java/edu/uchicago/mpcs/topics/auction/Order.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
auction
;
import
javax.persistence.Entity
;
import
javax.persistence.*
;
import
java.util.HashSet
;
import
java.util.Set
;
/**
* Created by Bright on 2018-11-27.
*/
@Entity
public
class
Order
{
@Id
private
Long
orderId
;
@ManyToMany
(
cascade
=
{
CascadeType
.
PERSIST
})
@JoinTable
(
name
=
"order_item"
,
joinColumns
=
@JoinColumn
(
name
=
"order_id"
,
referencedColumnName
=
"orderId"
),
inverseJoinColumns
=
@JoinColumn
(
name
=
"item_id"
,
referencedColumnName
=
"itemId"
))
private
Set
<
Item
>
items
=
new
HashSet
<>();
public
Order
()
{}
public
Order
(
Long
orderId
)
{
this
.
orderId
=
orderId
;
}
public
Set
<
Item
>
getItems
()
{
return
items
;
}
}
src/main/java/edu/uchicago/mpcs/topics/
transa
ction/ShoppingCart.java
→
src/main/java/edu/uchicago/mpcs/topics/
au
ction/ShoppingCart.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
transaction
;
import
edu.uchicago.mpcs.topics.auction.Item
;
package
edu
.
uchicago
.
mpcs
.
topics
.
auction
;
import
javax.persistence.*
;
import
java.util.HashSet
;
...
...
@@ -39,6 +37,17 @@ public class ShoppingCart
public
ShoppingCart
removeItem
(
Item
item
)
{
this
.
items
.
remove
(
item
);
item
.
getShopping_carts
().
remove
(
this
);
return
this
;
}
public
ShoppingCart
removeAllItems
()
{
for
(
Item
item
:
items
)
{
this
.
items
.
remove
(
item
);
item
.
getShopping_carts
().
remove
(
this
);
}
return
this
;
}
...
...
src/main/java/edu/uchicago/mpcs/topics/auction/Status.java
0 → 100644
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
auction
;
/**
* Created by Bright on 2018-11-29.
*/
public
enum
Status
{
ACTIVE
,
INACTIVE
,
FAILED
,
INAPPROPRIATE
,
COUNTERFEIT
,
SUSPENDED
,
DELETED
,
HASBID
}
src/main/java/edu/uchicago/mpcs/topics/controller/BiddingController.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.auction.Bid
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.user.User
;
public
interface
BiddingController
{
void
placeBid
(
Listing
listing
,
Bid
bid
);
void
buyNow
(
Listing
listing
,
ShoppingCart
shoppingCart
);
void
notifyUser
(
Listing
listing
,
User
user
);
void
createListing
(
Listing
listing
);
Listing
updateListing
(
Listing
listing
);
boolean
removeListing
(
Listing
listing
,
User
user
);
}
src/main/java/edu/uchicago/mpcs/topics/controller/CheckoutController.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.auction.Item
;
import
edu.uchicago.mpcs.topics.db.ShoppingCartRepository
;
import
edu.uchicago.mpcs.topics.service.ShoppingCartService
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.user.Buyer
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
"/checkout"
)
public
class
CheckoutController
{
private
ShoppingCartService
shoppingCartService
;
private
ShoppingCartRepository
shoppingCartRepository
;
public
CheckoutController
(
ShoppingCartService
shoppingCartService
,
ShoppingCartRepository
shoppingCartRepository
)
{
this
.
shoppingCartService
=
shoppingCartService
;
this
.
shoppingCartRepository
=
shoppingCartRepository
;
}
@GetMapping
(
"/{id}"
)
public
ShoppingCart
getShoppingCart
(
@PathVariable
Long
id
)
{
return
shoppingCartRepository
.
findById
(
id
).
orElse
(
null
);
}
@PostMapping
(
"/{id}/add_item"
)
//add item to cart
public
ShoppingCart
addItem
(
@PathVariable
Long
id
,
@RequestBody
Item
item
)
{
return
shoppingCartService
.
addItem
(
id
,
item
);
}
}
src/main/java/edu/uchicago/mpcs/topics/controller/ItemController.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.auction.Item
;
import
edu.uchicago.mpcs.topics.auction.Status
;
import
edu.uchicago.mpcs.topics.db.ItemRepository
;
import
edu.uchicago.mpcs.topics.service.ItemService
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -50,15 +51,21 @@ public class ItemController
return
itemService
.
addItem
(
item
);
}
@DeleteMapping
(
"/
remove
"
)
public
void
removeItem
(
@RequestBody
Item
item
)
//or change to item ID
@DeleteMapping
(
"/
{id}
"
)
public
Item
deleteItem
(
@PathVariable
Long
id
)
{
itemService
.
deleteItem
(
item
.
getItemId
()
);
return
itemService
.
deleteItem
(
id
);
}
@PutMapping
(
"/update"
)
public
void
updateItem
(
@RequestBody
Item
item
)
public
Item
updateItem
(
@RequestBody
Item
item
)
{
itemService
.
updateItem
(
item
);
return
itemRepository
.
save
(
item
);
}
@PostMapping
(
"/flag"
)
public
Item
flagItem
(
@RequestBody
Item
item
)
{
return
itemRepository
.
save
(
item
);
}
}
\ No newline at end of file
src/main/java/edu/uchicago/mpcs/topics/controller/SearchController.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.auction.ItemCategory
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
org.springframework.data.jpa.repository.Query
;
import
java.util.List
;
public
interface
SearchController
{
List
<
Listing
>
search
(
Query
query
);
List
<
Listing
>
search
(
ItemCategory
itemCategory
);
}
//package edu.uchicago.mpcs.topics.controller;
//
//import edu.uchicago.mpcs.topics.auction.ItemCategory;
//import org.springframework.data.jpa.repository.Query;
//
//
//import java.util.List;
//
//public interface SearchController {
// List<Listing> search(Query query);
// List<Listing> search(ItemCategory itemCategory);
//}
src/main/java/edu/uchicago/mpcs/topics/controller/ShoppingCartController.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.auction.Item
;
import
edu.uchicago.mpcs.topics.auction.Order
;
import
edu.uchicago.mpcs.topics.db.OrderRepository
;
import
edu.uchicago.mpcs.topics.db.ShoppingCartRepository
;
import
edu.uchicago.mpcs.topics.service.OrderService
;
import
edu.uchicago.mpcs.topics.service.ShoppingCartService
;
import
edu.uchicago.mpcs.topics.
transa
ction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.
au
ction.ShoppingCart
;
import
org.springframework.web.bind.annotation.*
;
/**
...
...
@@ -16,6 +19,8 @@ public class ShoppingCartController
{
private
ShoppingCartService
shoppingCartService
;
private
ShoppingCartRepository
shoppingCartRepository
;
private
OrderService
orderService
;
private
OrderRepository
orderRepository
;
public
ShoppingCartController
(
ShoppingCartService
shoppingCartService
,
ShoppingCartRepository
shoppingCartRepository
)
{
...
...
@@ -36,4 +41,18 @@ public class ShoppingCartController
{
return
shoppingCartService
.
addItem
(
id
,
item
);
}
@DeleteMapping
(
"/{id}/remove_item"
)
//remove item from cart
public
ShoppingCart
removeItem
(
@PathVariable
Long
id
,
@RequestBody
Item
item
)
{
return
shoppingCartService
.
removeItem
(
shoppingCartRepository
.
findById
(
id
).
orElse
(
null
),
item
);
}
@PostMapping
(
"/{id}/checkout"
)
public
Order
checkout
(
@PathVariable
Long
id
,
@RequestBody
Order
order
)
{
// save order (checkout) to db
shoppingCartService
.
checkout
(
shoppingCartRepository
.
findById
(
id
).
orElse
(
null
));
return
orderService
.
checkout
(
order
);
}
}
src/main/java/edu/uchicago/mpcs/topics/controller/itemCategoryController.java
0 → 100644
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.auction.Bid
;
import
edu.uchicago.mpcs.topics.auction.ItemCategory
;
import
edu.uchicago.mpcs.topics.db.ItemCategoryRepository
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by Bright on 2018-11-29.
*/
@RestController
@RequestMapping
(
"/category"
)
public
class
itemCategoryController
{
//repository
ItemCategoryRepository
itemCategoryRepository
;
public
itemCategoryController
(
ItemCategoryRepository
itemCategoryRepository
)
{
this
.
itemCategoryRepository
=
itemCategoryRepository
;
}
//get all category
@GetMapping
public
List
<
ItemCategory
>
getAllCategories
()
{
List
<
ItemCategory
>
categories
=
new
ArrayList
<>();
itemCategoryRepository
.
findAll
().
forEach
(
categories:
:
add
);
return
categories
;
}
//add category
@PostMapping
public
ItemCategory
addItemCategory
(
@RequestBody
ItemCategory
itemCategory
)
{
return
itemCategoryRepository
.
save
(
itemCategory
);
}
//remove category ...disable remove category because of possible consequences
// @DeleteMapping("/{id}")
// public void removeItemCategory(@PathVariable Long id)
// {
// itemCategoryRepository.deleteById(id);
// }
}
src/main/java/edu/uchicago/mpcs/topics/db/ItemCategoryRepository.java
0 → 100644
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
db
;
import
edu.uchicago.mpcs.topics.auction.ItemCategory
;
import
org.springframework.data.repository.CrudRepository
;
/**
* Created by Bright on 2018-11-29.
*/
public
interface
ItemCategoryRepository
extends
CrudRepository
<
ItemCategory
,
Long
>
{
}
src/main/java/edu/uchicago/mpcs/topics/db/ListingDB.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
db
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
java.util.List
;
public
interface
ListingDB
{
void
create
(
Listing
listing
);
List
<
Listing
>
getAll
(
Listing
listing
);
void
update
(
Listing
listing
);
}
src/main/java/edu/uchicago/mpcs/topics/db/OrderRepository.java
0 → 100644
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
db
;
import
edu.uchicago.mpcs.topics.auction.Order
;
import
org.springframework.data.repository.CrudRepository
;
/**
* Created by Bright on 2018-11-29.
*/
public
interface
OrderRepository
extends
CrudRepository
<
Order
,
Long
>
{
}
src/main/java/edu/uchicago/mpcs/topics/db/ShoppingCartRepository.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
db
;
import
edu.uchicago.mpcs.topics.
transa
ction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.
au
ction.ShoppingCart
;
import
org.springframework.data.repository.CrudRepository
;
/**
...
...
src/main/java/edu/uchicago/mpcs/topics/service/BidService.java
View file @
c51b3a02
...
...
@@ -2,6 +2,7 @@ package edu.uchicago.mpcs.topics.service;
import
edu.uchicago.mpcs.topics.auction.Bid
;
import
edu.uchicago.mpcs.topics.auction.Item
;
import
edu.uchicago.mpcs.topics.auction.Status
;
import
edu.uchicago.mpcs.topics.db.BidRepository
;
import
edu.uchicago.mpcs.topics.db.ItemRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -27,10 +28,20 @@ public class BidService
//update item current price
Item
itemToUpdate
=
itemRepository
.
findById
(
bid
.
getItemId
()).
orElse
(
null
);
itemToUpdate
.
setItemId
(
bid
.
getItemId
());
itemToUpdate
.
setCurrentPrice
(
bid
.
getAmount
());
itemRepository
.
save
(
itemToUpdate
);
return
bidRepository
.
save
(
bid
);
if
(
itemToUpdate
.
getCurrentPrice
()
<
bid
.
getAmount
())
{
itemToUpdate
.
setItemId
(
bid
.
getItemId
());
itemToUpdate
.
setCurrentPrice
(
bid
.
getAmount
());
itemRepository
.
save
(
itemToUpdate
);
bid
.
setStatus
(
Status
.
ACTIVE
);
return
bidRepository
.
save
(
bid
);
}
else
{
bid
.
setStatus
(
Status
.
FAILED
);
return
bidRepository
.
save
(
bid
);
}
}
}
src/main/java/edu/uchicago/mpcs/topics/service/BiddingService.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
service
;
import
edu.uchicago.mpcs.topics.auction.Bid
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.user.User
;
public
interface
BiddingService
{
void
placeBid
(
Listing
listing
,
Bid
bid
);
void
buyNow
(
Listing
listing
,
ShoppingCart
shoppingCart
);
void
notifyUser
(
Listing
listing
,
User
user
);
void
createListing
(
Listing
listing
);
Listing
updateListing
(
Listing
listing
);
boolean
removeListing
(
Listing
listing
,
User
user
);
}
src/main/java/edu/uchicago/mpcs/topics/service/CheckoutService.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
service
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.user.Buyer
;
public
interface
CheckoutService
{
void
manageShoppingCart
(
ShoppingCart
shoppingCart
);
void
checkout
(
Buyer
buyer
);
}
src/main/java/edu/uchicago/mpcs/topics/service/ItemService.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
service
;
import
edu.uchicago.mpcs.topics.auction.Item
;
import
edu.uchicago.mpcs.topics.auction.Status
;
import
edu.uchicago.mpcs.topics.db.ItemRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -32,9 +33,17 @@ public class ItemService
return
itemRepository
.
save
(
item
);
}
public
void
deleteItem
(
Long
id
)
public
Item
deleteItem
(
Long
id
)
{
itemRepository
.
deleteById
(
id
);
Item
itemToRemove
=
itemRepository
.
findById
(
id
).
orElse
(
null
);
// check if status is HASBID, if not then set it DELETED
if
(
itemToRemove
.
getStatus
()
!=
Status
.
HASBID
)
{
itemToRemove
.
setStatus
(
Status
.
DELETED
);
}
return
itemRepository
.
save
(
itemToRemove
);
}
public
void
updateItem
(
Item
item
)
...
...
src/main/java/edu/uchicago/mpcs/topics/service/OrderService.java
0 → 100644
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
service
;
import
edu.uchicago.mpcs.topics.auction.Item
;
import
edu.uchicago.mpcs.topics.auction.Order
;
import
edu.uchicago.mpcs.topics.auction.Status
;
import
edu.uchicago.mpcs.topics.db.ItemRepository
;
import
edu.uchicago.mpcs.topics.db.OrderRepository
;
import
org.springframework.stereotype.Service
;
/**
* Created by Bright on 2018-11-29.
*/
@Service
public
class
OrderService
{
private
OrderRepository
orderRepository
;
private
ItemRepository
itemRepository
;
public
OrderService
(
OrderRepository
orderRepository
,
ItemRepository
itemRepository
)
{
this
.
orderRepository
=
orderRepository
;
}
//create an order
public
Order
checkout
(
Order
order
)
{
//set item status as DELETED
for
(
Item
item
:
order
.
getItems
())
{
item
.
setStatus
(
Status
.
DELETED
);
itemRepository
.
save
(
item
);
}
return
orderRepository
.
save
(
order
);
}
}
src/main/java/edu/uchicago/mpcs/topics/service/SearchEngine.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
service
;
import
edu.uchicago.mpcs.topics.auction.ItemCategory
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
org.springframework.data.jpa.repository.Query
;
import
java.util.List
;
public
interface
SearchEngine
{
List
<
Listing
>
search
(
Query
query
);
List
<
Listing
>
search
(
ItemCategory
itemCategory
);
}
src/main/java/edu/uchicago/mpcs/topics/service/ShoppingCartService.java
View file @
c51b3a02
...
...
@@ -3,7 +3,7 @@ package edu.uchicago.mpcs.topics.service;
import
edu.uchicago.mpcs.topics.auction.Item
;
import
edu.uchicago.mpcs.topics.db.ItemRepository
;
import
edu.uchicago.mpcs.topics.db.ShoppingCartRepository
;
import
edu.uchicago.mpcs.topics.
transa
ction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.
au
ction.ShoppingCart
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -30,4 +30,18 @@ public class ShoppingCartService
return
shoppingCartRepository
.
save
(
shoppingCartToUpdate
);
}
//TODO: will it actually delete?
public
ShoppingCart
removeItem
(
ShoppingCart
shoppingCart
,
Item
item
)
{
shoppingCart
.
removeItem
(
item
);
return
shoppingCartRepository
.
save
(
shoppingCart
);
}
public
ShoppingCart
checkout
(
ShoppingCart
shoppingCart
)
{
//for each item in order delete item from shopping cart
return
shoppingCart
.
removeAllItems
();
}
}
\ No newline at end of file
src/main/java/edu/uchicago/mpcs/topics/transaction/Transaction.java
deleted
100644 → 0
View file @
d835f0ae
package
edu
.
uchicago
.
mpcs
.
topics
.
transaction
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
edu.uchicago.mpcs.topics.user.Buyer
;
public
class
Transaction
{
private
Listing
listing
;
private
Buyer
buyer
;
public
Listing
getListing
()
{
return
listing
;
}
public
void
setListing
(
Listing
listing
)
{
this
.
listing
=
listing
;
}
public
Buyer
getBuyer
()
{
return
buyer
;
}
public
void
setBuyer
(
Buyer
buyer
)
{
this
.
buyer
=
buyer
;
}
}
src/main/java/edu/uchicago/mpcs/topics/user/Buyer.java
View file @
c51b3a02
package
edu
.
uchicago
.
mpcs
.
topics
.
user
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
javax.persistence.Entity
;
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment