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
e50f873f
authored
Nov 29, 2018
by
Rex Zhou
Browse files
Options
Browse Files
Download
Plain Diff
admin services
parents
ec21643a
c51b3a02
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
638 additions
and
316 deletions
pom.xml
src/main/java/edu/uchicago/mpcs/topics/Application.java
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/auction/ShoppingCart.java
src/main/java/edu/uchicago/mpcs/topics/auction/Status.java
src/main/java/edu/uchicago/mpcs/topics/controller/AdminController.java
src/main/java/edu/uchicago/mpcs/topics/controller/BidController.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/UserController.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/AdminService.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/ShoppingCartService.java
src/main/java/edu/uchicago/mpcs/topics/service/impl/BiddingServiceImpl.java
src/main/java/edu/uchicago/mpcs/topics/service/impl/UserServiceImpl.java
src/main/java/edu/uchicago/mpcs/topics/transaction/ShoppingCart.java
src/main/java/edu/uchicago/mpcs/topics/transaction/Transaction.java
src/main/java/edu/uchicago/mpcs/topics/user/Buyer.java
src/main/resources/application.properties
pom.xml
View file @
e50f873f
...
...
@@ -61,19 +61,17 @@
<artifactId>
junit-jupiter-api
</artifactId>
</dependency>
<dependency>
<groupId>
com.amazonaws
</groupId>
<artifactId>
DynamoDBLocal
</artifactId>
<version>
RELEASE
</version>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-websocket
</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>
dynamodb-local-oregon
</id>
<name>
DynamoDB Local Release Repository
</name>
<url>
https://s3-us-west-2.amazonaws.com/dynamodb-local/release
</url>
</repository>
</repositories>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-messaging
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
...
...
src/main/java/edu/uchicago/mpcs/topics/Application.java
View file @
e50f873f
...
...
@@ -53,16 +53,16 @@ public class Application {
// };
// }
@Bean
public
WebMvcConfigurer
corsConfigurer
()
{
return
new
WebMvcConfigurer
()
{
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
)
.
allowedOrigins
(
"http://localhost:3000"
)
.
allowedMethods
(
"GET"
,
"POST"
,
"PUT"
,
"DELETE"
);
}
};
}
//
@Bean
//
public WebMvcConfigurer corsConfigurer() {
//
return new WebMvcConfigurer() {
//
@Override
//
public void addCorsMappings(CorsRegistry registry) {
//
registry.addMapping("/**")
//
.allowedOrigins("http://localhost:3000")
//
.allowedMethods("GET", "POST","PUT", "DELETE");
//
}
//
};
//
}
}
// end::code[]
\ No newline at end of file
src/main/java/edu/uchicago/mpcs/topics/auction/Bid.java
View file @
e50f873f
...
...
@@ -16,11 +16,17 @@ public class Bid
@NotNull
private
Long
userId
;
private
Long
amount
;
private
String
itemId
;
private
Double
amount
;
private
Long
itemId
;
private
Date
time
;
public
Bid
(
Long
userId
,
Long
amount
,
String
itemId
,
Date
time
)
private
Status
status
;
public
Bid
(){}
public
Bid
(
Long
userId
,
Double
amount
,
Long
itemId
,
Date
time
)
{
this
.
userId
=
userId
;
this
.
amount
=
amount
;
...
...
@@ -43,22 +49,22 @@ public class Bid
this
.
userId
=
userId
;
}
public
Long
getAmount
()
public
Double
getAmount
()
{
return
amount
;
}
public
void
setAmount
(
Long
amount
)
public
void
setAmount
(
Double
amount
)
{
this
.
amount
=
amount
;
}
public
Stri
ng
getItemId
()
public
Lo
ng
getItemId
()
{
return
itemId
;
}
public
void
setItemId
(
Stri
ng
itemId
)
public
void
setItemId
(
Lo
ng
itemId
)
{
this
.
itemId
=
itemId
;
}
...
...
@@ -72,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 @
e50f873f
package
edu
.
uchicago
.
mpcs
.
topics
.
auction
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
javax.persistence.*
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.Set
;
@Entity
public
class
Item
...
...
@@ -20,9 +25,19 @@ public class Item
private
double
currentPrice
;
private
double
buyNowPrice
;
private
Date
startTime
;
//Start the auction when the current time matches the start time defined by the user
private
Date
endTime
;
//Allowing auction window to be set by the bidder, and begin countdown to the end of the bidding window once auction begins
@Column
(
length
=
2000
)
private
String
photoUrl
;
private
Long
userId
;
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
public
Item
()
{
...
...
@@ -44,6 +59,12 @@ public class Item
return
itemId
;
}
public
void
setItemId
(
Long
itemId
)
{
this
.
itemId
=
itemId
;
}
public
String
getTitle
()
{
return
title
;
...
...
@@ -113,4 +134,27 @@ public class Item
{
this
.
userId
=
userId
;
}
@JsonIgnore
public
Set
<
ShoppingCart
>
getShopping_carts
()
{
return
shopping_carts
;
}
public
Item
addShoppingCart
(
ShoppingCart
shoppingCart
)
{
this
.
shopping_carts
.
add
(
shoppingCart
);
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 @
e50f873f
...
...
@@ -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 @
ec21643a
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
0 → 100644
View file @
e50f873f
package
edu
.
uchicago
.
mpcs
.
topics
.
auction
;
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/auction/ShoppingCart.java
0 → 100644
View file @
e50f873f
package
edu
.
uchicago
.
mpcs
.
topics
.
auction
;
import
javax.persistence.*
;
import
java.util.HashSet
;
import
java.util.Set
;
@Entity
@Table
(
name
=
"shopping_cart"
)
public
class
ShoppingCart
{
@Id
private
Long
shoppingCartId
;
@ManyToMany
(
cascade
=
{
CascadeType
.
PERSIST
})
@JoinTable
(
name
=
"cart_item"
,
joinColumns
=
@JoinColumn
(
name
=
"cart_id"
,
referencedColumnName
=
"shoppingCartId"
),
inverseJoinColumns
=
@JoinColumn
(
name
=
"item_id"
,
referencedColumnName
=
"itemId"
))
private
Set
<
Item
>
items
=
new
HashSet
<>();
public
ShoppingCart
()
{}
public
ShoppingCart
(
Long
shoppingCartId
)
{
this
.
shoppingCartId
=
shoppingCartId
;
}
public
ShoppingCart
addItem
(
Item
item
)
{
this
.
items
.
add
(
item
);
item
.
getShopping_carts
().
add
(
this
);
return
this
;
}
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
;
}
public
Long
getShoppingCartId
()
{
return
shoppingCartId
;
}
public
Set
<
Item
>
getItems
()
{
return
items
;
}
}
src/main/java/edu/uchicago/mpcs/topics/auction/Status.java
0 → 100644
View file @
e50f873f
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/AdminController.java
View file @
e50f873f
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.service.AdminService
;
import
edu.uchicago.mpcs.topics.user.User
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* Created by Rex on 2018-11-19
*/
@RestController
@RequestMapping
(
"/user"
)
public
class
AdminController
{
@Autowired
private
AdminService
adminService
;
@GetMapping
(
"/list"
)
public
List
<
User
>
getAllUsers
()
{
return
adminService
.
getAllUsers
();
}
@PostMapping
(
"/add"
)
public
void
addUser
(
@RequestBody
User
user
)
{
adminService
.
addUser
(
user
);
}
@DeleteMapping
(
"/remove"
)
public
void
removeUser
(
@RequestBody
User
user
)
//or change to item ID
{
adminService
.
deleteUser
(
user
.
getUserId
());
}
@PutMapping
(
"/update"
)
public
void
updateUser
(
@RequestBody
User
user
)
{
adminService
.
updateUser
(
user
);
}
}
//
package edu.uchicago.mpcs.topics.controller;
//
//
import edu.uchicago.mpcs.topics.service.AdminService;
//
import edu.uchicago.mpcs.topics.user.User;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.web.bind.annotation.*;
//
//
import java.util.List;
//
/
//
**
//
* Created by Rex on 2018-11-19
//
*/
//
//
@RestController
//
@RequestMapping("/user")
//
public class AdminController {
//
//
@Autowired
//
private AdminService adminService;
//
//
@GetMapping("/list")
//
public List<User> getAllUsers()
//
{
//
return adminService.getAllUsers();
//
}
//
//
@PostMapping("/add")
//
public void addUser(@RequestBody User user)
//
{
//
adminService.addUser(user);
//
}
//
//
//
@DeleteMapping("/remove")
//
public void removeUser(@RequestBody User user) //or change to item ID
//
{
//
adminService.deleteUser(user.getUserId());
//
}
//
//
@PutMapping("/update")
//
public void updateUser(@RequestBody User user)
//
{
//
adminService.updateUser(user);
//
}
//
//
}
src/main/java/edu/uchicago/mpcs/topics/controller/BidController.java
View file @
e50f873f
...
...
@@ -19,8 +19,8 @@ public class BidController
private
BidService
bidService
;
@PostMapping
public
void
addItem
(
@RequestBody
Bid
bid
)
public
Bid
addBid
(
@RequestBody
Bid
bid
)
{
bidService
.
addBid
(
bid
);
return
bidService
.
addBid
(
bid
);
}
}
\ No newline at end of file
src/main/java/edu/uchicago/mpcs/topics/controller/BiddingController.java
deleted
100644 → 0
View file @
ec21643a
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 @
ec21643a
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.user.Buyer
;
public
interface
CheckoutController
{
void
manageShoppingCart
(
ShoppingCart
shoppingCart
);
void
checkout
(
Buyer
buyer
);
}
src/main/java/edu/uchicago/mpcs/topics/controller/ItemController.java
View file @
e50f873f
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.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
...
...
@@ -16,8 +17,14 @@ import java.util.Optional;
@RequestMapping
(
"/item"
)
public
class
ItemController
{
@Autowired
private
ItemService
itemService
;
private
ItemRepository
itemRepository
;
public
ItemController
(
ItemService
itemService
,
ItemRepository
itemRepository
)
{
this
.
itemService
=
itemService
;
this
.
itemRepository
=
itemRepository
;
}
@GetMapping
public
Optional
<
Item
>
getItem
(
@RequestBody
Item
item
)
...
...
@@ -25,27 +32,40 @@ public class ItemController
return
itemService
.
getItem
(
item
);
}
@GetMapping
(
"/{id}"
)
public
Item
getItem
(
@PathVariable
Long
id
)
{
return
itemRepository
.
findById
(
id
).
orElse
(
null
);
}
@GetMapping
(
"/list"
)
public
List
<
Item
>
getAllItems
()
{
return
itemService
.
getAllItems
();
}
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
//add new item
public
Item
addItem
(
@RequestBody
Item
item
)
{
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
)
{
return
itemRepository
.
save
(
item
);
}
@PostMapping
(
"/flag"
)
public
Item
flagItem
(
@RequestBody
Item
item
)
{
itemService
.
updateItem
(
item
);
return
itemRepository
.
save
(
item
);
}
}
\ No newline at end of file
src/main/java/edu/uchicago/mpcs/topics/controller/SearchController.java
View file @
e50f873f
<<<<<<<
HEAD
package
edu
.
uchicago
.
mpcs
.
topics
.
controller
;
import
edu.uchicago.mpcs.topics.auction.ItemCategory
;
...
...
@@ -12,3 +13,17 @@ public interface SearchController {
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);
//}
>>>>>>>
c51b3a02a6655c09eed52c7ca9c09fcc2327352a
src/main/java/edu/uchicago/mpcs/topics/controller/ShoppingCartController.java
0 → 100644
View file @
e50f873f
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.auction.ShoppingCart
;
import
org.springframework.web.bind.annotation.*
;
/**
* Created by Bright on 2018-11-26.
*/
@RestController
@RequestMapping
(
"/shoppingcart"
)
public
class
ShoppingCartController
{
private
ShoppingCartService
shoppingCartService
;
private
ShoppingCartRepository
shoppingCartRepository
;
private
OrderService
orderService
;
private
OrderRepository
orderRepository
;
public
ShoppingCartController
(
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
);
}
@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/UserController.java
View file @
e50f873f
//package edu.uchicago.mpcs.topics.controller;
//
<<<<<<<
HEAD
//import edu.uchicago.mpcs.topics.exceptions.UserAlreadyExistException;
//import edu.uchicago.mpcs.topics.exceptions.UserNotFoundException;
//
=======
//
//import edu.uchicago.mpcs.topics.exceptions.UserAlreadyExistException;
//import edu.uchicago.mpcs.topics.exceptions.UserNotFoundException;
>>>>>>>
c51b3a02a6655c09eed52c7ca9c09fcc2327352a
//import edu.uchicago.mpcs.topics.service.UserService;
//import edu.uchicago.mpcs.topics.user.User;
//import org.springframework.beans.factory.annotation.Autowired;
...
...
src/main/java/edu/uchicago/mpcs/topics/controller/itemCategoryController.java
0 → 100644
View file @
e50f873f
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 @
e50f873f
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 @
ec21643a
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 @
e50f873f
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
0 → 100644
View file @
e50f873f
package
edu
.
uchicago
.
mpcs
.
topics
.
db
;
import
edu.uchicago.mpcs.topics.auction.ShoppingCart
;
import
org.springframework.data.repository.CrudRepository
;
/**
* Created by Bright on 2018-11-26.
*/
public
interface
ShoppingCartRepository
extends
CrudRepository
<
ShoppingCart
,
Long
>
{
}
src/main/java/edu/uchicago/mpcs/topics/service/AdminService.java
View file @
e50f873f
<<<<<<<
HEAD
package
edu
.
uchicago
.
mpcs
.
topics
.
service
;
import
edu.uchicago.mpcs.topics.db.UserDB
;
...
...
@@ -49,3 +50,57 @@ public class AdminService {
}
}
=======
//package edu.uchicago.mpcs.topics.service;
//
//import edu.uchicago.mpcs.topics.db.UserRepository;
//import edu.uchicago.mpcs.topics.db.UserRepository;
//import edu.uchicago.mpcs.topics.user.User;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import java.util.List;
//import java.util.ArrayList;
//
///**
// * Modified by Rex on 2018-11-19
// */
//
//@Service
//public class AdminService {
//// void block(User user);
//// void remove(User user);
//// void suspend(User user);
//// void addCategory(ItemCategory itemCategory);
//// void modifyCategory(ItemCategory itemCategory);
//// void removeCategory(ItemCategory itemCategory);
//// void stopAuction(Listing listing, User user);
//// List<Listing> viewFlaggedItems();
//// List<Listing> viewInProgressItems();
//// List<Listing> viewClosed(Query query);
// @Autowired
// private UserRepository userDB;
//
// public List<User> getAllUsers()
// {
// List<User> users = new ArrayList<>();
// userDB.findAll().forEach(users::add);
// return users;
// }
//
// public void addUser(User user)
// {
// userDB.save(user);
// }
//
// public void deleteUser(String userId)
// {
// userDB.deleteById(userId);
// }
//
// public void updateUser(User user)
// {
// userDB.save(user);
// }
//
//}
>>>>>>>
c51b3a02a6655c09eed52c7ca9c09fcc2327352a
src/main/java/edu/uchicago/mpcs/topics/service/BidService.java
View file @
e50f873f
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
;
import
org.springframework.stereotype.Service
;
import
java.util.Optional
;
/**
* Created by Bright on 2018-11-18.
*/
...
...
@@ -14,9 +19,29 @@ public class BidService
{
@Autowired
private
BidRepository
bidRepository
;
@Autowired
private
ItemRepository
itemRepository
;
public
vo
id
addBid
(
Bid
bid
)
public
B
id
addBid
(
Bid
bid
)
{
bidRepository
.
save
(
bid
);
//update item current price
Item
itemToUpdate
=
itemRepository
.
findById
(
bid
.
getItemId
()).
orElse
(
null
);
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 @
ec21643a
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 @
ec21643a
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 @
e50f873f
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 @
e50f873f
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/ShoppingCartService.java
0 → 100644
View file @
e50f873f
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.auction.ShoppingCart
;
import
org.springframework.stereotype.Service
;
/**
* Created by Bright on 2018-11-26.
*/
@Service
public
class
ShoppingCartService
{
private
final
ShoppingCartRepository
shoppingCartRepository
;
private
final
ItemRepository
itemRepository
;
public
ShoppingCartService
(
ShoppingCartRepository
shoppingCartRepository
,
ItemRepository
itemRepository
)
{
this
.
shoppingCartRepository
=
shoppingCartRepository
;
this
.
itemRepository
=
itemRepository
;
}
public
ShoppingCart
addItem
(
Long
shoppingCartId
,
Item
item
)
{
ShoppingCart
shoppingCartToUpdate
=
shoppingCartRepository
.
findById
(
shoppingCartId
)
.
orElse
(
new
ShoppingCart
(
shoppingCartId
));
shoppingCartToUpdate
.
addItem
(
item
);
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/service/impl/BiddingServiceImpl.java
deleted
100644 → 0
View file @
ec21643a
package
edu
.
uchicago
.
mpcs
.
topics
.
service
.
impl
;
import
edu.uchicago.mpcs.topics.auction.Bid
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
edu.uchicago.mpcs.topics.service.BiddingService
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
edu.uchicago.mpcs.topics.user.User
;
/**
* Created by HSong on 2018/11/4.
*/
public
class
BiddingServiceImpl
implements
BiddingService
{
@Override
public
void
placeBid
(
Listing
listing
,
Bid
bid
)
{
}
@Override
public
void
buyNow
(
Listing
listing
,
ShoppingCart
shoppingCart
)
{
}
@Override
public
void
notifyUser
(
Listing
listing
,
User
user
)
{
}
@Override
public
void
createListing
(
Listing
listing
)
{
}
@Override
public
Listing
updateListing
(
Listing
listing
)
{
return
null
;
}
@Override
public
boolean
removeListing
(
Listing
listing
,
User
user
)
{
return
false
;
}
}
src/main/java/edu/uchicago/mpcs/topics/service/impl/UserServiceImpl.java
View file @
e50f873f
...
...
@@ -7,15 +7,21 @@
//import edu.uchicago.mpcs.topics.user.User;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
<<<<<<<
HEAD
//import lombok.extern.slf4j.Slf4j;
//
=======
>>>>>>>
c51b3a02a6655c09eed52c7ca9c09fcc2327352a
//
///**
// * Created by Rex on 2018-11-20
// */
//
//@Service
<<<<<<<
HEAD
//@Slf4j
=======
>>>>>>>
c51b3a02a6655c09eed52c7ca9c09fcc2327352a
//public class UserServiceImpl implements UserService {
//
// @Autowired
...
...
src/main/java/edu/uchicago/mpcs/topics/transaction/ShoppingCart.java
deleted
100644 → 0
View file @
ec21643a
package
edu
.
uchicago
.
mpcs
.
topics
.
transaction
;
import
edu.uchicago.mpcs.topics.auction.Listing
;
import
java.util.List
;
public
class
ShoppingCart
{
private
List
<
Listing
>
listings
;
public
List
<
Listing
>
getListings
()
{
return
listings
;
}
public
void
setListings
(
List
<
Listing
>
listings
)
{
this
.
listings
=
listings
;
}
}
src/main/java/edu/uchicago/mpcs/topics/transaction/Transaction.java
deleted
100644 → 0
View file @
ec21643a
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 @
e50f873f
package
edu
.
uchicago
.
mpcs
.
topics
.
user
;
import
edu.uchicago.mpcs.topics.transaction.ShoppingCart
;
import
javax.persistence.Entity
;
/**
...
...
src/main/resources/application.properties
View file @
e50f873f
spring.data.rest.base-path
=
/api
spring.h2.console.enabled
=
true
\ No newline at end of file
spring.h2.console.enabled
=
true
spring.jpa.hibernate.ddl-auto
=
update
spring.datasource.url
=
jdbc:h2:file:./target/h2db;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE
spring.datasource.driver-class-name
=
org.h2.Driver
\ No newline at end of file
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