From 8d7cec515056eaf94029de0ecdf98fd087d98f49 Mon Sep 17 00:00:00 2001 From: RogerWork Date: Fri, 27 Dec 2024 15:34:03 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9E=E4=BC=9A=E5=91=98=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=B8=80=E5=8D=8A=EF=BC=8C=E6=9C=89=E4=BA=9B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=98=E6=98=AF=E8=80=81=E8=A6=81=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=96=B9=E5=BC=8F=EF=BC=8C=E4=BB=A5=E5=90=8E?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- command.txt | 1 + dspt_api/util/api/goods_deduct.py | 52 +++++++ dspt_api/util/api/order_info.py | 4 + dspt_api/util/api/order_status.py | 46 +++++++ dspt_api/util/api/order_ticket_flag.py | 46 +++++++ dspt_api/util/api/seat_unlock.py | 61 +++++++++ dspt_api/util/api/ticket_info.py | 10 ++ dspt_api/util/api/ticket_info_by_qrcode.py | 46 +++++++ dspt_api/util/api/ticket_print.py | 50 +++++++ dspt_api/util/api/ticket_refund.py | 54 ++++++++ dspt_api/util/api/ticket_refundv2.py | 52 +++++++ dspt_api/util/general/suggest_params.py | 152 +++++++++++++++++++-- 12 files changed, 559 insertions(+), 15 deletions(-) create mode 100644 command.txt create mode 100644 dspt_api/util/api/goods_deduct.py create mode 100644 dspt_api/util/api/order_info.py create mode 100644 dspt_api/util/api/order_status.py create mode 100644 dspt_api/util/api/order_ticket_flag.py create mode 100644 dspt_api/util/api/seat_unlock.py create mode 100644 dspt_api/util/api/ticket_info.py create mode 100644 dspt_api/util/api/ticket_info_by_qrcode.py create mode 100644 dspt_api/util/api/ticket_print.py create mode 100644 dspt_api/util/api/ticket_refund.py diff --git a/command.txt b/command.txt new file mode 100644 index 0000000..2426192 --- /dev/null +++ b/command.txt @@ -0,0 +1 @@ +py .\manage.py runserver 0.0.0.0:8000 diff --git a/dspt_api/util/api/goods_deduct.py b/dspt_api/util/api/goods_deduct.py new file mode 100644 index 0000000..d80a3d4 --- /dev/null +++ b/dspt_api/util/api/goods_deduct.py @@ -0,0 +1,52 @@ +import json +from dspt_api.util.general.handle_redis import get_data_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random + + +""" +UPDATE cinema_common_info SET cinema_common_info_val = '[{"channel_name":"ziying","shelf_id":"1"}]' WHERE cinema_common_info_key = 'third_channel_autosell_config'; +""" + + +class ApiGoodsDeduct: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data) + self.handle() + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) + + def handle(self): + # 获取 ticket_flag + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_lock_buy = {'name': '3.3.3 混合下单(影票、卖品)', 'path': 'seat/lock-buy'} + redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}' + result_lock_buy, _format_lock_buy, ticket_flag_lock_buy, _timestamp_lock_buy = get_data_from_redis( + redis_key_api_lock_buy) + if not result_lock_buy: + self.add_param('center_flag', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('center_flag', ticket_flag_lock_buy['ticketFlag1'] + ticket_flag_lock_buy['ticketFlag2']) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/api/order_info.py b/dspt_api/util/api/order_info.py new file mode 100644 index 0000000..8237f75 --- /dev/null +++ b/dspt_api/util/api/order_info.py @@ -0,0 +1,4 @@ +from dspt_api.util.api.order_ticket_flag import ApiOrderTicketFlag + +class ApiOrderInfo(ApiOrderTicketFlag): + pass \ No newline at end of file diff --git a/dspt_api/util/api/order_status.py b/dspt_api/util/api/order_status.py new file mode 100644 index 0000000..4144704 --- /dev/null +++ b/dspt_api/util/api/order_status.py @@ -0,0 +1,46 @@ +import json +from dspt_api.util.general.handle_redis import get_param_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random + + +class ApiOrderStatus: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data) + self.handle() + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) + + def handle(self): + # 获取 ticket_flag + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_lock_buy = {'name': '3.3.3 混合下单(影票、卖品)', 'path': 'seat/lock-buy'} + redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}' + result_lock_buy = get_param_from_redis(redis_key_api_lock_buy) + if not result_lock_buy: + self.add_param('partner_order_id', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('partner_order_id', result_lock_buy['partner_buy_ticket_id']) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/api/order_ticket_flag.py b/dspt_api/util/api/order_ticket_flag.py new file mode 100644 index 0000000..8f77111 --- /dev/null +++ b/dspt_api/util/api/order_ticket_flag.py @@ -0,0 +1,46 @@ +import json +from dspt_api.util.general.handle_redis import get_param_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random + + +class ApiOrderTicketFlag: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data) + self.handle() + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) + + def handle(self): + # 获取 ticket_flag + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_lock_buy = {'name': '3.3.3 混合下单(影票、卖品)', 'path': 'seat/lock-buy'} + redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}' + result_lock_buy = get_param_from_redis(redis_key_api_lock_buy) + if not result_lock_buy: + self.add_param('partner_buy_ticket_id', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('partner_buy_ticket_id', result_lock_buy['partner_buy_ticket_id']) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/api/seat_unlock.py b/dspt_api/util/api/seat_unlock.py new file mode 100644 index 0000000..635af96 --- /dev/null +++ b/dspt_api/util/api/seat_unlock.py @@ -0,0 +1,61 @@ +from django.utils.timezone import template_localtime +from twisted.mail.alias import handle + +from dspt_api.util.general.handle_redis import get_data_from_redis +import time + + +class ApiSeatUnlock: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.return_data = [] + + def get_suggestion(self): + self.handle() + return self.return_data + + def get_timestamp(self): + self.handle() + temp_timestamp = 0 + for data in self.return_data: + temp_timestamp = data['timestamp'] if data['timestamp'] > 0 else temp_timestamp + return temp_timestamp + + def handle(self): + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + # 获取 play_id + request_api_play = {'name': '3.1.5 获取放映计划列表', 'path': 'cinema/plays'} + redis_key_api_play = f'{redis_key_prefix}_{request_api_play["path"]}' + result_play, _format_play, data_play, _timestamp_play = get_data_from_redis(redis_key_api_play) + if not result_play: + self.add_param('play_id', '请手动输入参数,或先请求接口:3.1.5 获取放映计划列表') + else: + self.add_param('play_id', data_play['id'], timestamp=_timestamp_play) + + # 获取 seat_id + request_api_seat = {'name': '3.1.8 获取某场次座位状态', 'path': 'play/seat-status'} + redis_key_api_seat = f'{redis_key_prefix}_{request_api_seat["path"]}' + result_seat, _format_seat, data_seat, _timestamp_seat = get_data_from_redis(redis_key_api_seat) + if not result_seat: + self.add_param('seat_id', '请手动输入参数,或先请求接口:3.1.8 获取某场次座位状态') + else: + seat_id = ','.join([seat['cineSeatId'] for seat in data_seat]) + self.add_param('seat_id', seat_id, timestamp=_timestamp_seat) + + # 获取 lock_flag + request_api_lock = {'name': '3.3.1 座位锁定', 'path': 'seat/lock'} + redis_key_api_lock = f'{redis_key_prefix}_{request_api_lock["path"]}' + result_lock, _format_lock, data_lock, _timestamp_lock = get_data_from_redis(redis_key_api_lock) + if not result_lock: + self.add_param('lock_flag', '请手动输入参数,或先请求接口:3.3.1 座位锁定') + else: + self.add_param('lock_flag', data_lock['lockFlag'], timestamp=_timestamp_lock) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/api/ticket_info.py b/dspt_api/util/api/ticket_info.py new file mode 100644 index 0000000..20e5a1d --- /dev/null +++ b/dspt_api/util/api/ticket_info.py @@ -0,0 +1,10 @@ +import json +from dspt_api.util.general.handle_redis import get_data_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random +from dspt_api.util.api.ticket_print import ApiTicketPrint + + +class ApiTicketInfo(ApiTicketPrint): + pass diff --git a/dspt_api/util/api/ticket_info_by_qrcode.py b/dspt_api/util/api/ticket_info_by_qrcode.py new file mode 100644 index 0000000..97a4024 --- /dev/null +++ b/dspt_api/util/api/ticket_info_by_qrcode.py @@ -0,0 +1,46 @@ +import json +from dspt_api.util.general.handle_redis import get_data_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random + + +class ApiTicketInfoByQrcode: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data) + self.handle() + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) + + def handle(self): + # 获取 ticket_flag + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_lock_buy = {'name': '3.3.3 混合下单(影票、卖品)', 'path': 'seat/lock-buy'} + redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}' + result_lock_buy, _format_lock_buy, ticket_flag_lock_buy, _timestamp_lock_buy = get_data_from_redis(redis_key_api_lock_buy) + if not result_lock_buy: + self.add_param('qr_code', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('qr_code', random.choice(ticket_flag_lock_buy['sellInfo'])['qrCode']) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/api/ticket_print.py b/dspt_api/util/api/ticket_print.py new file mode 100644 index 0000000..d502ec7 --- /dev/null +++ b/dspt_api/util/api/ticket_print.py @@ -0,0 +1,50 @@ +import json +from dspt_api.util.general.handle_redis import get_data_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random + + +class ApiTicketPrint: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data) + self.handle() + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) + + def handle(self): + # 获取 ticket_flag + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_lock_buy = {'name': '3.3.3 混合下单(影票、卖品)', 'path': 'seat/lock-buy'} + redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}' + print(redis_key_api_lock_buy) + result_lock_buy, _format_lock_buy, ticket_flag_lock_buy, _timestamp_lock_buy = get_data_from_redis(redis_key_api_lock_buy) + print('ApiTicketPrint', ticket_flag_lock_buy) + if not result_lock_buy: + self.add_param('ticket_flag1', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('ticket_flag2', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('ticket_flag1', ticket_flag_lock_buy['ticketFlag1']) + self.add_param('ticket_flag2', ticket_flag_lock_buy['ticketFlag2']) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/api/ticket_refund.py b/dspt_api/util/api/ticket_refund.py new file mode 100644 index 0000000..f73b818 --- /dev/null +++ b/dspt_api/util/api/ticket_refund.py @@ -0,0 +1,54 @@ +import json +from dspt_api.util.general.handle_redis import get_data_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random + + +class ApiTicketRefund: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data) + + _partner_refund_ticket_id = general_order_num('REF_T', self.api, self.member_type, self.ip, self.env, self.pid, + self.cid) + self.add_param('partner_refund_ticket_id', _partner_refund_ticket_id) + + self.handle() + print('ApiTicketRefundV2-get_suggestion', self.return_data) + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) + + def handle(self): + # 获取 area_info和partner_price + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_lock_buy = {'name': '3.3.3 混合下单(影票、卖品)', 'path': 'seat/lock-buy'} + redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}' + result_lock_buy, _format_lock_buy, ticket_flag_lock_buy, _timestamp_lock_buy = get_data_from_redis(redis_key_api_lock_buy) + if not result_lock_buy: + self.add_param('ticket_flag1', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('ticket_flag2', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('ticket_flag1', ticket_flag_lock_buy['ticketFlag1']) + self.add_param('ticket_flag2', ticket_flag_lock_buy['ticketFlag2']) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/api/ticket_refundv2.py b/dspt_api/util/api/ticket_refundv2.py index e69de29..f3d7f93 100644 --- a/dspt_api/util/api/ticket_refundv2.py +++ b/dspt_api/util/api/ticket_refundv2.py @@ -0,0 +1,52 @@ +import json +from dspt_api.util.general.handle_redis import get_param_from_redis +from dspt_api.util.general.get_order_num import general_order_num +import time +import random + + +class ApiTicketRefundV2: + def __init__(self, **kwargs): + self.member_type = kwargs.get('member_type') + self.api = kwargs.get('api') + self.ip = kwargs.get('ip') + self.env = kwargs.get('env') + self.cid = kwargs.get('cid') + self.pid = kwargs.get('pid') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data) + + _partner_refund_ticket_id = general_order_num('REF_T', self.api, self.member_type, self.ip, self.env, self.pid, + self.cid) + self.add_param('partner_refund_ticket_id', _partner_refund_ticket_id) + + self.handle() + print('ApiTicketRefundV2-get_suggestion', self.return_data) + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) + + def handle(self): + # 获取 area_info和partner_price + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_lock_buy = {'name': '3.3.3 混合下单(影票、卖品)', 'path': 'seat/lock-buy'} + redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}' + params_lock_buy = get_param_from_redis(redis_key_api_lock_buy) + if not params_lock_buy: + self.add_param('partner_buy_ticket_id', '请手动输入参数,或先请求接口:3.3.3 混合下单(影票、卖品)') + self.add_param('partner_buy_ticket_id', params_lock_buy['partner_buy_ticket_id']) + + def add_param(self, field, value, is_checked=True, result=True, timestamp=int(time.time() * 1000)): + self.return_data.append( + {'param': field, 'value': value, 'is_checked': is_checked, 'result': result, 'timestamp': timestamp}) diff --git a/dspt_api/util/general/suggest_params.py b/dspt_api/util/general/suggest_params.py index 609b6d7..d69c5ba 100644 --- a/dspt_api/util/general/suggest_params.py +++ b/dspt_api/util/general/suggest_params.py @@ -15,6 +15,17 @@ from dspt_api.util.api.ecard_order_detail import ApiEcardOrderDetail from dspt_api.util.api.ecard_seat_price import ApiEcardSeatPrice from dspt_api.util.api.seat_check_coupon import ApiSeatCheckCoupon from dspt_api.util.api.seat_lock_buy import ApiSeatLockBuy +from dspt_api.util.api.ticket_refundv2 import ApiTicketRefundV2 +from dspt_api.util.api.ticket_refund import ApiTicketRefund +from dspt_api.util.api.seat_unlock import ApiSeatUnlock +from dspt_api.util.api.ticket_print import ApiTicketPrint +from dspt_api.util.api.ticket_info_by_qrcode import ApiTicketInfoByQrcode +from dspt_api.util.api.ticket_info import ApiTicketInfo +from dspt_api.util.api.order_ticket_flag import ApiOrderTicketFlag +from dspt_api.util.api.order_status import ApiOrderStatus +from dspt_api.util.api.order_info import ApiOrderInfo +from dspt_api.util.api.goods_deduct import ApiGoodsDeduct + # 通过api来匹配不同的接口文件获取推荐 # 返回推荐参数应该包含参数名,参数值,和是否勾选的状态 @@ -23,127 +34,238 @@ def suggest_params(member_type, api, env, cid, pid, ip, **kwargs): print('suggest_params: ', data) params = [] # 非会员 + # 3.1.4 获取影厅座位图* if api == 'cinema/hall-seats' and member_type == 'nonmember': print('cinema/hall-seats') params = ApiCinemaHallSeats(**data).get_suggestion() + # 3.1.6 获取放映计划列表(增量)* if api == 'cinema/plays-increment' and member_type == 'nonmember': print('cinema/plays-increment') params = ApiCinemaPlaysIncrement(**data).get_suggestion() + # 3.1.7 获取某(几)个场次信息* if api == 'play/info' and member_type == 'nonmember': print('play/info') params = ApiPlayInfo(**data).get_suggestion() + # 3.1.8 获取某场次座位状态* if api == 'play/seat-status' and member_type == 'nonmember': print('play/seat-status') params = ApiPlaySeatStatus(**data).get_suggestion() + # 3.1.9 获取某场次座位状态(增量)* if api == 'play/period-changed-seats' and member_type == 'nonmember': print('play/period-changed-seats') params = ApiPlayPeriodChangedSeats(**data).get_suggestion() + # 3.1.10 获取某(几)个场次座位售卖统计信息* if api == 'play/seat-overview' and member_type == 'nonmember': print('play/seat-overview') params = ApiPlaySeatOverview(**data).get_suggestion() + # 3.2.2 获取单个卖品的图片信息* if api == 'cinema/goods-pic' and member_type == 'nonmember': print('cinema/goods-pic') params = ApiCinemaGoodsPic(**data).get_suggestion() + # 3.3.1 座位锁定* if api == 'seat/lock' and member_type == 'nonmember': print('seat/lock') params = ApiSeatLock(**data).get_suggestion() + # 3.3.2 座位解锁* + if api == 'seat/unlock' and member_type == 'nonmember': + print('seat/unlock') + params = ApiSeatUnlock(**data).get_suggestion() + # 3.3.3 混合下单(影票、卖品)* + if api == 'seat/lock-buy' and member_type == 'nonmember': + print('seat/lock-buy') + print("kwargs['sale_type']", kwargs['sale_type']) + print("kwargs['pay_type']", kwargs['pay_type']) + data['sale_type'] = kwargs['sale_type'] + data['pay_type'] = kwargs['pay_type'] + params = ApiSeatLockBuy(**data).get_suggestion() + # 3.3.4 单独下单(卖品)* if api == 'order/buy-goods' and member_type == 'nonmember': print('order/buy-goods') data['sale_type'] = kwargs['sale_type'] data['pay_type'] = kwargs['pay_type'] params = ApiOrderBuyGoods(**data).get_suggestion() + # 3.3.5 混合退单(影票、卖品)* + if api == 'ticket/refundv2' and member_type == 'nonmember': + print('ticket/refundv2') + params = ApiTicketRefundV2(**data).get_suggestion() + # 3.3.6 单独退单(影票)* + if api == 'ticket/refund' and member_type == 'nonmember': + print('ticket/refund') + params = ApiTicketRefund(**data).get_suggestion() + # 3.3.7 查询订单状态及取票码* + if api == 'order/ticket-flag' and member_type == 'nonmember': + print('order/ticket-flag') + params = ApiOrderTicketFlag(**data).get_suggestion() + # 3.3.8 查询订单状态* + if api == 'order/status' and member_type == 'nonmember': + print('order/status') + params = ApiOrderStatus(**data).get_suggestion() + # 3.3.9 查询订单信息(影票)* + if api == 'ticket/info' and member_type == 'nonmember': + print('ticket/info') + params = ApiTicketInfo(**data).get_suggestion() + # 3.3.10 查询订单信息(影票、卖品)* + if api == 'order/info' and member_type == 'nonmember': + print('order/info') + params = ApiOrderInfo(**data).get_suggestion() + # 3.3.11 查询影票信息(检票商闸机扫码)* + if api == 'ticket/info-by-qrcode' and member_type == 'nonmember': + print('ticket/info-by-qrcode') + params = ApiTicketInfoByQrcode(**data).get_suggestion() + # 3.3.12 确认出票(设置影票为已出票)* + if api == 'ticket/print' and member_type == 'nonmember': + print('ticket/print') + params = ApiTicketPrint(**data).get_suggestion() + # 3.3.13 卖品确认出货(扣减卖品库存量)* + if api == 'goods/deduct' and member_type == 'nonmember': + print('goods/deduct') + params = ApiGoodsDeduct(**data).get_suggestion() + # 3.4.2 联名卡开卡* if api == 'ecard/regist' and member_type == 'nonmember': print('ecard/regist') params = ApiEcardRegist(**data).get_suggestion() + # 3.4.3 联名卡续卡* if api == 'ecard/renew' and member_type == 'nonmember': print('ecard/renew') params = ApiEcardRenew(**data).get_suggestion() + # 3.4.4 获取联名卡详情* if api == 'ecard/detail' and member_type == 'nonmember': print('ecard/detail') params = ApiEcardDetail(**data).get_suggestion() + # 3.4.5 联名卡开卡/续卡订单详情* if api == 'ecard/order-detail' and member_type == 'nonmember': print('ecard/order-detail') params = ApiEcardOrderDetail(**data).get_suggestion() + # 3.4.6 获取座位的联名卡价格* if api == 'ecard/seat-price' and member_type == 'nonmember': print('ecard/seat-price') params = ApiEcardSeatPrice(**data).get_suggestion() + # 3.4.8 联名卡退单* if api == 'ecard/refund' and member_type == 'nonmember': print('ecard/refund') params = ApiEcardRefund(**data).get_suggestion() + # 3.6.1 添加券* if api == 'seat/check-coupon' and member_type == 'nonmember': print('seat/check-coupon') print("kwargs['sale_type']", kwargs['sale_type']) data['sale_type'] = kwargs['sale_type'] params = ApiSeatCheckCoupon(**data).get_suggestion() - if api == 'seat/lock-buy' and member_type == 'nonmember': - print('seat/lock-buy') - print("kwargs['sale_type']", kwargs['sale_type']) - print("kwargs['pay_type']", kwargs['pay_type']) - data['sale_type'] = kwargs['sale_type'] - data['pay_type'] = kwargs['pay_type'] - params = ApiSeatLockBuy(**data).get_suggestion() return params def suggest_params_timestamp(member_type, api, env, cid, pid, ip, **kwargs): data = {'member_type': member_type, 'api': api, 'env': env, 'cid': cid, 'pid':pid, 'ip': ip} _timestamps = 0 # 非会员 + # 3.1.4 获取影厅座位图* if api == 'cinema/hall-seats' and member_type == 'nonmember': print('cinema/hall-seats') _timestamps = ApiCinemaHallSeats(**data).get_timestamp() + # 3.1.6 获取放映计划列表(增量)* if api == 'cinema/plays-increment' and member_type == 'nonmember': print('cinema/plays-increment') _timestamps = ApiCinemaPlaysIncrement(**data).get_timestamp() + # 3.1.7 获取某(几)个场次信息* if api == 'play/info' and member_type == 'nonmember': print('play/info') _timestamps = ApiPlayInfo(**data).get_timestamp() + # 3.1.8 获取某场次座位状态* if api == 'play/seat-status' and member_type == 'nonmember': print('play/seat-status') _timestamps = ApiPlaySeatStatus(**data).get_timestamp() + # 3.1.9 获取某场次座位状态(增量)* if api == 'play/period-changed-seats' and member_type == 'nonmember': print('play/period-changed-seats') _timestamps = ApiPlayPeriodChangedSeats(**data).get_timestamp() + # 3.1.10 获取某(几)个场次座位售卖统计信息* if api == 'play/seat-overview' and member_type == 'nonmember': print('play/seat-overview') _timestamps = ApiPlaySeatOverview(**data).get_timestamp() + # 3.2.2 获取单个卖品的图片信息* if api == 'cinema/goods-pic' and member_type == 'nonmember': print('cinema/goods-pic') _timestamps = ApiCinemaGoodsPic(**data).get_timestamp() + # 3.3.1 座位锁定* if api == 'seat/lock' and member_type == 'nonmember': print('seat/lock') _timestamps = ApiSeatLock(**data).get_timestamp() + # 3.3.2 座位解锁* + if api == 'seat/unlock' and member_type == 'nonmember': + print('seat/unlock') + _timestamps = ApiSeatUnlock(**data).get_timestamp() + # 3.3.3 混合下单(影票、卖品)* + if api == 'seat/lock-buy' and member_type == 'nonmember': + print('seat/lock-buy') + data['sale_type'] = kwargs['sale_type'] + data['pay_type'] = kwargs['pay_type'] + _timestamps = ApiSeatLockBuy(**data).get_timestamp() + # 3.3.4 单独下单(卖品)* if api == 'order/buy-goods' and member_type == 'nonmember': print('order/buy-goods') _timestamps = ApiOrderBuyGoods(**data).get_timestamp() + # 3.3.5 混合退单(影票、卖品)* + if api == 'ticket/refundv2' and member_type == 'nonmember': + print('ticket/refundv2') + _timestamps = ApiTicketRefundV2(**data).get_timestamp() + # 3.3.6 单独退单(影票)* + if api == 'ticket/refund' and member_type == 'nonmember': + print('ticket/refund') + _timestamps = ApiTicketRefund(**data).get_timestamp() + # 3.3.7 查询订单状态及取票码* + if api == 'order/ticket-flag' and member_type == 'nonmember': + print('order/ticket-flag') + _timestamps = ApiOrderTicketFlag(**data).get_timestamp() + # 3.3.8 查询订单状态* + if api == 'order/status' and member_type == 'nonmember': + print('order/status') + _timestamps = ApiOrderStatus(**data).get_timestamp() + # 3.3.9 查询订单信息(影票)* + if api == 'ticket/info' and member_type == 'nonmember': + print('ticket/info') + _timestamps = ApiTicketInfo(**data).get_timestamp() + # 3.3.10 查询订单信息(影票、卖品)* + if api == 'order/info' and member_type == 'nonmember': + print('order/info') + _timestamps = ApiOrderInfo(**data).get_timestamp() + # 3.3.11 查询影票信息(检票商闸机扫码)* + if api == 'ticket/info-by-qrcode' and member_type == 'nonmember': + print('ticket/info-by-qrcode') + _timestamps = ApiTicketInfoByQrcode(**data).get_timestamp() + # 3.3.12 确认出票(设置影票为已出票)* + if api == 'ticket/print' and member_type == 'nonmember': + print('ticket/print') + _timestamps = ApiTicketPrint(**data).get_timestamp() + # 3.3.13 卖品确认出货(扣减卖品库存量)* + if api == 'goods/deduct' and member_type == 'nonmember': + print('goods/deduct') + _timestamps = ApiGoodsDeduct(**data).get_timestamp() + # 3.4.2 联名卡开卡* if api == 'ecard/regist' and member_type == 'nonmember': print('ecard/regist') _timestamps = ApiEcardRegist(**data).get_timestamp() + # 3.4.3 联名卡续卡* if api == 'ecard/renew' and member_type == 'nonmember': print('ecard/renew') _timestamps = ApiEcardRenew(**data).get_timestamp() + # 3.4.4 获取联名卡详情* if api == 'ecard/detail' and member_type == 'nonmember': print('ecard/detail') _timestamps = ApiEcardDetail(**data).get_timestamp() + # 3.4.5 联名卡开卡/续卡订单详情* if api == 'ecard/order-detail' and member_type == 'nonmember': print('ecard/order-detail') _timestamps = ApiEcardOrderDetail(**data).get_timestamp() + # 3.4.6 获取座位的联名卡价格* if api == 'ecard/seat-price' and member_type == 'nonmember': print('ecard/seat-price') _timestamps = ApiEcardSeatPrice(**data).get_timestamp() + # 3.4.8 联名卡退单* if api == 'ecard/refund' and member_type == 'nonmember': print('ecard/refund') _timestamps = ApiEcardRefund(**data).get_timestamp() + # 3.6.1 添加券* if api == 'seat/check-coupon' and member_type == 'nonmember': print('seat/check-coupon') print("kwargs['sale_type']", kwargs['sale_type']) data['sale_type'] = kwargs['sale_type'] _timestamps = ApiSeatCheckCoupon(**data).get_timestamp() - if api == 'seat/lock-buy' and member_type == 'nonmember': - print('seat/lock-buy') - print(kwargs) - print("kwargs['sale_type']", kwargs['sale_type']) - print("kwargs['pay_type']", kwargs['pay_type']) - data['sale_type'] = kwargs['sale_type'] - data['pay_type'] = kwargs['pay_type'] - _timestamps = ApiSeatLockBuy(**data).get_timestamp() return _timestamps \ No newline at end of file