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 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>
)} )}

View File

@ -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 = {