From 68e1c5b8851ab429d062322125e84d952e4a8e83 Mon Sep 17 00:00:00 2001 From: k0081915 Date: Mon, 26 Jan 2026 02:35:54 +0900 Subject: [PATCH 1/3] =?UTF-8?q?UPLUS-132=20feat:=20=ED=85=9C=ED=94=8C?= =?UTF-8?q?=EB=A6=BF,=20=EC=B4=88=EA=B8=B0=20=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/project/mock/init/MockDataInit.java | 7 ++++- src/main/resources/templates/email.html | 27 ++++++++++++------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/project/mock/init/MockDataInit.java b/src/main/java/com/project/mock/init/MockDataInit.java index bec0182..d64ff2a 100644 --- a/src/main/java/com/project/mock/init/MockDataInit.java +++ b/src/main/java/com/project/mock/init/MockDataInit.java @@ -108,10 +108,15 @@ public void init() { 75,000원 - 부가 서비스 + 부가 서비스 V 컬러링 3,300원 + + 넷플릭스 + + 3,300원 + 할인 선택약정 할인 diff --git a/src/main/resources/templates/email.html b/src/main/resources/templates/email.html index b4789c4..26ac025 100644 --- a/src/main/resources/templates/email.html +++ b/src/main/resources/templates/email.html @@ -61,7 +61,6 @@

청구 정보

청구 날짜: 2023년 11월 15일

납기일: 2023년 11월 30일

-

결제 방법: 신용카드 (KB국민카드)

@@ -92,16 +91,26 @@

요금 상세 내역

+ + + + 요금제 + - - 기본 요금 - 프리미엄 5G 100GB - - 65,000원 - + + 5G 스탠다드 + + + 3,300원 + + + From 755239698ddafd3798824c56bca46ac8e1b3d7e4 Mon Sep 17 00:00:00 2001 From: k0081915 Date: Mon, 26 Jan 2026 11:31:46 +0900 Subject: [PATCH 2/3] =?UTF-8?q?UPLUS-132=20chore:=20=EC=B4=88=EA=B8=B0=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=83=9D=EC=84=B1=20X?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/project/mock/init/MockDataInit.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/project/mock/init/MockDataInit.java b/src/main/java/com/project/mock/init/MockDataInit.java index d64ff2a..90e5277 100644 --- a/src/main/java/com/project/mock/init/MockDataInit.java +++ b/src/main/java/com/project/mock/init/MockDataInit.java @@ -2,7 +2,6 @@ import com.project.mock.infra.entity.MockMessage; import com.project.mock.infra.repository.MockMessageRepository; -import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -15,7 +14,7 @@ public class MockDataInit { private final MockMessageRepository repository; - @PostConstruct +// @PostConstruct @Transactional public void init() { // 데이터 중복 적재 방지 From 72300af0bde5f03848e7ca8bbcbdf173b56f3f3f Mon Sep 17 00:00:00 2001 From: k0081915 Date: Mon, 26 Jan 2026 11:32:24 +0900 Subject: [PATCH 3/3] =?UTF-8?q?UPLUS-132=20chore:=20=EC=B4=88=EA=B8=B0=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=83=9D=EC=84=B1=20X?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/project/mock/init/MockDataInit.java | 208 ------------------ 1 file changed, 208 deletions(-) delete mode 100644 src/main/java/com/project/mock/init/MockDataInit.java diff --git a/src/main/java/com/project/mock/init/MockDataInit.java b/src/main/java/com/project/mock/init/MockDataInit.java deleted file mode 100644 index 90e5277..0000000 --- a/src/main/java/com/project/mock/init/MockDataInit.java +++ /dev/null @@ -1,208 +0,0 @@ -package com.project.mock.init; - -import com.project.mock.infra.entity.MockMessage; -import com.project.mock.infra.repository.MockMessageRepository; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; - -@Component -@RequiredArgsConstructor -public class MockDataInit { - - private final MockMessageRepository repository; - -// @PostConstruct - @Transactional - public void init() { - // 데이터 중복 적재 방지 - if (repository.count() > 0) { - return; - } - - long subId = 1001L; - - // ========================================== - // 1. [EMAIL] 청구서 (스타일 포함 완벽 렌더링) - // ========================================== - String billHtml = """ - - -
- -
-
-
-

휴대폰 요금 청구서

-

이메일 청구서

-
-
-
청구 번호
-
INV-2026-01-099
-
-
-
- -
-
-
-

고객 정보

-
-

고객명: 홍길동

-

연락처: 010-1234-5678

-

이메일: hong@test.com

-

요금제: 5G 시그니처

-
-
-
-

청구 정보

-
-

청구 날짜: 2026년 01월 22일

-

납기일: 2026년 01월 31일

-

결제 방법: 자동이체 (우리은행)

-
-
-
-
- -
-
-
-

청구 요약

-

이번 달 요금 상세 내역입니다

-
-
- 총 청구 금액 -
89,500원
-
-
-
- -
-

요금 상세 내역

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
항목상세금액
기본 요금5G 시그니처 110GB75,000원
부가 서비스V 컬러링3,300원
넷플릭스3,300원
할인선택약정 할인-18,750원
소액 결제구글 플레이스토어 (NC소프트)29,950원
-
-
- -
-
-
- 청구 상태 -
- - - 결제 완료 - -
-
-
- 결제 예정일 -
2026년 01월 25일
-
-
-
- -
-

추가 정보

-
-
-

유의사항

-
    -
  • 납기일 이후 결제 시 연체료가 발생할 수 있습니다
  • -
  • 문의사항은 고객센터(114)로 연락주세요
  • -
-
-
-
- -
-

이 청구서는 4eum 서비스를 통해 발송되었습니다. © 2026 4eum. All rights reserved.

-
-
- """; - - // 이메일 저장 - repository.save(MockMessage.builder() - .subId(subId) - .type("EMAIL") - .sender("4eum 통신") - .receiver("hong@test.com") - .subject("[1월] 휴대폰 요금 청구서가 도착했습니다.") - .body(billHtml) - .receivedAt(LocalDateTime.now().minusHours(2)) - .build()); - - // ========================================== - // 2. [SMS] 인증번호 - // ========================================== - repository.save(MockMessage.builder() - .subId(subId) - .type("SMS") - .sender("1544-0010") - .receiver("010-1234-5678") - .subject(null) - .body("[Web 발신] 데이터 사용량 50% 초과하였습니다.") - .receivedAt(LocalDateTime.now().minusMinutes(30)) - .build()); - - // ========================================== - // 3. [SMS] 광고 - // ========================================== - repository.save(MockMessage.builder() - .subId(subId) - .type("SMS") - .sender("02-114") - .receiver("010-1234-5678") - .subject(null) - .body("[Web 발신] 갤럭시 S26 출시 사전예약!\n지금 예약하면 버즈 프로 증정.\n무료수신거부 080-123-4567") - .receivedAt(LocalDateTime.now().minusDays(1)) - .build()); - } -} \ No newline at end of file