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