Skip to content

Commit 06042ad

Browse files
authored
Merge pull request #263 from UMC-Closit/feat/#262-battle-dummy
feat: 배틀 더미 데이터 생성
2 parents df20516 + c3a74b0 commit 06042ad

5 files changed

Lines changed: 365 additions & 0 deletions

File tree

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
package UMC_7th.Closit.domain.battle.repository.init;
2+
3+
import UMC_7th.Closit.domain.battle.entity.Battle;
4+
import UMC_7th.Closit.domain.battle.entity.enums.BattleStatus;
5+
import UMC_7th.Closit.domain.battle.repository.BattleRepository;
6+
import UMC_7th.Closit.domain.post.entity.Post;
7+
import UMC_7th.Closit.domain.post.repository.PostRepository;
8+
import UMC_7th.Closit.global.apiPayload.code.status.ErrorStatus;
9+
import UMC_7th.Closit.global.apiPayload.exception.GeneralException;
10+
import UMC_7th.Closit.global.util.DummyDataInit;
11+
import lombok.RequiredArgsConstructor;
12+
import lombok.extern.slf4j.Slf4j;
13+
import org.springframework.boot.ApplicationArguments;
14+
import org.springframework.boot.ApplicationRunner;
15+
import org.springframework.core.annotation.Order;
16+
17+
import java.time.LocalDateTime;
18+
import java.util.ArrayList;
19+
import java.util.List;
20+
21+
@Slf4j
22+
@RequiredArgsConstructor
23+
@Order(2)
24+
@DummyDataInit
25+
public class BattleInit implements ApplicationRunner {
26+
27+
private final PostRepository postRepository;
28+
private final BattleRepository battleRepository;
29+
30+
@Override
31+
public void run(ApplicationArguments args) {
32+
if (battleRepository.count() > 0) {
33+
log.info("[Battle] 더미 데이터 존재");
34+
} else {
35+
saveBattle();
36+
}
37+
}
38+
39+
private void saveBattle() {
40+
Post post1 = postRepository.findById(1L)
41+
.orElseThrow(() -> new GeneralException(ErrorStatus.POST_NOT_FOUND));
42+
43+
Post post2 = postRepository.findById(2L)
44+
.orElseThrow(() -> new GeneralException(ErrorStatus.POST_NOT_FOUND));
45+
46+
Post post3 = postRepository.findById(3L)
47+
.orElseThrow(() -> new GeneralException(ErrorStatus.POST_NOT_FOUND));
48+
49+
List<Battle> battles = new ArrayList<>();
50+
51+
Battle battle1 = Battle.builder()
52+
.post1(post1)
53+
.post2(post2)
54+
.firstVotingCnt(10)
55+
.secondVotingCnt(2)
56+
.likeCount(5)
57+
.viewCount(60)
58+
.title("제목1")
59+
.description("설명1")
60+
.deadline(LocalDateTime.now().plusDays(3L))
61+
.battleStatus(BattleStatus.ACTIVE)
62+
.build();
63+
64+
Battle battle2 = Battle.builder()
65+
.post1(post3)
66+
.post2(post2)
67+
.firstVotingCnt(1)
68+
.secondVotingCnt(5)
69+
.likeCount(1)
70+
.viewCount(10)
71+
.title("제목2")
72+
.description("설명2")
73+
.deadline(LocalDateTime.now().plusDays(3L))
74+
.battleStatus(BattleStatus.ACTIVE)
75+
.build();
76+
77+
Battle battle3 = Battle.builder()
78+
.post1(post1)
79+
.firstVotingCnt(0)
80+
.secondVotingCnt(0)
81+
.likeCount(0)
82+
.viewCount(0)
83+
.title("제목3")
84+
.description("설명3")
85+
.battleStatus(BattleStatus.INACTIVE)
86+
.build();
87+
88+
Battle battle4 = Battle.builder()
89+
.post1(post1)
90+
.post2(post3)
91+
.firstVotingCnt(10)
92+
.secondVotingCnt(6)
93+
.likeCount(10)
94+
.viewCount(60)
95+
.title("제목4")
96+
.description("설명4")
97+
.deadline(LocalDateTime.now())
98+
.battleStatus(BattleStatus.COMPLETED)
99+
.build();
100+
101+
battles.add(battle1);
102+
battles.add(battle2);
103+
battles.add(battle3);
104+
battles.add(battle4);
105+
106+
battleRepository.saveAll(battles);
107+
}
108+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package UMC_7th.Closit.domain.battle.repository.init;
2+
3+
import UMC_7th.Closit.domain.battle.entity.Battle;
4+
import UMC_7th.Closit.domain.battle.entity.ChallengeBattle;
5+
import UMC_7th.Closit.domain.battle.entity.enums.ChallengeStatus;
6+
import UMC_7th.Closit.domain.battle.repository.BattleRepository;
7+
import UMC_7th.Closit.domain.battle.repository.ChallengeBattleRepository;
8+
import UMC_7th.Closit.domain.post.entity.Post;
9+
import UMC_7th.Closit.domain.post.repository.PostRepository;
10+
import UMC_7th.Closit.global.apiPayload.code.status.ErrorStatus;
11+
import UMC_7th.Closit.global.apiPayload.exception.GeneralException;
12+
import UMC_7th.Closit.global.util.DummyDataInit;
13+
import lombok.RequiredArgsConstructor;
14+
import lombok.extern.slf4j.Slf4j;
15+
import org.springframework.boot.ApplicationArguments;
16+
import org.springframework.boot.ApplicationRunner;
17+
import org.springframework.core.annotation.Order;
18+
19+
import java.util.ArrayList;
20+
import java.util.List;
21+
22+
@Slf4j
23+
@RequiredArgsConstructor
24+
@Order(3)
25+
@DummyDataInit
26+
public class ChallengeBattleInit implements ApplicationRunner {
27+
28+
private final PostRepository postRepository;
29+
private final BattleRepository battleRepository;
30+
private final ChallengeBattleRepository challengeBattleRepository;
31+
32+
@Override
33+
public void run(ApplicationArguments args) {
34+
if (challengeBattleRepository.count() > 0) {
35+
log.info("[ChallengeBattle] 더미 데이터 존재");
36+
} else {
37+
saveChallengeBattle();
38+
}
39+
}
40+
41+
private void saveChallengeBattle() {
42+
Post post1 = postRepository.findById(2L)
43+
.orElseThrow(() -> new GeneralException(ErrorStatus.POST_NOT_FOUND));
44+
45+
Post post2 = postRepository.findById(3L)
46+
.orElseThrow(() -> new GeneralException(ErrorStatus.POST_NOT_FOUND));
47+
48+
Battle battle1 = battleRepository.findById(2L)
49+
.orElseThrow(() -> new GeneralException(ErrorStatus.BATTLE_NOT_FOUND));
50+
51+
Battle battle2 = battleRepository.findById(3L)
52+
.orElseThrow(() -> new GeneralException(ErrorStatus.BATTLE_NOT_FOUND));
53+
54+
55+
List<ChallengeBattle> challengeBattles = new ArrayList<>();
56+
57+
ChallengeBattle challengeBattle1 = ChallengeBattle.builder()
58+
.battle(battle2)
59+
.post(post2)
60+
.challengeStatus(ChallengeStatus.PENDING)
61+
.build();
62+
63+
ChallengeBattle challengeBattle2 = ChallengeBattle.builder()
64+
.battle(battle1)
65+
.post(post1)
66+
.challengeStatus(ChallengeStatus.REJECTED)
67+
.build();
68+
69+
ChallengeBattle challengeBattle3 = ChallengeBattle.builder()
70+
.battle(battle1)
71+
.post(post2)
72+
.challengeStatus(ChallengeStatus.ACCEPTED)
73+
.build();
74+
75+
challengeBattles.add(challengeBattle1);
76+
challengeBattles.add(challengeBattle2);
77+
challengeBattles.add(challengeBattle3);
78+
79+
challengeBattleRepository.saveAll(challengeBattles);
80+
}
81+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
package UMC_7th.Closit.domain.post.repository.init;
2+
3+
import UMC_7th.Closit.domain.post.entity.Post;
4+
import UMC_7th.Closit.domain.post.entity.Visibility;
5+
import UMC_7th.Closit.domain.post.repository.PostRepository;
6+
import UMC_7th.Closit.domain.user.entity.User;
7+
import UMC_7th.Closit.domain.user.repository.UserRepository;
8+
import UMC_7th.Closit.global.apiPayload.code.status.ErrorStatus;
9+
import UMC_7th.Closit.global.apiPayload.exception.GeneralException;
10+
import UMC_7th.Closit.global.util.DummyDataInit;
11+
import lombok.RequiredArgsConstructor;
12+
import lombok.extern.slf4j.Slf4j;
13+
import org.springframework.boot.ApplicationArguments;
14+
import org.springframework.boot.ApplicationRunner;
15+
import org.springframework.core.annotation.Order;
16+
17+
import java.util.ArrayList;
18+
import java.util.List;
19+
20+
@Slf4j
21+
@RequiredArgsConstructor
22+
@Order(1)
23+
@DummyDataInit
24+
public class PostInit implements ApplicationRunner {
25+
26+
private final UserRepository userRepository;
27+
private final PostRepository postRepository;
28+
29+
@Override
30+
public void run(ApplicationArguments args) {
31+
if (postRepository.count() > 0) {
32+
log.info("[Post] 더미 데이터 존재");
33+
} else {
34+
savePost();
35+
}
36+
}
37+
38+
private void savePost() {
39+
User user1 = userRepository.findById(1L)
40+
.orElseThrow(() -> new GeneralException(ErrorStatus.USER_NOT_FOUND));
41+
42+
User user2 = userRepository.findById(2L)
43+
.orElseThrow(() -> new GeneralException(ErrorStatus.USER_NOT_FOUND));
44+
45+
List<Post> posts = new ArrayList<>();
46+
47+
Post post1 = Post.builder()
48+
.user(user1)
49+
.frontImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/post/front/60c0b9af-3fad-48e0-b46e-889dd264eac0.jpg")
50+
.backImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/post/back/579aa421-4f0f-4eae-bc4c-d3cf3570f8df.jpg")
51+
.pointColor("#ddffdd")
52+
.isMission(true)
53+
.visibility(Visibility.PUBLIC)
54+
.view(0)
55+
.build();
56+
57+
Post post2 = Post.builder()
58+
.user(user2)
59+
.frontImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/post/front/60c0b9af-3fad-48e0-b46e-889dd264eac0.jpg")
60+
.backImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/post/back/579aa421-4f0f-4eae-bc4c-d3cf3570f8df.jpg")
61+
.pointColor("#ddffff")
62+
.isMission(false)
63+
.visibility(Visibility.PUBLIC)
64+
.view(5)
65+
.build();
66+
67+
Post post3 = Post.builder()
68+
.user(user1)
69+
.frontImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/post/front/60c0b9af-3fad-48e0-b46e-889dd264eac0.jpg")
70+
.backImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/post/back/579aa421-4f0f-4eae-bc4c-d3cf3570f8df.jpg")
71+
.pointColor("#ddffff")
72+
.isMission(false)
73+
.visibility(Visibility.PUBLIC)
74+
.view(3)
75+
.build();
76+
77+
posts.add(post1);
78+
posts.add(post2);
79+
posts.add(post3);
80+
81+
postRepository.saveAll(posts);
82+
}
83+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package UMC_7th.Closit.domain.user.repository.init;
2+
3+
import UMC_7th.Closit.domain.user.entity.Role;
4+
import UMC_7th.Closit.domain.user.entity.User;
5+
import UMC_7th.Closit.domain.user.repository.UserRepository;
6+
import UMC_7th.Closit.global.util.DummyDataInit;
7+
import lombok.RequiredArgsConstructor;
8+
import lombok.extern.slf4j.Slf4j;
9+
import org.springframework.boot.ApplicationArguments;
10+
import org.springframework.boot.ApplicationRunner;
11+
import org.springframework.core.annotation.Order;
12+
13+
import java.time.LocalDate;
14+
import java.util.ArrayList;
15+
import java.util.List;
16+
17+
@Slf4j
18+
@RequiredArgsConstructor
19+
@Order(0)
20+
@DummyDataInit
21+
public class UserInit implements ApplicationRunner {
22+
23+
private final UserRepository userRepository;
24+
25+
@Override
26+
public void run(ApplicationArguments args) {
27+
if (userRepository.count() > 0) {
28+
log.info("[User] 더미 데이터 존재");
29+
} else {
30+
saveUser();
31+
}
32+
}
33+
34+
private void saveUser() {
35+
List<User> users = new ArrayList<>();
36+
37+
User user1 = User.builder()
38+
.name("dummy1")
39+
.clositId("dummy1")
40+
41+
.password("123456")
42+
.profileImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/default-user-profile.png")
43+
.isWithdrawn(false)
44+
.birth(LocalDate.EPOCH)
45+
.role(Role.USER)
46+
.countReport(0)
47+
.build();
48+
49+
User user2 = User.builder()
50+
.name("dummy2")
51+
.clositId("dummy2")
52+
53+
.password("123456")
54+
.profileImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/default-user-profile.png")
55+
.isWithdrawn(false)
56+
.birth(LocalDate.EPOCH)
57+
.role(Role.USER)
58+
.countReport(0)
59+
.build();
60+
61+
User user3 = User.builder()
62+
.name("dummy3")
63+
.clositId("dummy3")
64+
65+
.password("123456")
66+
.profileImage("https://closit-bucket.s3.ap-northeast-2.amazonaws.com/default-user-profile.png")
67+
.isWithdrawn(false)
68+
.birth(LocalDate.EPOCH)
69+
.role(Role.USER)
70+
.countReport(0)
71+
.build();
72+
73+
users.add(user1);
74+
users.add(user2);
75+
users.add(user3);
76+
77+
userRepository.saveAll(users);
78+
}
79+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package UMC_7th.Closit.global.util;
2+
3+
import org.springframework.stereotype.Component;
4+
import org.springframework.transaction.annotation.Transactional;
5+
6+
import java.lang.annotation.*;
7+
8+
@Documented
9+
@Target(ElementType.TYPE)
10+
@Retention(RetentionPolicy.RUNTIME)
11+
@Transactional
12+
@Component
13+
public @interface DummyDataInit {
14+
}

0 commit comments

Comments
 (0)