def refund_ticket(self): orderno = request.params['orderno'] ticket_flag = request.params['ticket_flag'] seats = request.params['sid'] order = Order.getby_orderno(orderno) if not order: return Code.order_does_not_exist, {'orderno': orderno} # 订单是否已打印 if order.status == OrderStatus.printed.value: return Code.ticket_printed_already, {} # 订单是否支付 if order.status != OrderStatus.paid.value: return Code.order_not_paid_yet, {} # 核对订单码 if not order.validate(ticket_flag): return Code.ticket_flag_error, {'ticket_flag': ticket_flag} refund_num = PlaySeat.refund(orderno, order.pid, seats) # 退票数 if not refund_num: return Code.ticket_refund_failed, {} order.status = OrderStatus.refund.value order.refund_time = datetime.now() order.save() return {'refund_num': refund_num}
def refund(self): orderno = request.params["orderno"] ticket_flag = request.params["ticket_flag"] seats = request.params["sid"] order = Order.getby_orderno(orderno) if not order: return Code.order_does_not_exist, {"orderno": orderno} # 判断是否出票 if order.status == OrderStatus.printed.value: return Code.ticket_printed_already, {} # 订单是否支付 if order.status != OrderStatus.paid.value: return Code.order_not_paid_yet, {} # 判断取票码 if not order.validate(ticket_flag): return Code.ticket_flag_error, {"ticket_flag": ticket_flag} refund_num = PlaySeat.refund(orderno, order.pid, seats) if not refund_num: return Code.ticket_refund_failed, {} order.status = OrderStatus.refund.value order.refund_time = datetime.now() order.save() return {"refund_num": refund_num}