Skip to content

Commit ffb6200

Browse files
authored
Merge pull request #297 from EAT-SSU/feat/#296-nickname-migration
feat: ๋‹‰๋„ค์ž„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์šฉ ์ž„์‹œ API๊ตฌํ˜„
2 parents 6747b3d + 074c967 commit ffb6200

File tree

3 files changed

+50
-2
lines changed

3 files changed

+50
-2
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package ssu.eatssu.domain.admin.controller;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import org.springframework.transaction.annotation.Transactional;
5+
import org.springframework.web.bind.annotation.PostMapping;
6+
import org.springframework.web.bind.annotation.RequestMapping;
7+
import org.springframework.web.bind.annotation.ResponseBody;
8+
import org.springframework.web.bind.annotation.RestController;
9+
import ssu.eatssu.domain.auth.util.RandomNicknameUtil;
10+
import ssu.eatssu.domain.user.entity.User;
11+
import ssu.eatssu.domain.user.repository.UserRepository;
12+
import ssu.eatssu.global.handler.response.BaseResponse;
13+
14+
import java.util.List;
15+
16+
@RestController
17+
@RequestMapping("/admin/users")
18+
@RequiredArgsConstructor
19+
public class ManageUserController {
20+
21+
private final UserRepository userRepository;
22+
private final RandomNicknameUtil randomNicknameUtil;
23+
24+
@ResponseBody
25+
@PostMapping("/update-default-nicknames")
26+
@Transactional
27+
public BaseResponse<Integer> updateDefaultNicknames() {
28+
List<User> users = userRepository.findByNicknameLikeUserPattern();
29+
30+
int updatedCount = 0;
31+
for (User user : users) {
32+
String newNickname = randomNicknameUtil.generate();
33+
user.updateNickname(newNickname);
34+
updatedCount++;
35+
}
36+
37+
userRepository.saveAll(users);
38+
39+
return BaseResponse.success(updatedCount);
40+
}
41+
}
42+

