[SHOPTIME-3965] 상품 Detail / SMS송신 IF-LGSP-037 / APP00201(Shop By Mobile) 유형 / smsText 기능 추가

[수정사항] 결제가능상품에서 IF-LGSP-037 API호출시 QRCodeUrl을 smsText로 통신
This commit is contained in:
고동영
2025-02-07 14:28:09 +09:00
parent 83dd0a5b3e
commit 958d35b983
3 changed files with 28 additions and 35 deletions

View File

@@ -41,7 +41,7 @@ import THeader from "../../components/THeader/THeader";
import TPanel from "../../components/TPanel/TPanel";
import * as Config from "../../utils/Config";
import { panel_names } from "../../utils/Config";
import { $L } from "../../utils/helperMethods";
import { $L, getQRCodeUrl } from "../../utils/helperMethods";
import css from "./DetailPanel.module.less";
import GroupProduct from "./GroupProduct/GroupProduct";
import SingleProduct from "./SingleProduct/SingleProduct";
@@ -69,7 +69,13 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
);
const youmaylikeData = useSelector((state) => state.main.youmaylikeData);
const { httpHeader } = useSelector((state) => state.common);
const deviceInfo = useSelector((state) => state.device.deviceInfo);
const serverHOST = useSelector((state) => state.common.appStatus.serverHOST);
const serverType = useSelector((state) => state.localSettings.serverType);
const { entryMenu, nowMenu } = useSelector((state) => state.common.menu);
const groupInfos = useSelector((state) => state.product.groupInfo);
const productInfo = useSelector((state) => state.main.productData);
const { popupVisible, activePopup } = useSelector(
(state) => state.common.popup
);
@@ -83,17 +89,6 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
const shopByMobileLogRef = useRef(null);
// const {
// themeHotelId,
// panelInfo?.themePrdtId,
// prdtId,
// patnrId,
// curationId,
// curationNm,
// type,
// bgImgNo,
// } = panelInfo;
useEffect(() => {
dispatch(getProductOptionId(undefined));
if (panelInfo?.type === "hotel") {
@@ -186,6 +181,20 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
panelInfo?.themeHotelId,
]);
const { detailUrl } = useMemo(() => {
return getQRCodeUrl({
serverHOST,
serverType,
index: deviceInfo?.dvcIndex,
patnrId: productInfo?.patnrId,
prdtId: productInfo?.prdtId,
entryMenu: entryMenu,
nowMenu: nowMenu,
liveFlag: "Y",
qrType: "billingDetail",
});
}, [serverHOST, serverType, deviceInfo, entryMenu, nowMenu, productInfo]);
const onSpotlightUpTButton = (e) => {
e.stopPropagation();
Spotlight.focus("spotlightId_backBtn");
@@ -432,6 +441,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
shopByMobileLogRef={shopByMobileLogRef}
isYouMayLikeOpened={isYouMayLikeOpened}
isBillingProductVisible={isBillingProductVisible}
detailQRCodeUrl={detailUrl}
/>
)}
{/* 구매불가상품 영역 */}
@@ -518,6 +528,7 @@ export default function DetailPanel({ panelInfo, isOnTop, spotlightId }) {
productPrice={panelInfo?.type === "hotel" && Price()}
shopByMobileLogRef={shopByMobileLogRef}
spotlightId="shopbymobile_Btn"
smsText={detailUrl}
/>
)}
</>