logaction

This commit is contained in:
yonghyon
2024-07-16 16:07:39 +09:00
parent ec354e1f5c
commit 98d5b25b1e
6 changed files with 900 additions and 26 deletions

View File

@@ -634,4 +634,885 @@ export const sendLogPartners = (params) => (dispatch, getState) => {
};
dispatch(postLog(newParams));
};
};
/**
* IF-LGSP-LOG-010 / Reminder - Alert On/Off
*
* (M) alertFlag 설정 여부, On / Off
*
* (M) entryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*/
export const sendLogMyPageAlertFlag = (params) => (dispatch, getState) => {
const { alertFlag } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!alertFlag) {
console.error("sendLogMyPageAlertFlag invalid params", params);
return;
}
const newParams = {
alertFlag,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.MY_PAGE_ALERT_FLAG,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-011 / My Page Delete 버튼 클릭 이력
*
* (M) cnt 삭제 개수
*
* (M) entryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*/
export const sendLogMyPageMyDelete = (params) => (dispatch, getState) => {
const { cnt } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!cnt) {
console.error("sendLogMyPageMyDelete invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.MY_PAGE_MY_DELETE,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-012 / My Page Notice View
*
* (M) entryMenu 진입 메뉴
*
* (M) itemId Notice/FAQ 등록 번호
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMneu 현재 메뉴
*
* (M) title Notice/FAQ 제목
*/
export const sendLogMyPageNotice = (params) => (dispatch, getState) => {
const { itemId, title } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!itemId || !title) {
console.error("sendLogNoticeView invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.MY_PAGE_NOTICE,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-013 / 검색 이력
*
* (M) entryMenu 진입 메뉴
*
* (M) inputFlag 입력 구분, keyword / input
*
* (M) itemCnt 상춤 개수
*
* (M) keyword 검색어
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) showCnt 영상 개수
*
* (M) themeCnt 테마 개수
*/
export const sendLogSearch = (params) => (dispatch, getState) => {
const { inputFlag, itemCnt, keyword, showCnt, themeCnt } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!inputFlag || !itemCnt || !keyword || !showCnt || !themeCnt) {
console.error("sendLogSearch invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.SEARCH,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-014 / 검색 결과 클릭 이력
*
* (M) curationId 큐레이션 아이디
*
* (M) curationNm 큐레이션 이름
*
* (M) dcAfPrice 할인후 가격
*
* (M) entryMenu 진입 메뉴
*
* (M) keyword 검색어
*
* (M) lgCatNm LG 카테고리 이름
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) prdtId 상품 아이디
*
* (M) prdtNm 상품 이름
*
* (M) showId 방송 아이디
*
* (M) showNm 방송 이름
*/
export const sendLogSearchClick = (params) => (dispatch, getState) => {
const { keyword, patncNm, patnrId } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!keyword || !patncNm || !patnrId) {
console.error("sendLogSearchClick invalid params", params);
return;
}
const newParams = {
curationId: params?.curationId ?? "",
curationNm: params?.curationNm ?? "",
dcAfPrice: params?.dcAfPrice ?? "",
entryMenu: entryMenu,
keyword,
lgCatNm: params?.lgCatNm ?? "",
logTpNo: LOG_TP_NO.SEARCH_CLICK,
nowMenu: nowMenu,
patncNm,
patnrId,
prdtId: params?.prdtId ?? "",
prdtNm: params?.prdtNm ?? "",
showId: params?.showId ?? "",
showNm: params?.showNm ?? "",
};
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-015 / Upcoming On/Off
*
* (M) alertFlag 알림 설정 여부 On/Off
*
* (M) entryMenu 진입 메뉴
*
* (O) hstNm 호스트 이름
*
* (M) logTpNo 로그 타입 넘버
*
* (O) lgCatCd 카테고리 코드
*
* (O) lgCatNm 카테고리 이름
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) remainSec 남은 시간(초)
*
* (M) showId 방송 아이디
*
* (M) showNm 방송 이름
*/
export const sendLogUpcomingFlag = (params) => (dispatch, getState) => {
// pyh Todo, 왜 키가 문서와 맞지 않고 1.0과 같은가..?
// const { alertFlag, patncNm, patnrId, remainSec, showId, showNm } = params;
// if (
// !alertFlag ||
// !patncNm ||
// !patnrId ||
// !remainSec ||
// !showId ||
// !showNm
// ) {
// console.error("sendLogUpcomingFlag invalid params", params);
// return;
// }
const { items } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!items) {
console.error("sendLogUpcomingFlag invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
// hstNm: params?.hstNm ?? "",
logTpNo: LOG_TP_NO.UPCOMING_FLAG,
// lgCatCd: params?.lgCatCd ?? "",
// lgCatNm: params?.lgCatNm ?? "",
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-017 / 알람 팝업
*
* (M) alarmDt 알람 방생 시간
*
* (M) alarmType 알람 유형 Upcoming/Keyword
*
* (M) cnt 키워드 개수
*
* (M) entryMenu 진입 메뉴
*
* (O) hstNm 호스트 이름
*
* (M) keywordList 키워드 리스트 (콤마 구분자)
*
* (O) lgCatCd 카테고리 코드
*
* (O) lgCatNm 카테고리 이름
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) showId 방송 아이디
*
* (M) showNm 방송 이름
*/
export const sendLogAlarmPop = (params) => (dispatch, getState) => {
const { alarmDt, alarmType, cnt, patncNm, patnrId, showId, showNm } =
params;
const {entryMenu, nowMenu} = getState().common.menu;
if (
!alarmDt ||
!alarmType ||
!cnt ||
!patncNm ||
!patnrId ||
!showId ||
!showNm
) {
console.error("sendLogAlarmPop invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
hstNm: params?.hstNm ?? "",
lgCatCd: params?.lgCatCd ?? "",
lgCatNm: params?.lgCatNm ?? "",
logTpNo: LOG_TP_NO.ALARM_POP,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-018 / 알람 팝업 OK/NO 클릭
*
* (M) alarmDt 알람 발생 시간
*
* (M) alarmType 알람 유형 Upcoming/Keyword
*
* (M) clickFlag 클릭 유형 Ok/No
*
* (M) cnt 키워드 개수
*
* (M) entryMenu 진입 메뉴
*
* (O) hstNm 호스트 이름
*
* (M) keywordList 키워드 리스트(콤마 구분자)
*
* (O) lgCatCd 카테고리 코드
*
* (O) lgCatNm 카테고리 이름
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) showId 방송 아이디
*
* (M) showNm 방송 이름
*/
export const sendLogAlarmClick = (params) => (dispatch, getState) => {
const {
alarmDt,
alarmType,
clickFlag,
cnt,
logTpNo,
patncNm,
patnrId,
showId,
showNm,
} = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (
!alarmDt ||
!alarmType ||
!clickFlag ||
!cnt ||
!logTpNo ||
!patncNm ||
!patnrId ||
!showId ||
!showNm
) {
console.error("sendLogAlarmClick invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
hstNm: params?.hstNm ?? "",
lgCatCd: params?.lgCatCd ?? "",
lgCatNm: params?.lgCatNm ?? "",
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-020 / 테마 상품 클릭 이력
*
* (M) befPrice 할인 전 가격
*
* (M) curationId 큐레이션 아이디
*
* (M) curationNm 큐레이션 이름
*
* (M) entryMenu 진입 메뉴
*
* (M) lastPrice 할인 후 가격
*
* (M) lgCatCd 카테고리 코드
*
* (M) lgCatNm 카테고리 이름
*
* (O) linkTpCd 링크 타입 코드
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) prdtExpsOrd 상품 노출 순번
*
* (M) prdtId 상품 아이디
*
* (M) prdtNm 상품 이름
*
* (M) rewdAplyFlag 리워드 적용 여부
*
* (M) shelfExpsOrd 쉘프 노출 순번
*
* (M) shelfId 쉘프 아이디
*
* (M) shelfNm 쉘프 이름
*
* (M) tsvFlag TSV 여부
*/
export const sendLogThemeProduct = (params) => (dispatch, getState) => {
const {entryMenu, nowMenu} = getState().common.menu;
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.THEME_PRODUCT,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-100 / TOP contents 노출 이력
*
* (M) banrNo 배너 번호
*
* (M) banrTpNm 배너 유형 이름, Vertical / Horizontal
*
* (M) contId 컨텐츠 아이디
*
* (M) contNm 컨텐츠 이름
*
* (M) contTpNm 컨텐츠 타입 이름, live / image / Today's deals
*
* (M) dspyTpNm 디스플레이 유형 이름, Random / Rolling
*
* (M) entryMenu 진입 메뉴
*
* (M) expsOrd 노출 순서
*
* (M) inDt 진입 시간
*
* (M) linkTpCd 딥 링크 타입
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) outDt 진출 시간
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) tmplCd 템플릿 코드 DSP002 01~03
*/
export const sendLogTopContents = (params) => (dispatch, getState) => {
const {entryMenu, nowMenu} = getState().common.menu;
const newParams = {
...params,
entryMenu: entryMenu,
outDt: formatGMTString(new Date()),
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-101 / 약관 동의, 미동의 클릭 이력
*
* (M) entryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*/
export const sendLogTerms = (params) => (dispatch, getState) => {
const { logTpNo } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!logTpNo) {
console.error("sendLogTerms invalid params", params);
return;
}
const newParams = {
entryMenu: entryMenu,
logTpNo,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-102 / LG Account 로그인 이력
*
* (M) entryMenu 진입 메뉴
*
* (M) nowMenu 현재 메뉴
*
* (M) lginTpNm 로그인 타입 이름 TV/ShopTime
*
* (M) logTpNo 로그 타입 넘버
*
* (M) usrNo 사용자 번호
*/
export const sendLogLgAccountLogin = (params) => (dispatch, getState) => {
const { lginTpNm, usrNo } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!lginTpNm || !usrNo) {
console.error("sendLogLgAccountLogin invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.LG_ACCOUNT_LOGIN,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-103 / Order 화면 버튼 클릭 이력
*
* (M) btnNm 버튼 이름
*
* (M) entryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
*/
export const sendLogOrderBtnClick = (params) => (dispatch, getState) => {
const { btnNm } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!btnNm) {
console.error("sendLogOrderBtnClick invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.ORDER_BTN_CLICK,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-104 / Order 취소/반품/교환 이력 (반품/교환 삭제)
*
* (M) entryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) reqRsn 요청 사유
*
* (M) reqTpNm 요청 유형 이름 ("Cancel", "Return", "Exchange")
*
*/
export const sendLogOrderChange = (params) => (dispatch, getState) => {
const { reqRsn, reqTpNm } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!reqRsn || !reqTpNm) {
console.error("sendLogOrderChange invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.ORDER_CHANGE,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-108 / 결제 페이지 진입 이력
*
* (M) cartTpSno 장바구니 구분 일련번호 ("사용자ID_상품ID_일련번호")
*
* (M) cpnSno 쿠폰 일련번호
*
* (M) cpnTtl 쿠폰 제목
*
* (M) dcAftrPrc 할인 후 가격
*
* (M) dcBefPrc 할인 전 가격
*
* (M) entryMenu 진입 메뉴
*
* (M) lgCatCd 카테고리 코드
*
* (M) lgCatNm 카테고리 이름
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) prodId 상품 아이디
*
* (M) prodNm 상품 이름
*
* (M) prodOptSno 상품 옵션 일련번호
*
* (M) qty 수량
*/
export const sendLogPaymentEntry = (params) => (dispatch, getState) => {
const {
cartTpSno,
// cpnSno,
// cpnTtl,
dcAftrPrc,
dcBefPrc,
// lgCatCd,
// lgCatNm,
patncNm,
patnrId,
prodId,
prodNm,
qty,
} = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (
!cartTpSno ||
// !cpnSno ||
// !cpnTtl ||
!dcAftrPrc ||
!dcBefPrc ||
// !lgCatCd ||
// !lgCatNm ||
!patncNm ||
!patnrId ||
!prodId ||
!prodNm ||
!qty
) {
console.error("sendLogPaymentEntry invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.PAYMENT_ENTRY,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-109 / 결제 완료 이력
*
* (M) cartTpSno 장바구니 구분 일련번호 ("사용자ID_상품ID_일련번호")
*
* (M) cpnSno 쿠폰 일련번호
*
* (M) cpnTtl 쿠폰 제목
*
* (M) dcAftrPrc 할인 후 가격
*
* (M) dcBefPrc 할인 전 가격
*
* (M) entryMenu 진입 메뉴
*
* (M) lgCatCd 카테고리 코드
*
* (M) lgCatNm 카테고리 이름
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 이름
*
* (M) patnrId 파트너 아이디
*
* (M) prodId 상품 아이디
*
* (M) prodNm 상품 이름
*
* (O) prodOptSno 상품 옵션 일련번호
*
* (M) qty 수량
*
* (M) usrNo 사용자 번호
*/
export const sendLogPaymentComplete = (params) => (dispatch, getState) => {
const {
cartTpSno,
// cpnSno,
// cpnTtl,
dcAftrPrc,
dcBefPrc,
// lgCatCd,
// lgCatNm,
patncNm,
patnrId,
prodId,
prodNm,
qty,
usrNo,
} = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (
!cartTpSno ||
// !cpnSno ||
// !cpnTtl ||
!dcAftrPrc ||
!dcBefPrc ||
// !lgCatCd ||
// !lgCatNm ||
!patncNm ||
!patnrId ||
!prodId ||
!prodNm ||
!qty ||
!usrNo
) {
console.error("sendLogPaymentComplete invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.PAYMENT_COMPLETE,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-110 / Featured Brands View 이력
*
* (O) catCd 파트너사 카테고리 코드
*
* (O) catNm 파트너사 카테고리 네임
*
* (O) crtrId 크리에이터 아이디
*
* (O) crtrNm 크리에이터 네임
*
* (M) entryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*
* (M) patncNm 파트너 네임
*
* (M) patnrId 파트너 아이디
*
* (O) srsId 시리즈 아이디
*
* (O) srsNm 시리즈 이름
*/
export const sendLogFeaturedBrands = (params) => (dispatch, getState) => {
const { patncNm, patnrId } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!patncNm || !patnrId) {
console.error("sendLogFeaturedBrands invalid params", params);
return;
}
const newParams = {
catCd: params.catCd ?? "",
catNm: params.catNm ?? "",
crtrId: params.crtrId ?? "",
crtrNm: params.crtrNm ?? "",
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.BRANDS,
nowMenu: nowMenu,
patncNm,
patnrId,
srsId: params.srsId ?? "",
srsNm: params.srsNm ?? "",
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-111 / 카드, 주소 ADD/EDIT 이력
*
* (M) btnNm 버튼 이름
*
* (M) etnryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*/
export const sendLogMyInfoEdit = (params) => (dispatch, getState) => {
const { btnNm } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!btnNm) {
console.error("sendLogMyInfoEdit invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.MY_INFO_EDIT,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}
/**
* IF-LGSP-LOG-112 / Check out 화면 버튼 클릭 이력
*
* (M) btnNm 버튼 이름
*
* (M) entryMenu 진입 메뉴
*
* (M) logTpNo 로그 타입 넘버
*
* (M) nowMenu 현재 메뉴
*/
export const sendLogCheckOutBtnClick = (params) => (dispatch, getState) => {
const { btnNm } = params;
const {entryMenu, nowMenu} = getState().common.menu;
if (!btnNm) {
console.error("sendLogCheckOutBtnClick invalid params", params);
return;
}
const newParams = {
...params,
entryMenu: entryMenu,
logTpNo: LOG_TP_NO.CHECKOUT_BTN_CLICK,
nowMenu: nowMenu,
};
dispatch(postLog(newParams));
}