Skip to content

Commit f2b61e9

Browse files
committed
feat: 금칙어 reponse값 데이터값으로 변경
1 parent fab8be9 commit f2b61e9

File tree

3 files changed

+16
-12
lines changed

3 files changed

+16
-12
lines changed

src/main/java/io/crops/warmletter/domain/badword/controller/BadWordController.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.crops.warmletter.domain.badword.dto.request.CreateBadWordRequest;
55
import io.crops.warmletter.domain.badword.dto.request.UpdateBadWordRequest;
66
import io.crops.warmletter.domain.badword.dto.request.UpdateBadWordStatusRequest;
7+
import io.crops.warmletter.domain.badword.dto.response.BadWordResponse;
78
import io.crops.warmletter.domain.badword.dto.response.UpdateBadWordResponse;
89
import io.crops.warmletter.domain.badword.service.BadWordService;
910
import io.crops.warmletter.global.response.BaseResponse;
@@ -28,9 +29,9 @@ public class BadWordController {
2829

2930
@PostMapping
3031
@Operation(summary = "금칙어 등록", description = "금칙어 등록하는 API입니다.")
31-
public ResponseEntity<BaseResponse<Void>> createBadWord(@RequestBody @Valid CreateBadWordRequest request) {
32-
badWordService.createBadWord(request);
33-
return ResponseEntity.ok(BaseResponse.of(null, "금칙어 등록완료"));
32+
public ResponseEntity<BaseResponse<BadWordResponse>> createBadWord(@RequestBody @Valid CreateBadWordRequest request) {
33+
BadWordResponse response = badWordService.createBadWord(request);
34+
return ResponseEntity.ok(BaseResponse.of(response, "금칙어 등록완료"));
3435
}
3536

3637
@PatchMapping("/{badWordId}/status")

src/main/java/io/crops/warmletter/domain/badword/dto/response/BadWordResponse.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ public class BadWordResponse {
1313
@Schema(description = "금지어 단어", example = "비속어")
1414
private String word;
1515

16-
@JsonProperty("isUsed")
1716
private boolean isUsed;
17+
18+
@JsonProperty("isUsed")
19+
public boolean isUsed() {
20+
return isUsed;
21+
}
1822
}

src/main/java/io/crops/warmletter/domain/badword/service/BadWordService.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.crops.warmletter.domain.badword.dto.request.CreateBadWordRequest;
55
import io.crops.warmletter.domain.badword.dto.request.UpdateBadWordRequest;
66
import io.crops.warmletter.domain.badword.dto.request.UpdateBadWordStatusRequest;
7+
import io.crops.warmletter.domain.badword.dto.response.BadWordResponse;
78
import io.crops.warmletter.domain.badword.dto.response.UpdateBadWordResponse;
89
import io.crops.warmletter.domain.badword.entity.BadWord;
910
import io.crops.warmletter.domain.badword.exception.BadWordContainsException;
@@ -33,7 +34,8 @@ public class BadWordService {
3334
private static final String BAD_WORD_PATTERN = "[^가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9\\s]";
3435

3536

36-
public void createBadWord(CreateBadWordRequest request) {
37+
@Transactional
38+
public BadWordResponse createBadWord(CreateBadWordRequest request) {
3739
String word = request.getWord();
3840

3941
boolean exists = badWordRepository.existsByWord(word);
@@ -46,10 +48,10 @@ public void createBadWord(CreateBadWordRequest request) {
4648
.isUsed(true)
4749
.build();
4850

49-
50-
badWordRepository.save(badWord);
51+
BadWord savedBadWord = badWordRepository.save(badWord);
5152

5253
redisTemplate.opsForHash().put(BAD_WORD_KEY, badWord.getId().toString(), word);
54+
return new BadWordResponse(savedBadWord.getId(), savedBadWord.getWord(), savedBadWord.isUsed());
5355
}
5456

5557

@@ -58,12 +60,9 @@ public void updateBadWordStatus(Long badWordId, UpdateBadWordStatusRequest reque
5860
BadWord badWord = badWordRepository.findById(badWordId)
5961
.orElseThrow(BadWordNotFoundException::new);
6062
badWord.updateStatus(request.isUsed());
63+
redisTemplate.opsForHash().delete(BAD_WORD_KEY,badWordId.toString(), badWord.getWord());
64+
redisTemplate.opsForHash().put(BAD_WORD_KEY,badWordId.toString(), badWord.getWord());
6165

62-
if (request.isUsed()) {
63-
redisTemplate.opsForHash().put(BAD_WORD_KEY,badWordId.toString(), badWord.getWord());
64-
} else {
65-
redisTemplate.opsForHash().delete(BAD_WORD_KEY,badWordId.toString(), badWord.getWord());
66-
}
6766
}
6867

6968
public List<Map<String, String>> getBadWords() {

0 commit comments

Comments
 (0)