โ€Žsrc/main/java/ssu/eatssu/domain/auth/util/RandomNicknameUtil.javaโ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class RandomNicknameUtil {
1212
"๋œ์ต์€", "์ž˜์ต์€", "ํƒ€๋ฒ„๋ฆฐ", "๋ฐ๋ฐํ•œ", "์งญ์งคํ•œ", "๋‹ฌ๋‹ฌํ•œ", "์”์“ธํ•œ", "๋งค์ฝคํ•œ", "์–ผํฐํ•œ", "๊ตฌ์ˆ˜ํ•œ",
1313
"์ƒˆ์ฝคํ•œ", "์ƒํผํ•œ", "๊ณ ์†Œํ•œ", "๋‹ด๋ฐฑํ•œ", "๋А๋ผํ•œ", "์ด‰์ด‰ํ•œ", "๋ฐ”์‚ญํ•œ", "์ซ„๊นƒํ•œ", "๊พธ๋•ํ•œ", "์ง„ํ•œ",
1414
"๊น”๋”ํ•œ", "์‹œ์›ํ•œ", "์€์€ํ•œ", "์ค‘๋…์ ์ธ", "ํ™”๋ˆํ•œ", "๊ฐ์น ํ•œ", "๊ฐœ์šดํ•œ", "์‚ด์งํƒ„", "๋ถ€๋“œ๋Ÿฌ์šด", "ํ–ฅ๊ธ‹ํ•œ",
15-
"์ž๊ทน์ ์ธ", "์‚ฐ๋œปํ•œ", "์ง™์€", "์ง„๋“ํ•œ", "๊ธฐ๋ฆ„์ง„", "์ด‰์ด‰ํ•œ", "์‚ด์ง๋งค์šด", "์€๊ทผํ•œ", "์Œ‰์Œ€ํ•œ", "๋”ฐ๋œปํ•œ",
15+
"์ž๊ทน์ ์ธ", "์‚ฐ๋œปํ•œ", "์ง™์€", "์ง„๋“ํ•œ", "๊ธฐ๋ฆ„์ง„", "์‚ด์ง๋งค์šด", "์€๊ทผํ•œ", "์Œ‰์Œ€ํ•œ", "๋”ฐ๋œปํ•œ", "์‹์–ด๋ฒ„๋ฆฐ",
1616
"๋”ฐ๋ˆํ•œ", "์‹œํผํ•œ", "๊ณ ๊ธ‰์ง„", "์ •๊ฒจ์šด", "์นœ์ˆ™ํ•œ", "ํˆฌ๋ฐ•ํ•œ", "์†Œ๋ฐ•ํ•œ", "์ง ๋‚ด๋‚˜๋Š”", "์‹ฌ์‹ฌํ•œ", "๋ฌต์งํ•œ",
1717
"ํฌ๊ทผํ•œ", "ํ†ตํ†ตํ•œ", "๋ง๋ž‘ํ•œ", "ํญ์‹ ํ•œ", "๋ชฝ๊ธ€ํ•œ", "๋ณด๋“คํ•œ", "๊ผฌ์ˆฉํ•œ", "๋‹ฌ์ฝคํ•œ", "์ซ€๋“ํ•œ", "๋„ํ†ฐํ•œ",
1818
"๋ถ€๋“คํ•œ", "๊ท€์—ฌ์šด", "ํƒฑ๊ธ€ํ•œ", "ํฌ์Šฌํ•œ", "๋ง์บ‰ํ•œ", "๋ณด์†กํ•œ", "ํƒฑํƒฑํ•œ", "๋ณด๋“œ๋ผ์šด", "์‚ด์ง๋‹จ", "์ˆœํ•œ",
@@ -26,7 +26,7 @@ public class RandomNicknameUtil {
2626
"๋ณถ์Œ๊น€์น˜","์•ผ์ฑ„ํ”ผํด","๋‚˜์ฃผ๊ณฐํƒ•","๊ฐˆ๋น„ํƒ•","๋™ํƒœ์ „","๋–ก๊ฐˆ๋น„์กฐ๋ฆผ","์น ๋ฆฌํƒ•์ˆ˜์œก","์†Œ๊ณ ๊ธฐ๊ตญ๋ฐฅ","์ฝฉ๋‚˜๋ฌผ๋ฐฅ","๊ณ ๊ตฌ๋งˆ๋ง›ํƒ•",
2727
"๊ณ„๋ž€์ฐœ","ํ•œ์‹์žก์ฑ„","์น˜ํ‚จ๋„ˆ๊ฒŸ","ํƒ€์ฝ”์•ผ๋ผ","๋น„์—”๋‚˜๋ณถ์Œ","๋–ก๋ณถ์ด","๋‘๋ถ€์žฅ๊ตญ","๋™์ง€์ฃฝ","๊ฐ๊ทค","์•ผ์ฑ„ํŠ€๊น€",
2828
"๋ฏธ๋‹ˆ์šฐ๋™","์ฑ ์Šˆ๋ฎ๋ฐฅ","๊ฐ€์ธ ๋™","์ƒˆ์šฐํŠ€๊น€","ํƒ•์ˆ˜์œก๊ฐ•์ •","๋‘๋ถ€์กฐ๋ฆผ","๋ถ€์ถ”์ „","๊ฒ€์ •์ฝฉ๋ฐฅ","๋ง๊ณ ์ƒ๋Ÿฌ๋“œ","๋น„๋น”๋งŒ๋‘",
29-
"๋น„๋น”๋ฐฅ","๋‹ญ๋ณถ์Œํƒ•","์ˆ˜์ˆ˜๋ฐฅ","์Ÿ๋ฐ˜์งœ์žฅ","๊น๋‘๊ธฐ","๋ณถ์Œ๊น€์น˜","์—ฐ๊ทผ์กฐ๋ฆผ","๋ฉธ์น˜๋ณถ์Œ","์˜ค์ด์ƒ์ฑ„","๊ฐ์ž์กฐ๋ฆผ",
29+
"๋น„๋น”๋ฐฅ","๋‹ญ๋ณถ์Œํƒ•","์ˆ˜์ˆ˜๋ฐฅ","์Ÿ๋ฐ˜์งœ์žฅ","๊น๋‘๊ธฐ","์—ฐ๊ทผ์กฐ๋ฆผ","๋ฉธ์น˜๋ณถ์Œ","์˜ค์ด์ƒ์ฑ„","๊ฐ์ž์กฐ๋ฆผ", "์ˆœ๋Œ€๋ณถ์Œ",
3030
"์ˆœ๋Œ€๊ตญ๋ฐฅ","ํ•ซ๋„๊ทธ","์†Œ๋–ก์†Œ๋–ก","๋งŒ๋‘๋ผ๋ฉด","์ฐฐํ‘๋ฏธ๋ฐฅ","์ฐจ์กฐ๋ฐฅ","ํ•ด๋ฌผ์žก์ฑ„","์žฅ์–ด๋ฎ๋ฐฅ","๋น„๋น”๊ตญ์ˆ˜","๊น€๋ง์ด",
3131
"๋‹ญ๊ณฐํƒ•","์šฐ๋ถˆ๊ณ ๊ธฐ","๋”ธ๊ธฐ์ฟ ํ‚ค","์น˜ํ‚จํ…๋”","๋ƒ‰๋ฉ”๋ฐ€๊ตญ์ˆ˜","๊ฐ€์“ฐ์˜ค์žฅ๊ตญ","๊ฐ„์งœ์žฅ๋ฐฅ","๋ฌผ๋งŒ๋‘๊ตญ","์˜ค์ดํ”ผํด","๋ฌผ๋งŒ๋‘์ฐœ",
3232
"์นด๋ ˆ๋ผ์ด์Šค","์–ผํฐ๊น€์น˜๊ตญ","๊ตฐ๋งŒ๋‘","์—ฐ๋‘๋ถ€","๊ฐ€์ž๋ฏธํŠ€๊น€","์–‘์žฅํ”ผ","๋น„๋น”์ซ„๋ฉด","๋งŒ๋‘์ „๊ณจ","๋น„๋น”๋ง‰๊ตญ์ˆ˜","๋ฒ„์„ฏ๋ถˆ๊ณ ๊ธฐ",

โ€Žsrc/main/java/ssu/eatssu/domain/user/repository/UserRepository.javaโ€Ž

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package ssu.eatssu.domain.user.repository;
22

33
import org.springframework.data.jpa.repository.JpaRepository;
4+
import org.springframework.data.jpa.repository.Query;
5+
import org.springframework.data.repository.query.Param;
46
import ssu.eatssu.domain.user.entity.User;
57

8+
import java.util.List;
69
import java.util.Optional;
710

811
public interface UserRepository extends JpaRepository<User, Long> {
@@ -15,4 +18,7 @@ public interface UserRepository extends JpaRepository<User, Long> {
1518
Optional<User> findByProviderId(String providerId);
1619

1720
Optional<User> findByNickname(String nickname);
21+
22+
@Query(value = "SELECT * FROM user WHERE nickname REGEXP '^user-.{4}$'", nativeQuery = true)
23+
List<User> findByNicknameLikeUserPattern();
1824
}

0 commit comments

Comments
ย (0)