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:
parent
276293ebe7
commit
c595560d82
@ -21,7 +21,7 @@ import java.util.Map;
|
|||||||
* - DELETE /api/admin/messages/{code} 삭제(locale 옵션) [ADMIN]
|
* - DELETE /api/admin/messages/{code} 삭제(locale 옵션) [ADMIN]
|
||||||
* - POST /api/messages/{code}/render {params:{...}} → 치환 문자열 [인증]
|
* - POST /api/messages/{code}/render {params:{...}} → 치환 문자열 [인증]
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController("sysMessageController")
|
||||||
public class MessageController {
|
public class MessageController {
|
||||||
|
|
||||||
private final MessageService service;
|
private final MessageService service;
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import java.util.regex.Pattern;
|
|||||||
* <p>렌더: template 의 {key} 를 params[key] 로 치환한다. 파라미터가 없으면 원본 {key} 를 유지하고(안전),
|
* <p>렌더: template 의 {key} 를 params[key] 로 치환한다. 파라미터가 없으면 원본 {key} 를 유지하고(안전),
|
||||||
* 값이 null 이면 빈 문자열로 치환한다. 알림/이메일(W10)·통지에서 {@link #render}/{@link #renderTemplate} 재사용.
|
* 값이 null 이면 빈 문자열로 치환한다. 알림/이메일(W10)·통지에서 {@link #render}/{@link #renderTemplate} 재사용.
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service("sysMessageService")
|
||||||
public class MessageService {
|
public class MessageService {
|
||||||
|
|
||||||
/** {key} — 영문/숫자/밑줄/점만 허용(중괄호 오탐 방지). */
|
/** {key} — 영문/숫자/밑줄/점만 허용(중괄호 오탐 방지). */
|
||||||
@ -21,9 +21,9 @@ public class MessageService {
|
|||||||
private static final String DEFAULT_TENANT = "KINTEX";
|
private static final String DEFAULT_TENANT = "KINTEX";
|
||||||
private static final String DEFAULT_LOCALE = "ko";
|
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;
|
this.mapper = mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,9 +7,10 @@ import java.util.Map;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 메시지 템플릿 매퍼(sys_message). 필터는 null-safe(값이 없으면 조건 무시) — <script> 미사용.
|
* 메시지 템플릿 매퍼(sys_message). 필터는 null-safe(값이 없으면 조건 무시) — <script> 미사용.
|
||||||
|
* <p>클래스명 Sys* 접두 — 기존 {@code work.message.MessageMapper} 와 MyBatis 매퍼 빈명 충돌 회피.
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface MessageMapper {
|
public interface SysMessageMapper {
|
||||||
|
|
||||||
@Select("SELECT msg_code AS \"msgCode\", locale, category, title, template, use_yn AS \"useYn\", "
|
@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 "
|
+ "to_char(updated_at,'YYYY-MM-DD\"T\"HH24:MI:SS') AS \"updatedAt\" FROM sys_message "
|
||||||
Loading…
Reference in New Issue
Block a user