친구톡 발송 완료
This commit is contained in:
parent
2376446be3
commit
faba5b99cf
@ -0,0 +1,67 @@
|
||||
package com.itn.mjonApi.mjon.api.kakao.ft.send.mapper.domain;
|
||||
|
||||
import lombok.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Setter
|
||||
@Getter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class FtSendSuccessResponse {
|
||||
|
||||
private String resultCode = "0"; // 성공 코드
|
||||
|
||||
private String msgType = "FT"; // 메시지 타입 (친구톡 고정)
|
||||
|
||||
private List<String> msgGroupIdList; // 메시지 전송 그룹 ID 리스트
|
||||
|
||||
private String successCnt; // 성공 건수
|
||||
|
||||
private String failCnt; // 실패 건수
|
||||
|
||||
private String test_yn; // 테스트 여부
|
||||
|
||||
/**
|
||||
* 친구톡 발송 결과를 SMS API 형태로 변환
|
||||
* @param totalCount 총 발송 건수
|
||||
* @param successCount 성공 건수
|
||||
* @param failCount 실패 건수
|
||||
* @param successPhoneList 성공한 전화번호 리스트
|
||||
* @return FtSendSuccessResponse
|
||||
*/
|
||||
public static FtSendSuccessResponse createFtResponse(int totalCount, int successCount, int failCount,
|
||||
List<String> successPhoneList) {
|
||||
|
||||
// 성공한 발송별로 msgGroupId 생성
|
||||
List<String> msgGroupIdList = new ArrayList<>();
|
||||
for (int i = 0; i < successCount; i++) {
|
||||
msgGroupIdList.add(generateMsgGroupId());
|
||||
}
|
||||
|
||||
return FtSendSuccessResponse.builder()
|
||||
.resultCode("0")
|
||||
.msgGroupIdList(msgGroupIdList)
|
||||
.msgType("FT") // 친구톡 고정
|
||||
.successCnt(String.valueOf(successCount))
|
||||
.failCnt(String.valueOf(failCount))
|
||||
.test_yn(null)
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 메시지 그룹 ID 생성 (SMS API와 동일한 형태)
|
||||
* MSGGID_0000000013451, MSGGID_0000000013452 형태
|
||||
* @return MSGGID_xxxxxxxxxxxx 형태의 ID
|
||||
*/
|
||||
private static String generateMsgGroupId() {
|
||||
long currentTime = System.currentTimeMillis();
|
||||
// 13자리 숫자로 맞추기 위해 currentTime을 조정
|
||||
String msgId = String.format("%013d", currentTime % 10000000000000L);
|
||||
return "MSGGID_" + msgId;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.itn.mjonApi.mjon.api.kakao.ft.send.mapper.domain;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@ToString
|
||||
@Getter
|
||||
@Setter
|
||||
public class KakaoButtonVO {
|
||||
|
||||
private String name; // 버튼명
|
||||
private String linkType; // 링크타입 (WL: 웹링크, AL: 앱링크)
|
||||
private String linkTypeName; // 링크타입명
|
||||
|
||||
// 웹링크용
|
||||
private String linkMo; // 모바일 웹링크
|
||||
private String linkPc; // PC 웹링크
|
||||
|
||||
// 앱링크용
|
||||
private String linkIos; // iOS 앱링크
|
||||
private String linkAnd; // Android 앱링크
|
||||
|
||||
// 기타
|
||||
private String pluginId; // 플러그인 ID
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
package com.itn.mjonApi.mjon.api.kakao.ft.send.mapper.domain;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@ToString
|
||||
@Getter
|
||||
@Setter
|
||||
public class MjonFTSendVO {
|
||||
|
||||
// 수신자 정보 (핵심)
|
||||
private String phone; // 수신번호 (필수)
|
||||
private String name; // 수신자명
|
||||
|
||||
// 치환문자 (현재 사용안함)
|
||||
private String rep1; // 치환문자1
|
||||
private String rep2; // 치환문자2
|
||||
private String rep3; // 치환문자3
|
||||
private String rep4; // 치환문자4
|
||||
|
||||
// 메시지 관련
|
||||
private String msgId; // 메시지 ID
|
||||
private String msgGroupId; // 메시지 그룹 ID
|
||||
private String userId; // 사용자 ID
|
||||
private String callFrom; // 발신번호
|
||||
private String callTo; // 수신번호 (phone과 동일)
|
||||
private String reqDate; // 요청일시
|
||||
private String agentCode; // 에이전트 코드
|
||||
private String subject; // 제목
|
||||
private String smsTxt; // SMS 내용
|
||||
private String msgType; // 메시지 타입
|
||||
|
||||
// 파일 관련
|
||||
private String fileCnt; // 파일 개수
|
||||
private String filePath1; // 파일경로1
|
||||
private String filePath2; // 파일경로2
|
||||
private String filePath3; // 파일경로3
|
||||
|
||||
// 기타
|
||||
// @Builder.Default
|
||||
// private String eventYn = "N"; // 이벤트 여부 (기본: N)
|
||||
private String eachPrice; // 개별 가격
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user