diff --git a/dspt_api/util/general/handle_card.py b/dspt_api/util/general/handle_card.py index 8e63d1d..819f50b 100644 --- a/dspt_api/util/general/handle_card.py +++ b/dspt_api/util/general/handle_card.py @@ -13,7 +13,7 @@ def get_card(ip, env, pid, cid): card_num = redis_con.get(redis_key) print('get_card-card_num', card_num) return str(card_num, encoding='utf-8') - return False + return '请手动输入会员卡号' def set_card(ip, env, pid, cid, card): diff --git a/dspt_api/util/general/suggest_params.py b/dspt_api/util/general/suggest_params.py index d494c14..914d8c1 100644 --- a/dspt_api/util/general/suggest_params.py +++ b/dspt_api/util/general/suggest_params.py @@ -31,6 +31,13 @@ from dspt_api.util.mapi.seat_price import MapiSeatPrice from dspt_api.util.mapi.seat_lock_buy import MapiSeatLockBuy from dspt_api.util.mapi.card_get_goods_price import MapiCardGetGoodsPrice from dspt_api.util.mapi.order_buy_goods import MapiOrderBuyGoods +from dspt_api.util.mapi.card_auth import MapiCardAuth +from dspt_api.util.mapi.card_detail import MapiCardDetail +from dspt_api.util.mapi.card_buy_info import MapiCardBuyInfo +from dspt_api.util.mapi.order_tickets import MapiOrderTickets +from dspt_api.util.mapi.card_recharge_log import MapiCardRechargeLog +from dspt_api.util.mapi.order_list import MapiOrderList + # 通过api来匹配不同的接口文件获取推荐 # 返回推荐参数应该包含参数名,参数值,和是否勾选的状态 @@ -157,6 +164,30 @@ def suggest_params(member_type, api, env, cid, pid, ip, **kwargs): params = ApiSeatCheckCoupon(**data).get_suggestion() # 会员 + # 3.1.2 会员卡密码校验 + if api == 'card/auth' and member_type == 'member': + print('card/auth') + params = MapiCardAuth(**data).get_suggestion() + # 3.1.3 查询会员卡的详细信息 + if api == 'card/detail' and member_type == 'member': + print('card/detail') + params = MapiCardDetail(**data).get_suggestion() + # 3.1.4 获取会员卡某场次的购票信息 + if api == 'card/buy-info' and member_type == 'member': + print('card/buy-info') + params = MapiCardBuyInfo(**data).get_suggestion() + # 3.1.5 获取有效的未出票订单 + if api == 'order/tickets' and member_type == 'member': + print('order/tickets') + params = MapiOrderTickets(**data).get_suggestion() + # 3.1.6 查询会员卡充值记录 + if api == 'card/recharge-log' and member_type == 'member': + print('card/recharge-log') + params = MapiCardRechargeLog(**data).get_suggestion() + # 3.1.7 查询会员卡历史订单 + if api == 'order/list' and member_type == 'member': + print('order/list') + params = MapiOrderList(**data).get_suggestion() # 3.2.6 获取场次座位状态 if api == 'play/seat-status' and member_type == 'member': print('play/seat-status') @@ -309,6 +340,30 @@ def suggest_params_timestamp(member_type, api, env, cid, pid, ip, **kwargs): _timestamps = ApiSeatCheckCoupon(**data).get_timestamp() # 会员 + # 3.1.2 会员卡密码校验 + if api == 'card/auth' and member_type == 'member': + print('card/auth') + _timestamps = MapiCardAuth(**data).get_timestamp() + # 3.1.3 查询会员卡的详细信息 + if api == 'card/detail' and member_type == 'member': + print('card/detail') + _timestamps = MapiCardDetail(**data).get_timestamp() + # 3.1.4 获取会员卡某场次的购票信息 + if api == 'card/buy-info' and member_type == 'member': + print('card/buy-info') + _timestamps = MapiCardBuyInfo(**data).get_timestamp() + # 3.1.5 获取有效的未出票订单 + if api == 'order/tickets' and member_type == 'member': + print('order/tickets') + _timestamps = MapiOrderTickets(**data).get_timestamp() + # 3.1.6 查询会员卡充值记录 + if api == 'card/recharge-log' and member_type == 'member': + print('card/recharge-log') + _timestamps = MapiCardRechargeLog(**data).get_timestamp() + # 3.1.7 查询会员卡历史订单 + if api == 'order/list' and member_type == 'member': + print('order/list') + _timestamps = MapiOrderList(**data).get_timestamp() # 3.2.6 获取场次座位状态 if api == 'play/seat-status' and member_type == 'member': print('play/seat-status') diff --git a/dspt_api/util/mapi/card_auth.py b/dspt_api/util/mapi/card_auth.py new file mode 100644 index 0000000..020a33e --- /dev/null +++ b/dspt_api/util/mapi/card_auth.py @@ -0,0 +1,37 @@ +from dspt_api.util.general.handle_card import get_card +from dspt_api.util.general.handle_params import add_param +import time + + +class MapiCardAuth: + 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.sale_type = kwargs.get('sale_type') + self.pay_type = kwargs.get('pay_type') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + 'sale_type': self.sale_type, + 'pay_type': self.pay_type, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data, self.sale_type, self.pay_type) + # 获取会员卡号 + card_num = get_card(self.ip, self.env, self.pid, self.cid) + add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) + print(__name__, self.return_data) + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) diff --git a/dspt_api/util/mapi/card_buy_info.py b/dspt_api/util/mapi/card_buy_info.py new file mode 100644 index 0000000..a36e68f --- /dev/null +++ b/dspt_api/util/mapi/card_buy_info.py @@ -0,0 +1,50 @@ +from dspt_api.util.general.handle_redis import get_data_from_redis +from dspt_api.util.general.handle_card import get_card +from dspt_api.util.general.handle_params import add_param +import time + + +class MapiCardBuyInfo: + 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.sale_type = kwargs.get('sale_type') + self.pay_type = kwargs.get('pay_type') + self.user_data = { + 'ip': self.ip, + 'env': self.env, + 'member_type': self.member_type, + 'pid': self.pid, + 'cid': self.cid, + 'sale_type': self.sale_type, + 'pay_type': self.pay_type, + } + self.return_data = [] + + def get_suggestion(self): + print('get_suggestion', self.user_data, self.sale_type, self.pay_type) + # 获取会员卡号 + card_num = get_card(self.ip, self.env, self.pid, self.cid) + add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) + print(__name__, self.return_data) + + # 获取play_id 和 play_update_time + redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' + request_api_play = {'name': '3.2.3 获取放映计划列表', 'path': 'cinema/plays'} + redis_key_api_play = f'{redis_key_prefix}_{request_api_play["path"]}' + result_play, _format_play, seat_price_from_play, _timestamp_play = get_data_from_redis(redis_key_api_play) + play_id = seat_price_from_play['id'] + if result_play is False: + add_param(self.return_data, 'play_id', '请手动输入参数,检查相关接口返回值:3.2.3 获取放映计划列表', + timestamp=int(time.time() * 1000)) + else: + add_param(self.return_data, 'play_id', play_id, timestamp=int(time.time() * 1000)) + return self.return_data + + @staticmethod + def get_timestamp(): + return int(time.time() * 1000) diff --git a/dspt_api/util/mapi/card_detail.py b/dspt_api/util/mapi/card_detail.py new file mode 100644 index 0000000..f10bf23 --- /dev/null +++ b/dspt_api/util/mapi/card_detail.py @@ -0,0 +1,5 @@ +from dspt_api.util.mapi.card_auth import MapiCardAuth + + +class MapiCardDetail(MapiCardAuth): + pass diff --git a/dspt_api/util/mapi/card_get_goods_price.py b/dspt_api/util/mapi/card_get_goods_price.py index 99a2d2d..c33b019 100644 --- a/dspt_api/util/mapi/card_get_goods_price.py +++ b/dspt_api/util/mapi/card_get_goods_price.py @@ -36,10 +36,7 @@ class MapiCardGetGoodsPrice: def handle(self): # 获取会员卡号 card_num = get_card(self.ip, self.env, self.pid, self.cid) - if card_num is False: - add_param(self.return_data, 'card', '请手动输入会员卡号', timestamp=int(time.time() * 1000)) - else: - add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) + add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' request_api_play_seat_status = {'name': '3.3.1 获取卖品列表', 'path': 'cinema/goods'} redis_key_api_play_seat_status = f'{redis_key_prefix}_{request_api_play_seat_status["path"]}' diff --git a/dspt_api/util/mapi/card_recharge_log.py b/dspt_api/util/mapi/card_recharge_log.py new file mode 100644 index 0000000..7477ef0 --- /dev/null +++ b/dspt_api/util/mapi/card_recharge_log.py @@ -0,0 +1,5 @@ +from dspt_api.util.mapi.card_auth import MapiCardAuth + + +class MapiCardRechargeLog(MapiCardAuth): + pass diff --git a/dspt_api/util/mapi/order_buy_goods.py b/dspt_api/util/mapi/order_buy_goods.py index 5f8e7d2..c5245c3 100644 --- a/dspt_api/util/mapi/order_buy_goods.py +++ b/dspt_api/util/mapi/order_buy_goods.py @@ -34,10 +34,7 @@ class MapiOrderBuyGoods: print('get_suggestion', self.user_data, self.sale_type, self.pay_type) # 获取会员卡号 card_num = get_card(self.ip, self.env, self.pid, self.cid) - if card_num is False: - add_param(self.return_data, 'card', '请手动输入会员卡号', timestamp=int(time.time() * 1000)) - else: - add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) + add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) # 通用字段 add_param(self.return_data, 'mobile', '18688886666', timestamp=1000000000000) _partner_buy_ticket_id = general_order_num('BUY_T', self.api, self.member_type, self.ip, self.env, self.pid, diff --git a/dspt_api/util/mapi/order_list.py b/dspt_api/util/mapi/order_list.py new file mode 100644 index 0000000..da42374 --- /dev/null +++ b/dspt_api/util/mapi/order_list.py @@ -0,0 +1,5 @@ +from dspt_api.util.mapi.card_auth import MapiCardAuth + + +class MapiOrderList(MapiCardAuth): + pass diff --git a/dspt_api/util/mapi/order_tickets.py b/dspt_api/util/mapi/order_tickets.py new file mode 100644 index 0000000..dd5c886 --- /dev/null +++ b/dspt_api/util/mapi/order_tickets.py @@ -0,0 +1,5 @@ +from dspt_api.util.mapi.card_auth import MapiCardAuth + + +class MapiOrderTickets(MapiCardAuth): + pass \ No newline at end of file diff --git a/dspt_api/util/mapi/seat_lock_buy.py b/dspt_api/util/mapi/seat_lock_buy.py index 5f0aae2..dfbebb9 100644 --- a/dspt_api/util/mapi/seat_lock_buy.py +++ b/dspt_api/util/mapi/seat_lock_buy.py @@ -34,10 +34,7 @@ class MapiSeatLockBuy: print('get_suggestion', self.user_data, self.sale_type, self.pay_type) # 获取会员卡号 card_num = get_card(self.ip, self.env, self.pid, self.cid) - if card_num is False: - add_param(self.return_data, 'card', '请手动输入会员卡号', timestamp=int(time.time() * 1000)) - else: - add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) + add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000)) # 通用字段 add_param(self.return_data, 'mobile', '18688886666', timestamp=1000000000000) _partner_buy_ticket_id = general_order_num('BUY_T', self.api, self.member_type, self.ip, self.env, self.pid, diff --git a/dspt_api/util/mapi/seat_price.py b/dspt_api/util/mapi/seat_price.py index 84660aa..0d1f617 100644 --- a/dspt_api/util/mapi/seat_price.py +++ b/dspt_api/util/mapi/seat_price.py @@ -30,10 +30,8 @@ class MapiSeatPrice: def handle(self): # card - card = get_card(self.ip, self.env, self.pid, self.cid) - if not card: - add_param(self.return_data, 'card', '请手动输入参数') - add_param(self.return_data, 'card', card) + card_num = get_card(self.ip, self.env, self.pid, self.cid) + add_param(self.return_data, 'card', card_num) redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}' # lock_code