Commit 04a5a97f by Hao-Hsiang Song

added DB layer

parent 0cc98b79
package edu.uchicago.mpcs.topics.auction; package edu.uchicago.mpcs.topics.auction;
import edu.uchicago.mpcs.topics.user.Buyer;
public class Bid { public class Bid {
private String id;
private Listing listing; private Listing listing;
private double price; private double price;
private Buyer buyer;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Listing getListing() {
return listing;
}
public void setListing(Listing listing) {
this.listing = listing;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Buyer getBuyer() {
return buyer;
}
public void setBuyer(Buyer buyer) {
this.buyer = buyer;
}
} }
...@@ -6,4 +6,19 @@ public class Item { ...@@ -6,4 +6,19 @@ public class Item {
private String title; private String title;
private URI image; private URI image;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public URI getImage() {
return image;
}
public void setImage(URI image) {
this.image = image;
}
} }
...@@ -5,9 +5,58 @@ import edu.uchicago.mpcs.topics.user.Seller; ...@@ -5,9 +5,58 @@ import edu.uchicago.mpcs.topics.user.Seller;
import java.util.List; import java.util.List;
public class Listing { public class Listing {
private String id;
private Item item; private Item item;
private ItemCategory itemCategory; private ItemCategory itemCategory;
private TimeTracker timeTracker; private TimeTracker timeTracker;
private Seller owner; private Seller owner;
private List<Bid> bids; 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;
}
} }
...@@ -7,4 +7,28 @@ public class TimeTracker { ...@@ -7,4 +7,28 @@ public class TimeTracker {
private Timer timer; private Timer timer;
private long timeWindow; private long timeWindow;
private Date start; private Date start;
public Timer getTimer() {
return timer;
}
public void setTimer(Timer timer) {
this.timer = timer;
}
public long getTimeWindow() {
return timeWindow;
}
public void setTimeWindow(long timeWindow) {
this.timeWindow = timeWindow;
}
public Date getStart() {
return start;
}
public void setStart(Date start) {
this.start = start;
}
} }
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);
}
package edu.uchicago.mpcs.topics.db;
import edu.uchicago.mpcs.topics.user.Admin;
import edu.uchicago.mpcs.topics.user.Buyer;
import edu.uchicago.mpcs.topics.user.CustomerSupport;
import edu.uchicago.mpcs.topics.user.Seller;
public interface UserDB {
void create(Admin admin);
void create(Seller seller);
void create(Buyer buyer);
void create(CustomerSupport customerSupport);
void block(Admin admin);
void block(Seller seller);
void block(Buyer buyer);
void block(CustomerSupport customerSupport);
}
package edu.uchicago.mpcs.topics.rest;
import edu.uchicago.mpcs.topics.support.Email;
import java.util.List;
public interface CustomerSupportController {
List<Email> viewCustomerEmails();
void reply(Email email);
}
...@@ -3,7 +3,6 @@ package edu.uchicago.mpcs.topics.service; ...@@ -3,7 +3,6 @@ package edu.uchicago.mpcs.topics.service;
import edu.uchicago.mpcs.topics.auction.ItemCategory; import edu.uchicago.mpcs.topics.auction.ItemCategory;
import edu.uchicago.mpcs.topics.auction.Listing; import edu.uchicago.mpcs.topics.auction.Listing;
import edu.uchicago.mpcs.topics.auction.Query; import edu.uchicago.mpcs.topics.auction.Query;
import edu.uchicago.mpcs.topics.support.Email;
import edu.uchicago.mpcs.topics.user.User; import edu.uchicago.mpcs.topics.user.User;
import java.util.List; import java.util.List;
...@@ -19,5 +18,4 @@ public interface AdminService { ...@@ -19,5 +18,4 @@ public interface AdminService {
List<Listing> viewFlaggedItems(); List<Listing> viewFlaggedItems();
List<Listing> viewInProgressItems(); List<Listing> viewInProgressItems();
List<Listing> viewClosed(Query query); List<Listing> viewClosed(Query query);
List<Email> viewCustomerEmails();
} }
package edu.uchicago.mpcs.topics.service;
import edu.uchicago.mpcs.topics.support.Email;
import java.util.List;
public interface CustomerSupportService {
List<Email> viewCustomerEmails();
void reply(Email email);
}
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;
}
}
...@@ -6,8 +6,49 @@ import edu.uchicago.mpcs.topics.user.User; ...@@ -6,8 +6,49 @@ import edu.uchicago.mpcs.topics.user.User;
* Created by HSong on 2018/11/4. * Created by HSong on 2018/11/4.
*/ */
public class Email { public class Email {
private String id;
private User from; private User from;
private User to; private User to;
private String subject; private String subject;
private String content; private String content;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public User getFrom() {
return from;
}
public void setFrom(User from) {
this.from = from;
}
public User getTo() {
return to;
}
public void setTo(User to) {
this.to = to;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
} }
...@@ -6,4 +6,12 @@ import java.util.List; ...@@ -6,4 +6,12 @@ import java.util.List;
public class ShoppingCart { public class ShoppingCart {
private List<Listing> listings; private List<Listing> listings;
public List<Listing> getListings() {
return listings;
}
public void setListings(List<Listing> listings) {
this.listings = listings;
}
} }
...@@ -6,4 +6,20 @@ import edu.uchicago.mpcs.topics.user.Buyer; ...@@ -6,4 +6,20 @@ import edu.uchicago.mpcs.topics.user.Buyer;
public class Transaction { public class Transaction {
private Listing listing; private Listing listing;
private Buyer buyer; 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;
}
} }
package edu.uchicago.mpcs.topics.user; package edu.uchicago.mpcs.topics.user;
public class User { public class User {
private String id;
private String password;
private String firstName;
private String lastName;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
} }
...@@ -5,5 +5,13 @@ import edu.uchicago.mpcs.topics.auction.Item; ...@@ -5,5 +5,13 @@ import edu.uchicago.mpcs.topics.auction.Item;
import java.util.List; import java.util.List;
public class WatchList { public class WatchList {
List<Item> items; private List<Item> items;
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment