feat: 球局开始前2小时内不能退出
This commit is contained in:
@@ -1,19 +1,23 @@
|
|||||||
|
import dayjs from "dayjs";
|
||||||
import { OrderStatus, CancelType, RefundStatus } from "@/services/orderService";
|
import { OrderStatus, CancelType, RefundStatus } from "@/services/orderService";
|
||||||
|
|
||||||
export function getOrderStatus(orderData) {
|
export function getOrderStatus(orderData) {
|
||||||
const { order_status, cancel_type, refund_status, order_no } = orderData
|
const { order_status, cancel_type, refund_status, order_no, game_info } = orderData
|
||||||
if (!order_no) {
|
if (!order_no) {
|
||||||
return 'none'
|
return 'none'
|
||||||
}
|
}
|
||||||
|
const { start_time } = game_info
|
||||||
const unPay = order_status === OrderStatus.PENDING && ([CancelType.NONE].includes(cancel_type));
|
const unPay = order_status === OrderStatus.PENDING && ([CancelType.NONE].includes(cancel_type));
|
||||||
const refund = [RefundStatus.SUCCESS].includes(refund_status);
|
const refund = [RefundStatus.SUCCESS].includes(refund_status);
|
||||||
const refunding = [RefundStatus.PENDING].includes(refund_status);
|
const refunding = [RefundStatus.PENDING].includes(refund_status);
|
||||||
const expired =
|
const expired =
|
||||||
order_status === OrderStatus.FINISHED;
|
order_status === OrderStatus.FINISHED;
|
||||||
|
|
||||||
|
const frozen = dayjs().add(2, 'h').isAfter(dayjs(start_time))
|
||||||
|
|
||||||
const canceled = [CancelType.TIMEOUT, CancelType.USER].includes(cancel_type);
|
const canceled = [CancelType.TIMEOUT, CancelType.USER].includes(cancel_type);
|
||||||
|
|
||||||
return unPay ? 'unpay' : refund ? 'refund' : canceled ? 'canceled' : expired ? 'expired' : refunding ? 'refunding' : 'progress'
|
return unPay ? 'unpay' : refund ? 'refund' : canceled ? 'canceled' : expired ? 'expired' : refunding ? 'refunding' : frozen ? 'start' : 'progress'
|
||||||
}
|
}
|
||||||
|
|
||||||
// scene: list、detail
|
// scene: list、detail
|
||||||
@@ -59,6 +63,7 @@ export function generateOrderActions(orderData, actions, scene) {
|
|||||||
['canceled', [deleteOrder, gameDetail]],
|
['canceled', [deleteOrder, gameDetail]],
|
||||||
['expired', [deleteOrder, gameDetail]],
|
['expired', [deleteOrder, gameDetail]],
|
||||||
['progress', [quitGame, gameDetail]],
|
['progress', [quitGame, gameDetail]],
|
||||||
|
['start', [gameDetail]],
|
||||||
['refund', [deleteOrder, gameDetail]],
|
['refund', [deleteOrder, gameDetail]],
|
||||||
['refunding', [gameDetail]],
|
['refunding', [gameDetail]],
|
||||||
['unpay', [cancelOrder, payNow]]
|
['unpay', [cancelOrder, payNow]]
|
||||||
@@ -71,6 +76,7 @@ export function generateOrderActions(orderData, actions, scene) {
|
|||||||
['canceled', [deleteOrder, gameDetail]],
|
['canceled', [deleteOrder, gameDetail]],
|
||||||
['expired', [gameDetail, deleteOrder]],
|
['expired', [gameDetail, deleteOrder]],
|
||||||
['progress', [gameDetail, quitGame]],
|
['progress', [gameDetail, quitGame]],
|
||||||
|
['start', [gameDetail]],
|
||||||
['refund', [deleteOrder, gameDetail]],
|
['refund', [deleteOrder, gameDetail]],
|
||||||
['refunding', [gameDetail]],
|
['refunding', [gameDetail]],
|
||||||
['unpay', [cancelOrder]]
|
['unpay', [cancelOrder]]
|
||||||
|
|||||||
Reference in New Issue
Block a user