44import io .crops .warmletter .domain .badword .dto .request .CreateBadWordRequest ;
55import io .crops .warmletter .domain .badword .dto .request .UpdateBadWordRequest ;
66import io .crops .warmletter .domain .badword .dto .request .UpdateBadWordStatusRequest ;
7+ import io .crops .warmletter .domain .badword .dto .response .BadWordResponse ;
78import io .crops .warmletter .domain .badword .dto .response .UpdateBadWordResponse ;
89import io .crops .warmletter .domain .badword .entity .BadWord ;
910import 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