fix(system/message): avoid bean-name collision with existing work/message module

Existing com.zioinfo.kintex.work.message.{MessageController,MessageService,MessageMapper}
share default bean names with the new system/message beans, causing
ConflictingBeanDefinitionException at startup (health-check fail -> rollback).
- rename mapper interface MessageMapper -> SysMessageMapper (MyBatis bean name can't
  be overridden by annotation value)
- explicit bean names: @RestController("sysMessageController"), @Service("sysMessageService")
No request-path change (new: /api/admin/messages, /api/messages/{code}/render).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
zio 2026-07-12 21:51:24 +09:00
parent 276293ebe7
commit c595560d82
3 changed files with 6 additions and 5 deletions

View File

@ -21,7 +21,7 @@ import java.util.Map;
* - DELETE /api/admin/messages/{code} 삭제(locale 옵션) [ADMIN]
* - POST /api/messages/{code}/render {params:{...}} 치환 문자열 [인증]
*/
@RestController
@RestController("sysMessageController")
public class MessageController {
private final MessageService service;

View File

@ -13,7 +13,7 @@ import java.util.regex.Pattern;
* <p>렌더: template {key} params[key] 치환한다. 파라미터가 없으면 원본 {key} 유지하고(안전),
* 값이 null 이면 문자열로 치환한다. 알림/이메일(W10)·통지에서 {@link #render}/{@link #renderTemplate} 재사용.
*/
@Service
@Service("sysMessageService")
public class MessageService {
/** {key} — 영문/숫자/밑줄/점만 허용(중괄호 오탐 방지). */
@ -21,9 +21,9 @@ public class MessageService {
private static final String DEFAULT_TENANT = "KINTEX";
private static final String DEFAULT_LOCALE = "ko";
private final MessageMapper mapper;
private final SysMessageMapper mapper;
public MessageService(MessageMapper mapper) {
public MessageService(SysMessageMapper mapper) {
this.mapper = mapper;
}

View File

@ -7,9 +7,10 @@ import java.util.Map;
/**
* 메시지 템플릿 매퍼(sys_message). 필터는 null-safe(값이 없으면 조건 무시) &lt;script&gt; 미사용.
* <p>클래스명 Sys* 접두 기존 {@code work.message.MessageMapper} MyBatis 매퍼 빈명 충돌 회피.
*/
@Mapper
public interface MessageMapper {
public interface SysMessageMapper {
@Select("SELECT msg_code AS \"msgCode\", locale, category, title, template, use_yn AS \"useYn\", "
+ "to_char(updated_at,'YYYY-MM-DD\"T\"HH24:MI:SS') AS \"updatedAt\" FROM sys_message "