친구톡 발송 완료
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