diff --git a/src/main/java/com/itn/admin/itn/mjon/spam/service/impl/SpamServiceImpl.java b/src/main/java/com/itn/admin/itn/mjon/spam/service/impl/SpamServiceImpl.java index 46a66f0..ed97956 100644 --- a/src/main/java/com/itn/admin/itn/mjon/spam/service/impl/SpamServiceImpl.java +++ b/src/main/java/com/itn/admin/itn/mjon/spam/service/impl/SpamServiceImpl.java @@ -9,6 +9,7 @@ import com.itn.admin.itn.mjon.spam.mapper.domain.SpamVO; import com.itn.admin.itn.mjon.spam.service.SpamService; import jakarta.servlet.ServletOutputStream; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.stereotype.Service; @@ -122,15 +123,15 @@ public class SpamServiceImpl implements SpamService { // 키워드를 버튼용 배열로 변환 for (SpamVO spam : spamList) { - if (spam.getKeywords() != null) { + if (StringUtils.isNotEmpty(spam.getKeywords())) { spam.setKeywordList(Arrays.asList(spam.getKeywords().split(", "))); } - if (spam.getChcKeywords() != null) { + if (StringUtils.isNotEmpty(spam.getChcKeywords())) { spam.setChcKeywordList(Arrays.asList(spam.getChcKeywords().split(", "))); } } - List rsnCode02List = new ArrayList<>(); +// List rsnCode02List = new ArrayList<>(); // 키워드를 버튼용 배열로 변환 for (SpamVO spam : spamList) { if (spam.getSpamRsnCode01() != null) { diff --git a/src/main/java/com/itn/admin/itn/mjon/spam/web/RestSpamController.java b/src/main/java/com/itn/admin/itn/mjon/spam/web/RestSpamController.java index faa61ba..f954a58 100644 --- a/src/main/java/com/itn/admin/itn/mjon/spam/web/RestSpamController.java +++ b/src/main/java/com/itn/admin/itn/mjon/spam/web/RestSpamController.java @@ -5,6 +5,7 @@ import com.itn.admin.itn.code.mapper.domain.CodeDetailVO; import com.itn.admin.itn.mjon.spam.service.SpamService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -12,6 +13,10 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RestController; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; + @Slf4j @RestController public class RestSpamController { @@ -32,6 +37,13 @@ public class RestSpamController { // 키워드 -> 핵심키워드 :: keywords -> chc_keywords @PutMapping("/mjon/spam/chcKeyword/{spamId}/{word}") public ResponseEntity updateChcKeyword(@PathVariable String spamId, @PathVariable String word) { + /* try { + String decodedWord = URLDecoder.decode(word, StandardCharsets.UTF_8.toString()); + return ResponseEntity.ok().body(spamService.updateChcKeyword(spamId, decodedWord)); + } catch (UnsupportedEncodingException e) { + // 디코딩에 실패할 경우, 적절한 오류 응답을 보냅니다. + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new RestResponse("Invalid encoding")); + }*/ return ResponseEntity.ok().body(spamService.updateChcKeyword(spamId, word)); } diff --git a/src/main/resources/static/dist/js/demo.js b/src/main/resources/static/dist/js/demo.js index dc3dfe1..cd6bbad 100644 --- a/src/main/resources/static/dist/js/demo.js +++ b/src/main/resources/static/dist/js/demo.js @@ -524,12 +524,16 @@ $main_header.addClass(color) }) - var active_navbar_color = null - $('.main-header')[0].classList.forEach(function (className) { - if (navbar_all_colors.indexOf(className) > -1 && active_navbar_color === null) { - active_navbar_color = className.replace('navbar-', 'bg-') - } - }) + var active_navbar_color = null; + var mainHeader = document.querySelector('.main-header'); + + if (mainHeader) { + mainHeader.classList.forEach(function (className) { + if (navbar_all_colors.indexOf(className) > -1 && active_navbar_color === null) { + active_navbar_color = className.replace('navbar-', 'bg-'); + } + }); + } $navbar_variants_colors.find('option.' + active_navbar_color).prop('selected', true) $navbar_variants_colors.removeClass().addClass('custom-select mb-3 text-light border-0 ').addClass(active_navbar_color) @@ -557,12 +561,17 @@ $body.addClass(accent_color_class) }, true)) - var active_accent_color = null - $('body')[0].classList.forEach(function (className) { - if (accent_colors.indexOf(className) > -1 && active_accent_color === null) { - active_accent_color = className.replace('navbar-', 'bg-') - } - }) + var active_accent_color = null; + var bodyElement = document.querySelector('body'); + + if (bodyElement) { + bodyElement.classList.forEach(function (className) { + if (accent_colors.indexOf(className) > -1 && active_accent_color === null) { + active_accent_color = className.replace('navbar-', 'bg-'); + } + }); + } + // $accent_variants.find('option.' + active_accent_color).prop('selected', true) // $accent_variants.removeClass().addClass('custom-select mb-3 text-light border-0 ').addClass(active_accent_color) diff --git a/src/main/resources/templates/fragments/header.html b/src/main/resources/templates/fragments/header.html index b8ebe94..cb2739d 100644 --- a/src/main/resources/templates/fragments/header.html +++ b/src/main/resources/templates/fragments/header.html @@ -53,7 +53,7 @@ - + @@ -71,9 +71,9 @@ - + - + diff --git a/src/main/resources/templates/mjon/spam/select.html b/src/main/resources/templates/mjon/spam/select.html index 93cb338..d57f251 100644 --- a/src/main/resources/templates/mjon/spam/select.html +++ b/src/main/resources/templates/mjon/spam/select.html @@ -122,7 +122,7 @@ - 스팸문자 내용 + 스팸문자 내용