feat: integration api expired initiate lockey
This commit is contained in:
parent
657ee9931c
commit
989b78175e
|
@ -12,13 +12,17 @@ import {useRouter} from "next/router";
|
||||||
import BottomSheet from "../../../components/BottomSheet";
|
import BottomSheet from "../../../components/BottomSheet";
|
||||||
import { botsRepository } from '../../../repository/bots';
|
import { botsRepository } from '../../../repository/bots';
|
||||||
import { useStore } from '../../../components/StoreProvider';
|
import { useStore } from '../../../components/StoreProvider';
|
||||||
|
import { format } from 'date-fns';
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
const Payment = observer(() => {
|
const Payment = observer(() => {
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const { qrCode } = router.query;
|
const { qrCode } = router.query;
|
||||||
|
const [orderId, setOrderId] = useState('');
|
||||||
const [price, setPrice] = useState(0);
|
const [price, setPrice] = useState(0);
|
||||||
|
const [checkInTime, setCheckInTime] = useState('');
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
const [openOrderOut, setOpenOrderOut] = useState(false);
|
const [openOrderOut, setOpenOrderOut] = useState(false);
|
||||||
const [notOrder, setNotOrder] = useState(false);
|
const [notOrder, setNotOrder] = useState(false);
|
||||||
|
@ -33,10 +37,22 @@ const Payment = observer(() => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const { data: location } = botsRepository.hooks.useGetLocationByQR(qrCode)
|
const { data: location } = botsRepository.hooks.useGetLocationByQR(qrCode)
|
||||||
console.log(location, "he")
|
|
||||||
|
const expiredOrder = async () => {
|
||||||
|
try {
|
||||||
|
await botsRepository.api.updateStatusExpiredOrder(orderId)
|
||||||
|
setIsNotComplete(true)
|
||||||
|
setOpenOrderOut(true)
|
||||||
|
} catch (err) {
|
||||||
|
console.log("session epxired failed")
|
||||||
|
setIsNotComplete(true)
|
||||||
|
setOpenOrderOut(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const renderer = ({minutes, seconds, completed}) => {
|
const renderer = ({minutes, seconds, completed}) => {
|
||||||
if (completed) {
|
if (completed) {
|
||||||
// router.push('/flash-screen');
|
console.log("session complite")
|
||||||
} else {
|
} else {
|
||||||
return <span>{zeroPad(minutes)}:{zeroPad(seconds)}</span>;
|
return <span>{zeroPad(minutes)}:{zeroPad(seconds)}</span>;
|
||||||
}
|
}
|
||||||
|
@ -44,8 +60,13 @@ const Payment = observer(() => {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (typeof window !== undefined) {
|
if (typeof window !== undefined) {
|
||||||
let price = localStorage.getItem("price")
|
let price = localStorage.getItem("price");
|
||||||
|
let getCheckInTime = localStorage.getItem("checkInTime");
|
||||||
|
let orderId = localStorage.getItem("idOrder")
|
||||||
|
setOrderId(orderId);
|
||||||
setPrice(price)
|
setPrice(price)
|
||||||
|
const checkInTime = format(new Date(getCheckInTime), "mm")
|
||||||
|
console.log(checkInTime, "time")
|
||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
@ -77,12 +98,9 @@ const Payment = observer(() => {
|
||||||
) : (
|
) : (
|
||||||
<div className="flex items-center justify-center bg-[#00AED6] h-10 text-base">
|
<div className="flex items-center justify-center bg-[#00AED6] h-10 text-base">
|
||||||
<span className={'text-white'}>selesaikan pesananmu dalam <Countdown
|
<span className={'text-white'}>selesaikan pesananmu dalam <Countdown
|
||||||
date={Date.now() + 300000}
|
date={Date.now(checkInTime) + 300000}
|
||||||
renderer={renderer}
|
renderer={renderer}
|
||||||
onComplete={() => {
|
onComplete={expiredOrder}/>
|
||||||
setIsNotComplete(true)
|
|
||||||
setOpenOrderOut(true)
|
|
||||||
}}/>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -6,6 +6,7 @@ const url = {
|
||||||
findLocationByQrCode: (qrCode) => `/locations/findOne/${qrCode}`,
|
findLocationByQrCode: (qrCode) => `/locations/findOne/${qrCode}`,
|
||||||
createOrder: () => `/bots/create-order`,
|
createOrder: () => `/bots/create-order`,
|
||||||
checkTransaction: (orderId) => `/bots/find/one-history/${orderId}`,
|
checkTransaction: (orderId) => `/bots/find/one-history/${orderId}`,
|
||||||
|
expiredOrder: (id) => `/bots/expired-status/${id}`,
|
||||||
}
|
}
|
||||||
|
|
||||||
const hooks = {
|
const hooks = {
|
||||||
|
@ -22,6 +23,14 @@ const api = {
|
||||||
const res = await http.fetcher(url.checkTransaction(orderId));
|
const res = await http.fetcher(url.checkTransaction(orderId));
|
||||||
return res
|
return res
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async createOrder(body) {
|
||||||
|
return await http.post(url.createOrder(), body)
|
||||||
|
},
|
||||||
|
|
||||||
|
updateStatusExpiredOrder(id) {
|
||||||
|
return http.put(url.expiredOrder(id));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const botsRepository = {
|
export const botsRepository = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user