packagecom.example.goguma;
importcom.example.goguma.model.Post;
importcom.example.goguma.model.PostImg;
importcom.example.goguma.model.User;
importcom.example.goguma.service.ChatService;
importcom.example.goguma.service.OrderService;
importlombok.RequiredArgsConstructor;
importorg.springframework.security.crypto.password.PasswordEncoder;
importorg.springframework.stereotype.Component;
importorg.springframework.transaction.annotation.Transactional;
importjavax.annotation.PostConstruct;
importjavax.persistence.EntityManager;
@Component
@RequiredArgsConstructor
public classinitDB{
private finalEntityManagerem;
private finalInitServiceinitService;
@PostConstruct
public void init() {
initService.dbInit();
}
@Component
@Transactional
@RequiredArgsConstructor
static classInitService{
private finalEntityManagerem;
private finalPasswordEncoderpasswordEncoder;
private finalChatServicechatService;
private finalOrderServiceorderService;
public void dbInit() {
Stringpw = passwordEncoder.encode("aaaa");
Useruser1 = new User("user1", pw, "호구마", "서울시 중구 뭐동");
Useruser2 = new User("user2", pw, "고냥이", "서울시 중구 뭐동");
Useruser3 = new User("user3", pw, "스마일", "서울시 중구 뭐동");
em.persist(user1);
em.persist(user2);
em.persist(user3);
em.flush();
em.clear();
Postpost1 = new Post("title1", 1000, "content1", "서울 강남구 신사동 537-5", "2022-6-30 ~2022-7-4");
post1.addUser(user1);
Postpost2 = new Post("title2", 2000, "content2", "서울 강남구 신사동 537-5","2022-6-30 ~2022-7-4");
post2.addUser(user2);
Postpost3 = new Post("title3", 2000, "content2", "서울 강남구 신사동 537-5", "2022-6-30 ~2022-7-4");
post3.addUser(user3);
em.persist(post1);
em.persist(post2);
em.persist(post3);
em.flush();
em.clear();
PostImgpostImg1 = new PostImg("<https://opgg-com-image.akamaized.net/attach/images/20200415055358.1141863.jpg>");
postImg1.addPost(post1);
PostImgpostImg2 = new PostImg("<http://50.76.59.227/files/testing_image.jpg>");
postImg2.addPost(post1);
PostImgpostImg3 = new PostImg("<https://helpx.adobe.com/content/dam/help/en/photoshop/how-to/compositing/jcr%3acontent/main-pars/image/compositing_1408x792.jpg>");
postImg3.addPost(post2);
PostImgpostImg4 = new PostImg("<https://helpx.adobe.com/content/dam/help/en/photoshop/how-to/compositing/jcr%3acontent/main-pars/image/compositing_1408x792.jpg>");
postImg4.addPost(post3);
em.persist(postImg1);
em.persist(postImg2);
em.persist(postImg3);
em.persist(postImg4);
em.flush();
em.clear();
StringroomId = chatService.createRoom(user2, post1.getId());
chatService.createRoom(user3, post1.getId());
orderService.order(roomId);
}
}
}