Skip to content

Commit

Permalink
Merge pull request #117 from sayingpotato/feat/update-InitDb(#78)
Browse files Browse the repository at this point in the history
add: add some dummy data using initDB (#78)
  • Loading branch information
sungjindev authored Oct 15, 2023
2 parents b40618e + ea15901 commit f83fdee
Showing 1 changed file with 95 additions and 1 deletion.
96 changes: 95 additions & 1 deletion src/main/java/iampotato/iampotato/InitDb.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,11 @@
import javax.annotation.PostConstruct;
import javax.persistence.EntityManager;
import java.time.LocalDateTime;
import java.time.Month;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;

@Component
@RequiredArgsConstructor
Expand Down Expand Up @@ -667,6 +670,30 @@ public void dbStores3() throws ParseException {
.price(10000)
.build();

Item item3 = Item.builder()
.store(store1)
.name("야채곱창")
.category(ItemCategory.PORK)
.img("http://dffdf2")
.price(9000)
.build();

Item item4 = Item.builder()
.store(store1)
.name("순대곱창")
.category(ItemCategory.PORK)
.img("http://dffdf2")
.price(10000)
.build();

Item item5 = Item.builder()
.store(store1)
.name("돼지껍데기")
.category(ItemCategory.PORK)
.img("http://dffdf2")
.price(7000)
.build();

ItemOption itemOption1 = ItemOption.builder()
.item(item1)
.name("중")
Expand All @@ -686,7 +713,7 @@ public void dbStores3() throws ParseException {
itemOptions.add(itemOption2);

item1.updateCollection(itemOptions);
Items items = new Items(item1, item2);
Items items = new Items(item1, item2, item3, item4, item5);

store1.updateCollection(storeOperationHours, storeImages, reviews, discounts, items);
em.persist(store1);
Expand Down Expand Up @@ -879,6 +906,73 @@ public void dbStores3() throws ParseException {

order4.updateCollection(orderItems4);


// Random 객체 생성
Random random = new Random();

// 5000에서 20000 사이의 랜덤한 값을 얻기
int minPrice = 5000;
int maxPrice = 40000;
int step = 1000;

// 1에서 4 사이의 랜덤한 사람 값을 얻기
int minPeople = 1;
int maxPeople = 4;

// 아이템 목록
List<Item> randomItems = new ArrayList<>();
randomItems.add(item1);
randomItems.add(item2);
randomItems.add(item3);
randomItems.add(item4);
randomItems.add(item5);

for(int i=0; i<1000; i++) {
// 2023년 10월 1일부터 2023년 10월 31일까지의 랜덤 시각 생성
int year = 2023;
int month = 10;
int day = random.nextInt(31) + 1; // 1부터 31 중 랜덤한 날짜 선택
int hour = random.nextInt(24); // 0부터 23 중 랜덤한 시간 선택
int minute = random.nextInt(60); // 0부터 59 중 랜덤한 분 선택
int second = random.nextInt(60); // 0부터 59 중 랜덤한 초 선택

LocalDateTime time = LocalDateTime.of(year, Month.of(month), day, hour, minute, second);

// 1000으로 나누어떨어지는 가격 난수 생성
int randomPrice = minPrice + step * random.nextInt((maxPrice - minPrice) / step + 1);

// 랜덤한 사람 수 생성
int randomPeople = minPeople + random.nextInt(maxPeople - minPeople + 1);

int price = randomPrice;
int people = randomPeople;

// 아이템 랜덤 선택
Item randomItem = randomItems.get(random.nextInt(randomItems.size()));

Order order5 = Order.builder()
.customer(customer)
.orderStatus(OrderStatus.FINISH)
.totalPrice(price)
.totalPeople(people)
.review(review3)
.createdDate(time)
.discountPrice(((int)Math.ceil(price*0.1)/100)*100)
.build();

OrderItem orderItem = OrderItem.builder()
.order(order5)
.item(randomItem)
.totalPrice(price)
.build();

List<OrderItem> orderItems1 = new ArrayList<>();
orderItems1.add(orderItem);

order5.updateCollection(orderItems1);
em.persist(order5);

}
em.persist(order1);
em.persist(order2);
em.persist(order3);
Expand Down

0 comments on commit f83fdee

Please sign in to comment.