[Log] Log, IF-LGSP-LOG-006 / Product Detail 이력 (logTpNo: “400”) 반영
This commit is contained in:
@@ -31,6 +31,13 @@ export const getUrlByLogTpNo = (logTpNo) => {
|
||||
case LOG_TP_NO.GNB:
|
||||
return URLS.LOG_GNB;
|
||||
|
||||
// IF-LGSP-LOG-006 / 상품 상세 이력
|
||||
case LOG_TP_NO.PRODUCT.PRODUCT_DETAIL:
|
||||
case LOG_TP_NO.PRODUCT.GROUP_DETAIL:
|
||||
case LOG_TP_NO.PRODUCT.BILLING_PRODUCT_DETAIL:
|
||||
case LOG_TP_NO.PRODUCT.PRODUCT_DETAIL_IMAGE:
|
||||
return URLS.LOG_PRODUCT;
|
||||
|
||||
// IF-LGSP-LOG-008 / Shop by mobile 이력
|
||||
case LOG_TP_NO.SHOP_BY_MOBILE.SHOP_BY_MOBILE:
|
||||
case LOG_TP_NO.SHOP_BY_MOBILE.AGREE_AND_SEND:
|
||||
|
||||
@@ -172,6 +172,64 @@ export default function useLogService() {
|
||||
[dispatch, menuMovSnoRef, nowMenuRef]
|
||||
);
|
||||
|
||||
/**
|
||||
* IF-LGSP-LOG-006 / 상품 상세 이력
|
||||
*
|
||||
* (M) befPrice 할인 전 가격
|
||||
*
|
||||
* (O) curationId 큐레이션 아이디
|
||||
*
|
||||
* (O) curationNm 큐레이션 이름
|
||||
*
|
||||
* (M) entryMenu 진입 메뉴
|
||||
*
|
||||
* (O) expsOrd 노출 순번
|
||||
*
|
||||
* (M) inDt 진입 시간
|
||||
*
|
||||
* (M) lastPrice 할인 후 가격
|
||||
*
|
||||
* (M) lgCatCd 카테고리 코드
|
||||
*
|
||||
* (M) lgCatNm 카테고리 이름
|
||||
*
|
||||
* (O) linkTpCd 딥 링크 타입
|
||||
*
|
||||
* (M) logTpNo 로그 타입 넘버
|
||||
*
|
||||
* (M) nowMenu 현재 메뉴
|
||||
*
|
||||
* (M) outDt 진출 시간
|
||||
*
|
||||
* (M) patncNm 파트너 이름
|
||||
*
|
||||
* (M) patnrId 파트너 아이디
|
||||
*
|
||||
* (M) prdtId 상품 아이디
|
||||
*
|
||||
* (M) prdtNm 상품 이름
|
||||
*
|
||||
* (O) revwGrd 별점
|
||||
*
|
||||
* (M) rewdAplyFlag 리워드 적용 여부
|
||||
*
|
||||
* (M) tsvFlag TSV 여부
|
||||
*/
|
||||
const sendLogProductDetail = useCallback(
|
||||
(params) => {
|
||||
const newParams = {
|
||||
...params,
|
||||
entryMenu: entryMenuRef.current,
|
||||
inDt: formatGMTString(new Date()),
|
||||
nowMenu: nowMenuRef.current,
|
||||
outDt: "",
|
||||
};
|
||||
|
||||
dispatch(postLog(newParams));
|
||||
},
|
||||
[dispatch, entryMenuRef, nowMenuRef]
|
||||
);
|
||||
|
||||
/**
|
||||
* IF-LGSP-LOG-008 / Shop by mobile 이력
|
||||
*
|
||||
@@ -880,6 +938,7 @@ export default function useLogService() {
|
||||
sendLogLive,
|
||||
sendLogCuration,
|
||||
sendLogGNB,
|
||||
sendLogProductDetail,
|
||||
sendLogShopByMobile,
|
||||
sendLogMyPageAlertFlag,
|
||||
sendLogMyPageMyDelete,
|
||||
|
||||
@@ -117,7 +117,12 @@ export const LOG_TP_NO = {
|
||||
|
||||
HOME: {},
|
||||
|
||||
PRODUCT: {},
|
||||
PRODUCT: {
|
||||
PRODUCT_DETAIL: "400",
|
||||
GROUP_DETAIL: "408",
|
||||
BILLING_PRODUCT_DETAIL: "409",
|
||||
PRODUCT_DETAIL_IMAGE: "410",
|
||||
},
|
||||
|
||||
DETAIL: {},
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, { useCallback, useEffect, useRef } from "react";
|
||||
import React, { useCallback, useEffect, useMemo, useRef } from "react";
|
||||
|
||||
import classNames from "classnames";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
@@ -26,7 +26,8 @@ export default function UnableOption({
|
||||
patnrName,
|
||||
smsTpCd,
|
||||
}) {
|
||||
const { sendLogGNB, sendLogShopByMobile } = useLogService();
|
||||
const { sendLogGNB, sendLogProductDetail, sendLogShopByMobile } =
|
||||
useLogService();
|
||||
|
||||
const dispatch = useDispatch();
|
||||
|
||||
@@ -34,7 +35,7 @@ export default function UnableOption({
|
||||
(state) => state.common.popup
|
||||
);
|
||||
|
||||
const logParamsRef = useRef(null);
|
||||
const shopByMobileLogParamsRef = useRef(null);
|
||||
|
||||
const tooltipDes = $L("Scan for more information about the product.");
|
||||
|
||||
@@ -51,7 +52,7 @@ export default function UnableOption({
|
||||
|
||||
const {
|
||||
discountRate,
|
||||
rewardFlag,
|
||||
// rewardFlag,
|
||||
discountedPrice,
|
||||
discountAmount,
|
||||
originalPrice,
|
||||
@@ -71,9 +72,40 @@ export default function UnableOption({
|
||||
case9: !price2 && !price3 && !price5 && offerInfo,
|
||||
};
|
||||
|
||||
const commonLogParams = useMemo(() => {
|
||||
return productInfo
|
||||
? {
|
||||
befPrice: productInfo.priceInfo?.split("|")[0],
|
||||
curationId: productInfo?.curationId ?? "",
|
||||
curationNm: productInfo?.curationNm ?? "",
|
||||
lastPrice: productInfo.priceInfo?.split("|")[1],
|
||||
lgCatCd: productInfo?.catCd ?? "",
|
||||
lgCatNm: productInfo?.catNm ?? "",
|
||||
patncNm: productInfo?.patncNm ?? "",
|
||||
patnrId: productInfo?.patnrId ?? "",
|
||||
prdtId: productInfo?.prdtId ?? "",
|
||||
prdtNm: productInfo?.prdtNm ?? "",
|
||||
revwGrd: productInfo?.revwGrd ?? "",
|
||||
rewdAplyFlag: productInfo.priceInfo?.split("|")[2],
|
||||
tsvFlag: productInfo?.todaySpclFlag ?? "",
|
||||
}
|
||||
: null;
|
||||
}, [productInfo]);
|
||||
|
||||
useEffect(() => {
|
||||
sendLogGNB(Config.LOG_MENU.DETAIL_PAGE_PRODUCT_DETAIL);
|
||||
}, [sendLogGNB]);
|
||||
|
||||
if (commonLogParams) {
|
||||
const params = {
|
||||
...commonLogParams,
|
||||
expsOrd: "",
|
||||
linkTpCd: "",
|
||||
logTpNo: Config.LOG_TP_NO.PRODUCT.PRODUCT_DETAIL,
|
||||
};
|
||||
|
||||
setTimeout(() => sendLogProductDetail(params));
|
||||
}
|
||||
}, [commonLogParams, sendLogGNB, sendLogProductDetail]);
|
||||
|
||||
useEffect(() => {
|
||||
if (soldoutFlag) {
|
||||
@@ -86,39 +118,27 @@ export default function UnableOption({
|
||||
const handleSMSClick = useCallback(() => {
|
||||
dispatch(setShowPopup(Config.ACTIVE_POPUP.smsPopup));
|
||||
|
||||
const params = {
|
||||
befPrice: originalPrice,
|
||||
curationId: productInfo?.curationId,
|
||||
curationNm: productInfo?.curationNm,
|
||||
lastPrice: discountedPrice,
|
||||
lgCatCd: productInfo?.catCd,
|
||||
lgCatNm: productInfo?.catNm,
|
||||
liveFlag: panelInfo?.liveFlag ?? "N",
|
||||
logTpNo: Config.LOG_TP_NO.SHOP_BY_MOBILE.SHOP_BY_MOBILE,
|
||||
mbphNoFlag: "N",
|
||||
patncNm: productInfo?.patncNm,
|
||||
patnrId: productInfo?.patnrId,
|
||||
prdtId: productInfo?.prdtId,
|
||||
prdtNm: productInfo?.prdtNm,
|
||||
revwGrd: productInfo?.revwGrd,
|
||||
rewdAplyFlag: rewardFlag,
|
||||
shopByMobileFlag: "Y",
|
||||
shopTpNm: "product",
|
||||
showId: panelInfo?.showId,
|
||||
showNm: panelInfo?.showNm,
|
||||
trmsAgrFlag: "N",
|
||||
tsvFlag: productInfo?.todaySpclFlag,
|
||||
};
|
||||
if (commonLogParams) {
|
||||
const params = {
|
||||
...commonLogParams,
|
||||
liveFlag: panelInfo?.liveFlag ?? "N",
|
||||
logTpNo: Config.LOG_TP_NO.SHOP_BY_MOBILE.SHOP_BY_MOBILE,
|
||||
mbphNoFlag: "N",
|
||||
shopByMobileFlag: "Y",
|
||||
shopTpNm: "product",
|
||||
showId: panelInfo?.showId,
|
||||
showNm: panelInfo?.showNm,
|
||||
trmsAgrFlag: "N",
|
||||
};
|
||||
|
||||
sendLogShopByMobile(params);
|
||||
logParamsRef.current = params;
|
||||
sendLogShopByMobile(params);
|
||||
shopByMobileLogParamsRef.current = params;
|
||||
}
|
||||
}, [
|
||||
discountedPrice,
|
||||
commonLogParams,
|
||||
dispatch,
|
||||
originalPrice,
|
||||
panelInfo,
|
||||
productInfo,
|
||||
rewardFlag,
|
||||
panelInfo?.showId,
|
||||
panelInfo?.showNm,
|
||||
sendLogShopByMobile,
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user