feat: integration api expired initiate lockey

This commit is contained in:
Anang20 2022-11-15 17:47:31 +07:00
parent 657ee9931c
commit 989b78175e
2 changed files with 35 additions and 8 deletions

View File

@ -12,13 +12,17 @@ import {useRouter} from "next/router";
import BottomSheet from "../../../components/BottomSheet";
import { botsRepository } from '../../../repository/bots';
import { useStore } from '../../../components/StoreProvider';
import { format } from 'date-fns';
import Link from 'next/link';
const Payment = observer(() => {
const [form] = Form.useForm();
const router = useRouter();
const store = useStore();
const { qrCode } = router.query;
const [orderId, setOrderId] = useState('');
const [price, setPrice] = useState(0);
const [checkInTime, setCheckInTime] = useState('');
const [open, setOpen] = useState(false);
const [openOrderOut, setOpenOrderOut] = useState(false);
const [notOrder, setNotOrder] = useState(false);
@ -33,10 +37,22 @@ const Payment = observer(() => {
};
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}) => {
if (completed) {
// router.push('/flash-screen');
console.log("session complite")
} else {
return <span>{zeroPad(minutes)}:{zeroPad(seconds)}</span>;
}
@ -44,8 +60,13 @@ const Payment = observer(() => {
useEffect(() => {
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)
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">
<span className={'text-white'}>selesaikan pesananmu dalam <Countdown
date={Date.now() + 300000}
date={Date.now(checkInTime) + 300000}
renderer={renderer}
onComplete={() => {
setIsNotComplete(true)
setOpenOrderOut(true)
}}/>
onComplete={expiredOrder}/>
</span>
</div>
)}

View File

@ -6,6 +6,7 @@ const url = {
findLocationByQrCode: (qrCode) => `/locations/findOne/${qrCode}`,
createOrder: () => `/bots/create-order`,
checkTransaction: (orderId) => `/bots/find/one-history/${orderId}`,
expiredOrder: (id) => `/bots/expired-status/${id}`,
}
const hooks = {
@ -22,6 +23,14 @@ const api = {
const res = await http.fetcher(url.checkTransaction(orderId));
return res
},
async createOrder(body) {
return await http.post(url.createOrder(), body)
},
updateStatusExpiredOrder(id) {
return http.put(url.expiredOrder(id));
}
}
export const botsRepository = {