优化全部会员接口

main
RogerWork 4 weeks ago
parent 884ccc7352
commit ed6430c378
  1. 9
      dspt_api/util/general/handle_card.py
  2. 9
      dspt_api/util/general/handle_redis.py
  3. 134
      dspt_api/util/general/suggest_params.py
  4. 22
      dspt_api/util/mapi/card_active.py
  5. 3
      dspt_api/util/mapi/card_auth.py
  6. 11
      dspt_api/util/mapi/card_buy_info.py
  7. 25
      dspt_api/util/mapi/card_get_goods_price.py
  8. 5
      dspt_api/util/mapi/card_jifen_query.py
  9. 18
      dspt_api/util/mapi/card_recharge.py
  10. 22
      dspt_api/util/mapi/card_regist.py
  11. 6
      dspt_api/util/mapi/card_trade_query.py
  12. 3
      dspt_api/util/mapi/cinema_recharge_bill.py
  13. 15
      dspt_api/util/mapi/movie_info.py
  14. 48
      dspt_api/util/mapi/order_buy_goods.py
  15. 12
      dspt_api/util/mapi/order_detail.py
  16. 72
      dspt_api/util/mapi/order_info.py
  17. 31
      dspt_api/util/mapi/order_status.py
  18. 30
      dspt_api/util/mapi/order_ticket_flag.py
  19. 14
      dspt_api/util/mapi/play_info.py
  20. 16
      dspt_api/util/mapi/play_period_changed_seats.py
  21. 19
      dspt_api/util/mapi/play_seat_status.py
  22. 34
      dspt_api/util/mapi/seat_book.py
  23. 30
      dspt_api/util/mapi/seat_lock.py
  24. 84
      dspt_api/util/mapi/seat_lock_buy.py
  25. 30
      dspt_api/util/mapi/seat_price.py
  26. 29
      dspt_api/util/mapi/seat_unlock.py
  27. 17
      dspt_api/util/mapi/ticket_info.py
  28. 29
      dspt_api/util/mapi/ticket_refund.py
  29. 37
      dspt_api/views.py

@ -5,15 +5,18 @@ from dspt_api.util.general.sign import Sign
import requests
def get_card(ip, env, pid, cid):
def get_card(ip, env, pid, cid, card=None):
if card is not None and card != "请手动输入会员卡号":
set_card(ip, env, pid, cid, card)
return True, card
redis_con = get_redis_connection()
redis_key = f"card_{ip}_{env}_{pid}_{cid}"
print('get_card-card_num', redis_key)
if redis_con.exists(redis_key):
card_num = redis_con.get(redis_key)
print('get_card-card_num', card_num)
return str(card_num, encoding='utf-8')
return '请手动输入会员卡号'
return True, str(card_num, encoding='utf-8')
return False, '请手动输入会员卡号'
def set_card(ip, env, pid, cid, card):

@ -54,3 +54,12 @@ def get_param_from_redis(redis_key):
request_params = redis_data['params']
return request_params
return False
def get_timestamp_from_redis(redis_key):
# 初始话redis
redis_conn = get_redis_connection()
if redis_conn.exists(redis_key):
redis_data = json.loads(redis_conn.get(redis_key))
request_timestamp = redis_data['timestamp']
return request_timestamp
return 0

@ -189,146 +189,206 @@ def suggest_params(member_type, api, env, cid, pid, ip, **kwargs):
# 3.1.2 会员卡密码校验
if api == 'card/auth' and member_type == 'member':
print('card/auth')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardAuth(**data).get_suggestion()
# 3.1.3 查询会员卡的详细信息
if api == 'card/detail' and member_type == 'member':
print('card/detail')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardDetail(**data).get_suggestion()
# 3.1.4 获取会员卡某场次的购票信息
if api == 'card/buy-info' and member_type == 'member':
print('card/buy-info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardBuyInfo(**data).get_suggestion()
# 3.1.5 获取有效的未出票订单
if api == 'order/tickets' and member_type == 'member':
print('order/tickets')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiOrderTickets(**data).get_suggestion()
# 3.1.6 查询会员卡充值记录
if api == 'card/recharge-log' and member_type == 'member':
print('card/recharge-log')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardRechargeLog(**data).get_suggestion()
# 3.1.7 查询会员卡历史订单
if api == 'order/list' and member_type == 'member':
print('order/list')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiOrderList(**data).get_suggestion()
# 3.1.8 查询某条订单的详细信息
if api == 'order/detail' and member_type == 'member':
print('order/detail')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiOrderDetail(**data).get_suggestion()
# 3.1.10 会员卡消费流水查询
if api == 'card/trade-query' and member_type == 'member':
print('card/trade-query')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardTradeQuery(**data).get_suggestion()
# 3.1.12 会员卡积分记录查询
if api == 'card/jifen-query' and member_type == 'member':
print('card/jifen-query')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardJifenQuery(**data).get_suggestion()
# 3.2.4 获取影片详细信息
if api == 'movie/info' and member_type == 'member':
print('movie/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiMovieInfo(**data).get_suggestion()
# 3.2.5 获取场次详细信息
if api == 'play/info' and member_type == 'member':
print('play/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiPlayInfo(**data).get_suggestion()
# 3.2.6 获取场次座位状态
if api == 'play/seat-status' and member_type == 'member':
print('play/seat-status')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiPlaySeatStatus(**data).get_suggestion()
# 3.2.7 获取场次座位状态增量
if api == 'play/period-changed-seats' and member_type == 'member':
print('play/period-changed-seats')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiPlayPeriodChangedSeats(**data).get_suggestion()
# 3.2.8 获取场次座位售卖统计信息
if api == 'play/seat-overview' and member_type == 'member':
print('play/seat-overview')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiPlaySeatOverview(**data).get_suggestion()
# 3.3.2 获取卖品折扣信息
if api == 'card/get-goods-price' and member_type == 'member':
print('card/get-goods-price')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardGetGoodsPrice(**data).get_suggestion()
# 3.4.1 订票
if api == 'seat/book' and member_type == 'member':
print('seat/book')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiSeatBook(**data).get_suggestion()
# 3.4.2 会员卡充值
if api == 'card/recharge' and member_type == 'member':
print('card/recharge')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardRecharge(**data).get_suggestion()
# 3.4.3 座位锁定
if api == 'seat/lock' and member_type == 'member':
print('seat/lock')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiSeatLock(**data).get_suggestion()
# 3.4.4 座位锁定后获取票价
if api == 'seat/price' and member_type == 'member':
print('seat/price')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiSeatPrice(**data).get_suggestion()
# 3.4.5 座位解锁
if api == 'seat/unlock' and member_type == 'member':
print('seat/unlock')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiSeatUnlock(**data).get_suggestion()
# 3.4.6 混合下单(影票、卖品)
if api == 'seat/lock-buy' and member_type == 'member':
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 = MapiSeatLockBuy(**data).get_suggestion()
# 3.4.7 单独下单(卖品)
if api == 'order/buy-goods' and member_type == 'member':
print('order/buy-goods')
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 = MapiOrderBuyGoods(**data).get_suggestion()
# 3.4.8 退单(影票、卖品)
if api == 'ticket/refund' and member_type == 'member':
print('ticket/refund')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiTicketRefund(**data).get_suggestion()
# 3.4.9 查询订单状态及取票码
if api == 'order/ticket-flag' and member_type == 'member':
print('order/ticket-flag')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiOrderTicketFlag(**data).get_suggestion()
# 3.4.10 查询订单状态
if api == 'order/status' and member_type == 'member':
print('order/status')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiOrderStatus(**data).get_suggestion()
# 3.4.11 查询订单信息(影票)
if api == 'ticket/info' and member_type == 'member':
print('ticket/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiTicketInfo(**data).get_suggestion()
# 3.4.12 查询订单信息(影票、卖品)
if api == 'order/info' and member_type == 'member':
print('order/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiOrderInfo(**data).get_suggestion()
# 3.4.13 确认出票(设置影票为已出票)
if api == 'ticket/print' and member_type == 'member':
print('ticket/print')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiTicketPrint(**data).get_suggestion()
# 3.4.14 会员卡激活
if api == 'card/active' and member_type == 'member':
print('card/active')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardActive(**data).get_suggestion()
# 3.4.15 会员卡线上开卡
if api == 'card/regist' and member_type == 'member':
print('card/regist')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCardRegist(**data).get_suggestion()
# 3.5.1 充值明细对账
if api == 'cinema/recharge-bill' and member_type == 'member':
print('cinema/recharge-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCinemaRechargeBill(**data).get_suggestion()
# 3.5.2 影票对账
if api == 'cinema/ticket-bill' and member_type == 'member':
print('cinema/ticket-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCinemaTicketBill(**data).get_suggestion()
# 3.5.3 卖品对账
if api == 'cinema/goods-bill' and member_type == 'member':
print('cinema/goods-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCinemaGoodsBill(**data).get_suggestion()
# 3.5.4 发卡明细对账
if api == 'cinema/send-card-bill' and member_type == 'member':
print('cinema/send-card-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
params = MapiCinemaSendCardBill(**data).get_suggestion()
return params
@ -454,82 +514,122 @@ def suggest_params_timestamp(member_type, api, env, cid, pid, ip, **kwargs):
# 3.1.2 会员卡密码校验
if api == 'card/auth' and member_type == 'member':
print('card/auth')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardAuth(**data).get_timestamp()
# 3.1.3 查询会员卡的详细信息
if api == 'card/detail' and member_type == 'member':
print('card/detail')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardDetail(**data).get_timestamp()
# 3.1.4 获取会员卡某场次的购票信息
if api == 'card/buy-info' and member_type == 'member':
print('card/buy-info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardBuyInfo(**data).get_timestamp()
# 3.1.5 获取有效的未出票订单
if api == 'order/tickets' and member_type == 'member':
print('order/tickets')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiOrderTickets(**data).get_timestamp()
# 3.1.6 查询会员卡充值记录
if api == 'card/recharge-log' and member_type == 'member':
print('card/recharge-log')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardRechargeLog(**data).get_timestamp()
# 3.1.7 查询会员卡历史订单
if api == 'order/list' and member_type == 'member':
print('order/list')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiOrderList(**data).get_timestamp()
# 3.1.8 查询某条订单的详细信息
if api == 'order/detail' and member_type == 'member':
print('order/detail')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiOrderDetail(**data).get_timestamp()
# 3.1.10 会员卡消费流水查询
if api == 'card/trade-query' and member_type == 'member':
print('card/trade-query')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardTradeQuery(**data).get_timestamp()
# 3.1.12 会员卡积分记录查询
if api == 'card/jifen-query' and member_type == 'member':
print('card/jifen-query')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardJifenQuery(**data).get_timestamp()
# 3.2.4 获取影片详细信息
if api == 'movie/info' and member_type == 'member':
print('movie/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiMovieInfo(**data).get_timestamp()
# 3.2.5 获取场次详细信息
if api == 'play/info' and member_type == 'member':
print('play/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiPlayInfo(**data).get_timestamp()
# 3.2.6 获取场次座位状态
if api == 'play/seat-status' and member_type == 'member':
print('play/seat-status')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiPlaySeatStatus(**data).get_timestamp()
# 3.2.7 获取场次座位状态增量
if api == 'play/period-changed-seats' and member_type == 'member':
print('play/period-changed-seats')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiPlayPeriodChangedSeats(**data).get_timestamp()
# 3.2.8 获取场次座位售卖统计信息
if api == 'play/seat-overview' and member_type == 'member':
print('play/seat-overview')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiPlaySeatOverview(**data).get_timestamp()
# 3.3.2 获取卖品折扣信息
if api == 'card/get-goods-price' and member_type == 'member':
print('card/get-goods-price')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardGetGoodsPrice(**data).get_timestamp()
# 3.4.1 订票
if api == 'seat/book' and member_type == 'member':
print('seat/book')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiSeatBook(**data).get_timestamp()
# 3.4.2 会员卡充值
if api == 'card/recharge' and member_type == 'member':
print('card/recharge')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardRecharge(**data).get_timestamp()
# 3.4.3 座位锁定
if api == 'seat/lock' and member_type == 'member':
print('seat/lock')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiSeatLock(**data).get_timestamp()
# 3.4.4 座位锁定后获取票价
if api == 'seat/price' and member_type == 'member':
print('seat/price')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiSeatPrice(**data).get_timestamp()
# 3.4.5 座位解锁
if api == 'seat/unlock' and member_type == 'member':
print('seat/unlock')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiSeatUnlock(**data).get_timestamp()
# 3.4.6 混合下单(影票、卖品)
if api == 'seat/lock-buy' and member_type == 'member':
@ -540,57 +640,79 @@ def suggest_params_timestamp(member_type, api, env, cid, pid, ip, **kwargs):
# 3.4.7 单独下单(卖品)
if api == 'order/buy-goods' and member_type == 'member':
print('order/buy-goods')
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 = MapiOrderBuyGoods(**data).get_timestamp()
# 3.4.8 退单(影票、卖品)
if api == 'ticket/refund' and member_type == 'member':
print('ticket/refund')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiTicketRefund(**data).get_timestamp()
# 3.4.9 查询订单状态及取票码
if api == 'order/ticket-flag' and member_type == 'member':
print('order/ticket-flag')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiOrderTicketFlag(**data).get_timestamp()
# 3.4.10 查询订单状态
if api == 'order/status' and member_type == 'member':
print('order/status')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiOrderStatus(**data).get_timestamp()
# 3.4.11 查询订单信息(影票)
if api == 'ticket/info' and member_type == 'member':
print('ticket/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiTicketInfo(**data).get_timestamp()
# 3.4.12 查询订单信息(影票、卖品)
if api == 'order/info' and member_type == 'member':
print('order/info')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiOrderInfo(**data).get_timestamp()
# 3.4.13 确认出票(设置影票为已出票)
if api == 'ticket/print' and member_type == 'member':
print('ticket/print')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiTicketPrint(**data).get_timestamp()
# 3.4.14 会员卡激活
if api == 'card/active' and member_type == 'member':
print('card/active')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardActive(**data).get_timestamp()
# 3.4.15 会员卡线上开卡
if api == 'card/regist' and member_type == 'member':
print('card/regist')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCardRegist(**data).get_timestamp()
# 3.5.1 充值明细对账
if api == 'cinema/recharge-bill' and member_type == 'member':
print('cinema/recharge-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCinemaRechargeBill(**data).get_timestamp()
# 3.5.2 影票对账
if api == 'cinema/ticket-bill' and member_type == 'member':
print('cinema/ticket-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCinemaTicketBill(**data).get_timestamp()
# 3.5.3 卖品对账
if api == 'cinema/goods-bill' and member_type == 'member':
print('cinema/goods-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCinemaGoodsBill(**data).get_timestamp()
# 3.5.4 发卡明细对账
if api == 'cinema/send-card-bill' and member_type == 'member':
print('cinema/send-card-bill')
data['sale_type'] = kwargs['sale_type']
data['pay_type'] = kwargs['pay_type']
_timestamps = MapiCinemaSendCardBill(**data).get_timestamp()
return _timestamps

@ -1,12 +1,7 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card, get_card_level_val, get_card_type
from dspt_api.util.general.handle_card import get_card, get_card_level_val
from dspt_api.util.general.handle_params import add_param
import time
import random
class MapiCardActive:
@ -32,19 +27,20 @@ class MapiCardActive:
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))
# 通用字段
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num)
# partner_order_id
partner_order_id = general_order_num('ACTIVE', self.api, self.member_type, self.ip, self.env, self.pid,
self.cid)
add_param(self.return_data, 'partner_order_id', partner_order_id)
# money
active_card_pay = '自动获取激活费用,请手动输入!'
if card_result:
active_card_pay = get_card_level_val(self.env, self.pid, self.cid, card_num, 'activeCardFee')
if not active_card_pay:
add_param(self.return_data, 'money', '自动获取激活费用,请手动输入!')
else:
add_param(self.return_data, 'money', active_card_pay)
print(__name__, self.return_data)

@ -27,8 +27,9 @@ class MapiCardAuth:
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)
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000))
print(__name__, self.return_data)
return self.return_data

@ -28,21 +28,20 @@ class MapiCardBuyInfo:
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)
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
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 = '请手动输入参数,检查相关接口返回值:3.2.3 获取放映计划列表'
if result_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))
print(__name__, self.return_data)
return self.return_data
@staticmethod

@ -1,10 +1,8 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_params import add_param
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_goods import general_goods_field_member, change_goods_price_str
import time
class MapiCardGetGoodsPrice:
@ -15,19 +13,26 @@ class MapiCardGetGoodsPrice:
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):
# play_id play_update_time
print('get_suggestion', self.user_data)
# card & goods
self.handle()
print(__name__, self.return_data)
return self.return_data
def get_timestamp(self):
@ -35,14 +40,18 @@ class MapiCardGetGoodsPrice:
def handle(self):
# 获取会员卡号
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))
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num)
# goods
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"]}'
result, _format, _goods_data, _timestamp = get_data_from_redis(redis_key_api_play_seat_status)
goods = '请手动输入参数,或先请求接口:3.3.1 获取卖品列表'
if result:
goods_field_list, total_goods_val = general_goods_field_member(_goods_data, self.user_data)
if not result:
add_param(self.return_data,'goods', '请手动输入参数,或先请求接口:3.3.1 获取卖品列表')
add_param(self.return_data,'goods', json.dumps(change_goods_price_str(goods_field_list)))
goods = json.dumps(change_goods_price_str(goods_field_list))
add_param(self.return_data,'goods', goods)
return _timestamp if result else 0

@ -27,13 +27,16 @@ class MapiCardJifenQuery:
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)
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000))
# stime and etime
start_date, end_date = get_stime_etime('date')
add_param(self.return_data, 'start', start_date)
add_param(self.return_data, 'end', end_date)
print(__name__, self.return_data)
return self.return_data

@ -1,12 +1,7 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card, get_card_val
from dspt_api.util.general.handle_params import add_param
import time
import random
class MapiCardRecharge:
@ -32,17 +27,20 @@ class MapiCardRecharge:
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))
# 通用字段
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num)
# partner_deposit_id
partner_deposit_id = general_order_num('RECHARGE', self.api, self.member_type, self.ip, self.env, self.pid,
self.cid)
add_param(self.return_data, 'partner_deposit_id', partner_deposit_id)
# money
recharge_pay = get_card_val(self.env, self.pid, self.cid, card_num, 'minAddMoney')
if not recharge_pay:
add_param(self.return_data, 'money', '自动获取最低充值金额失败,请手动输入!')
else:
recharge_pay = '自动获取最低充值金额失败,请手动输入!'
add_param(self.return_data, 'money', recharge_pay)
print(__name__, self.return_data)

@ -1,12 +1,8 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card, get_card_level_val, get_card_type
from dspt_api.util.general.handle_params import add_param
import json
import time
import random
class MapiCardRegist:
@ -32,24 +28,22 @@ class MapiCardRegist:
def get_suggestion(self):
print('get_suggestion', self.user_data, self.sale_type, self.pay_type)
# 通用字段
# partner_order_id
partner_order_id = general_order_num('REG', self.api, self.member_type, self.ip, self.env, self.pid,
self.cid)
add_param(self.return_data, 'partner_order_id', partner_order_id)
# check_mobile
add_param(self.return_data, 'check_mobile', '2')
# card_info
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
request_api_card_level= {'name': '3.1.1 获取影院卡等级规则', 'path': 'cinema/card-level-rule'}
request_api_card_level = {'name': '3.1.1 获取影院卡等级规则', 'path': 'cinema/card-level-rule'}
redis_key_api_card_level = f'{redis_key_prefix}_{request_api_card_level["path"]}'
print('redis_key_api_card_level', redis_key_api_card_level)
result_card_level, _format_card_level, data_card_level, _timestamp_card_level = get_data_from_redis(redis_key_api_card_level)
print('data_card_level', data_card_level)
if not result_card_level:
add_param(self.return_data, 'card_info', '请手动输入参数,或先请求接口:3.1.1 获取影院卡等级规则')
else:
result_card_level, _format_card_level, data_card_level, _timestamp_card_level = get_data_from_redis(
redis_key_api_card_level)
card_info = '请手动输入参数,或先请求接口:3.1.1 获取影院卡等级规则'
if result_card_level:
card_info = {'password': 'c8837b23ff8aaa8a2dde915473ce0991',
'mobile': '18688886666',
'cardLevelId': data_card_level['levelId'],

@ -1,7 +1,7 @@
from dspt_api.util.general.handle_time import get_stime_etime
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_params import add_param
import time, datetime
import time
class MapiCardTradeQuery:
@ -28,12 +28,14 @@ class MapiCardTradeQuery:
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)
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000))
# stime and etime
start_date, end_date = get_stime_etime('time')
add_param(self.return_data, 'stime', start_date)
add_param(self.return_data, 'etime', end_date)
print(__name__, self.return_data)
return self.return_data

@ -1,5 +1,4 @@
from dspt_api.util.general.handle_time import get_stime_etime
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_params import add_param
import time
@ -27,10 +26,12 @@ class MapiCinemaRechargeBill:
def get_suggestion(self):
print('get_suggestion', self.user_data, self.sale_type, self.pay_type)
# stime and etime
start_date, end_date = get_stime_etime('date', today=False)
add_param(self.return_data, 'start_date', start_date)
add_param(self.return_data, 'end_date', end_date)
print(__name__, self.return_data)
return self.return_data

@ -1,5 +1,4 @@
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
@ -28,17 +27,17 @@ class MapiMovieInfo:
def get_suggestion(self):
print('get_suggestion', self.user_data, self.sale_type, self.pay_type)
# 获取play_id 和 play_update_time
# mid
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)
cine_movie_id = seat_price_from_play['movieInfo'][0]['cineMovieId']
if result_play is False:
add_param(self.return_data, 'mid', '请手动输入参数,检查相关接口返回值:3.2.3 获取放映计划列表',
timestamp=int(time.time() * 1000))
else:
add_param(self.return_data, 'mid', cine_movie_id, timestamp=int(time.time() * 1000))
mid = '请手动输入参数,检查相关接口返回值:3.2.3 获取放映计划列表'
if result_play:
mid = seat_price_from_play['movieInfo'][0]['cineMovieId']
add_param(self.return_data, 'mid', mid, timestamp=int(time.time() * 1000))
print(__name__, self.return_data)
return self.return_data
@staticmethod

@ -1,12 +1,10 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_params import add_param
import time
import random
import json
class MapiOrderBuyGoods:
@ -32,16 +30,21 @@ class MapiOrderBuyGoods:
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))
# 通用字段
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num)
# mobile
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,
# partner_buy_ticket_id
partner_buy_ticket_id = general_order_num('BUY_G', self.api, self.member_type, self.ip, self.env, self.pid,
self.cid)
add_param(self.return_data, 'partner_buy_ticket_id', _partner_buy_ticket_id)
add_param(self.return_data, 'partner_buy_ticket_id', partner_buy_ticket_id)
self.handle(card_num)
print(__name__, self.return_data)
return self.return_data
@ -52,25 +55,26 @@ class MapiOrderBuyGoods:
def handle(self, card_num):
_third_pay = 0
if self.sale_type == 'goods':
delivery_appoint_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time() + 5 * 60))
# goods & goods_card_balance_pay & goods_cash
_good_result, _goods_field, _goods_card_balance_pay, _goods_cash, _third_pay, _goods_timestamp = general_goods_params_member(
self.user_data, self.pay_type, card_num, _third_pay)
print('general_goods_params_member', _good_result, _goods_field, _goods_card_balance_pay, _goods_cash,
_third_pay, _goods_timestamp)
if _good_result is False:
add_param(self.return_data, 'goods', '请手动输入参数,或先请求接口:3.3.1 获取卖品列表',
timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_card_balance_pay', '请手动输入参数,或先请求接口:3.3.1 获取卖品列表',
timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_cash', '请手动输入参数,或先请求接口:3.3.1 获取卖品列表',
timestamp=_goods_timestamp)
return False
add_param(self.return_data, 'goods', json.dumps(_goods_field), timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_card_balance_pay', _goods_card_balance_pay, timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_cash', _goods_cash, timestamp=_goods_timestamp)
goods = '请手动输入参数,或先请求接口:3.3.1 获取卖品列表'
goods_card_balance_pay = '请手动输入参数,或先请求接口:3.3.1 获取卖品列表'
goods_cash = '请手动输入参数,或先请求接口:3.3.1 获取卖品列表'
if _good_result:
goods = json.dumps(_goods_field)
goods_card_balance_pay = _goods_card_balance_pay
goods_cash = _goods_cash
add_param(self.return_data, 'goods', goods, timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_card_balance_pay', goods_card_balance_pay, timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_cash', goods_cash, timestamp=_goods_timestamp)
add_param(self.return_data, 'delivery_type', '2', is_checked=True, timestamp=_goods_timestamp)
add_param(self.return_data, 'delivery_location', '1号厅', is_checked=True, timestamp=_goods_timestamp)
add_param(self.return_data, 'delivery_appoint_time', delivery_appoint_time, is_checked=True,
add_param(self.return_data, 'delivery_appoint_time',
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time() + 5 * 60)), is_checked=True,
timestamp=_goods_timestamp)
add_param(self.return_data, 'contact_number', '18688886666', is_checked=True, timestamp=_goods_timestamp)
add_param(self.return_data, 't3d_pay_amount', _third_pay, timestamp=_goods_timestamp)

@ -28,20 +28,22 @@ class MapiOrderDetail:
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)
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000))
# order_id
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
request_api_play = {'name': '3.4.6 混合下单(影票、卖品)', 'path': 'seat/lock-buy'}
redis_key_api_play = f'{redis_key_prefix}_{request_api_play["path"]}'
result_buy, _format_buy, data_buy, _timestamp_buy = get_data_from_redis(redis_key_api_play)
order_id = '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品)'
if result_buy:
order_id = data_buy['ticketFlag1'] + data_buy['ticketFlag2']
if result_buy is False:
add_param(self.return_data, 'order_id', '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品)',
timestamp=int(time.time() * 1000))
else:
add_param(self.return_data, 'order_id', order_id)
#type
add_param(self.return_data, 'type', 'sell')
print(__name__, self.return_data)
return self.return_data

@ -1,4 +1,70 @@
from dspt_api.util.mapi.ticket_info import MapiTicketInfo
from dspt_api.util.general.handle_redis import get_data_from_redis, get_timestamp_from_redis
from dspt_api.util.general.handle_params import add_param
import time
class MapiOrderInfo(MapiTicketInfo):
pass
class MapiOrderInfo:
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)
# ticket_flag1 & ticket_flag2
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
# 影票
request_api_lock_buy = {'name': '3.4.6 混合下单(影票、卖品)', 'path': 'seat/lock-buy'}
redis_key_api_lock_buy = f'{redis_key_prefix}_{request_api_lock_buy["path"]}'
timestamp_lock_buy = get_timestamp_from_redis(redis_key_api_lock_buy)
result_lock_buy, _format_lock_buy, data_lock_buy, _timestamp_lock_buy = get_data_from_redis(
redis_key_api_lock_buy)
# 卖品
request_api_buy_goods = {'name': '3.4.7 单独下单(卖品)', 'path': 'order/buy-goods'}
redis_key_api_buy_goods = f'{redis_key_prefix}_{request_api_buy_goods["path"]}'
timestamp_buy_goods = get_timestamp_from_redis(redis_key_api_buy_goods)
result_buy_goods, _format_buy_goods, data_buy_goods, _timestamp_buy_goods = get_data_from_redis(
redis_key_api_buy_goods)
ticket_flag1 = '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品) 或 3.4.7 单独下单(卖品)'
ticket_flag2 = '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品) 或 3.4.7 单独下单(卖品)'
if result_lock_buy and result_buy_goods:
if int(timestamp_lock_buy) > int(timestamp_buy_goods):
ticket_flag1 = data_lock_buy['ticketFlag1']
ticket_flag2 = data_lock_buy['ticketFlag2']
else:
ticket_flag1 = data_buy_goods['ticketFlag1']
ticket_flag2 = data_buy_goods['ticketFlag2']
elif result_lock_buy:
ticket_flag1 = data_lock_buy['ticketFlag1']
ticket_flag2 = data_lock_buy['ticketFlag2']
elif result_buy_goods:
ticket_flag1 = data_buy_goods['ticketFlag1']
ticket_flag2 = data_buy_goods['ticketFlag2']
add_param(self.return_data, 'ticket_flag1', ticket_flag1)
add_param(self.return_data, 'ticket_flag2', ticket_flag2)
print(__name__, self.return_data)
return self.return_data
@staticmethod
def get_timestamp():
return int(time.time() * 1000)

@ -1,12 +1,6 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis, get_param_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_redis import get_param_from_redis, get_timestamp_from_redis
from dspt_api.util.general.handle_params import add_param
import time
import random
class MapiOrderStatus:
@ -35,15 +29,28 @@ class MapiOrderStatus:
# 获取其他参数
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
# partner_buy_ticket_id
# 影票
request_api_lock_buy = {'name': '3.4.6 混合下单(影票、卖品)', '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)
timestamp_lock_buy = get_timestamp_from_redis(redis_key_api_lock_buy)
param_lock_buy = get_param_from_redis(redis_key_api_lock_buy)
# 卖品
request_api_buy_goods = {'name': '3.4.7 单独下单(卖品)', 'path': 'order/buy-goods'}
redis_key_api_buy_goods = f'{redis_key_prefix}_{request_api_buy_goods["path"]}'
timestamp_buy_goods = get_timestamp_from_redis(redis_key_api_buy_goods)
param_buy_goods = get_param_from_redis(redis_key_api_buy_goods)
if not params_lock_buy:
add_param(self.return_data, 'partner_order_id',
'请手动输入参数,或先请求接口3.4.6 混合下单(影票、卖品)')
partner_order_id = '请手动输入参数,或先请求接口3.4.6 混合下单(影票、卖品)或 3.4.7 单独下单(卖品)'
if timestamp_lock_buy and timestamp_buy_goods:
if int(timestamp_lock_buy) > int(timestamp_buy_goods):
partner_order_id = param_lock_buy['partner_buy_ticket_id']
else:
add_param(self.return_data, 'partner_order_id', params_lock_buy['partner_buy_ticket_id'])
partner_order_id = param_buy_goods['partner_buy_ticket_id']
elif timestamp_lock_buy:
partner_order_id = param_lock_buy['partner_buy_ticket_id']
elif timestamp_buy_goods:
partner_order_id = param_buy_goods['partner_buy_ticket_id']
add_param(self.return_data, 'partner_order_id', partner_order_id)
print(__name__, self.return_data)
return self.return_data

@ -1,12 +1,6 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis, get_param_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_redis import get_param_from_redis, get_timestamp_from_redis
from dspt_api.util.general.handle_params import add_param
import time
import random
class MapiOrderTicketFlag:
@ -35,14 +29,28 @@ class MapiOrderTicketFlag:
# 获取其他参数
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
# partner_buy_ticket_id
# 影票
request_api_lock_buy = {'name': '3.4.6 混合下单(影票、卖品)', '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)
timestamp_lock_buy = get_timestamp_from_redis(redis_key_api_lock_buy)
param_lock_buy = get_param_from_redis(redis_key_api_lock_buy)
# 卖品
request_api_buy_goods = {'name': '3.4.7 单独下单(卖品)', 'path': 'order/buy-goods'}
redis_key_api_buy_goods = f'{redis_key_prefix}_{request_api_buy_goods["path"]}'
timestamp_buy_goods = get_timestamp_from_redis(redis_key_api_buy_goods)
param_buy_goods = get_param_from_redis(redis_key_api_buy_goods)
if not params_lock_buy:
add_param(self.return_data, 'partner_buy_ticket_id', '请手动输入参数,或先请求接口3.4.6 混合下单(影票、卖品)')
partner_buy_ticket_id = '请手动输入参数,或先请求接口3.4.6 混合下单(影票、卖品)或 3.4.7 单独下单(卖品)'
if timestamp_lock_buy and timestamp_buy_goods:
if int(timestamp_lock_buy) > int(timestamp_buy_goods):
partner_buy_ticket_id = param_lock_buy['partner_buy_ticket_id']
else:
add_param(self.return_data, 'partner_buy_ticket_id', params_lock_buy['partner_buy_ticket_id'])
partner_buy_ticket_id = param_buy_goods['partner_buy_ticket_id']
elif timestamp_lock_buy:
partner_buy_ticket_id = param_lock_buy['partner_buy_ticket_id']
elif timestamp_buy_goods:
partner_buy_ticket_id = param_buy_goods['partner_buy_ticket_id']
add_param(self.return_data, 'partner_buy_ticket_id', partner_buy_ticket_id)
print(__name__, self.return_data)
return self.return_data

@ -1,5 +1,4 @@
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
@ -28,18 +27,17 @@ class MapiPlayInfo:
def get_suggestion(self):
print('get_suggestion', self.user_data, self.sale_type, self.pay_type)
# 获取play_id 和 play_update_time
# 获取play_id
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)
print('seat_price_from_play', seat_price_from_play)
play_id = '请手动输入参数,检查相关接口返回值:3.2.3 获取放映计划列表'
if result_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))
add_param(self.return_data, 'play_id', play_id, timestamp=_timestamp_play)
print(__name__, self.return_data)
return self.return_data
@staticmethod

@ -1,5 +1,4 @@
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, datetime
@ -28,20 +27,21 @@ class MapiPlayPeriodChangedSeats:
def get_suggestion(self):
print('get_suggestion', self.user_data, self.sale_type, self.pay_type)
# 获取play_id 和 play_update_time
# 获取play_id
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)
print('seat_price_from_play', seat_price_from_play)
play_id = '请手动输入参数,检查相关接口返回值:3.2.3 获取放映计划列表'
if result_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))
add_param(self.return_data, 'play_id', play_id, timestamp=_timestamp_play)
# start
start = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d') + ' 06:00:00'
add_param(self.return_data, 'start', start, timestamp=int(time.time() * 1000))
print(__name__, self.return_data)
return self.return_data
@staticmethod

@ -1,6 +1,5 @@
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_params import add_param
import time
class MapiPlaySeatStatus:
@ -21,9 +20,12 @@ class MapiPlaySeatStatus:
self.return_data = []
def get_suggestion(self):
# play_id play_update_time
print('get_suggestion', self.user_data)
# play_id play_update_time
self.handle()
print(__name__, self.return_data)
return self.return_data
def get_timestamp(self):
@ -34,9 +36,12 @@ class MapiPlaySeatStatus:
request_api_play_seat_status = {'name': '3.2.3 获取放映计划列表', 'path': 'cinema/plays'}
redis_key_api_play_seat_status = f'{redis_key_prefix}_{request_api_play_seat_status["path"]}'
result, _format, play_data, _timestamp = get_data_from_redis(redis_key_api_play_seat_status)
if not result:
add_param(self.return_data,'play_id', '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表')
add_param(self.return_data,'play_update_time', '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表')
add_param(self.return_data,'play_id', play_data['id'])
add_param(self.return_data,'play_update_time', play_data['cineUpdateTime'])
play_id = '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表'
play_update_time = '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表'
if result:
play_id = play_data['id']
play_update_time = play_data['cineUpdateTime']
add_param(self.return_data, 'play_id', play_id)
add_param(self.return_data, 'play_update_time', play_update_time)
return _timestamp if result else 0

@ -1,12 +1,8 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_params import add_param
import time
import random
class MapiSeatBook:
@ -32,35 +28,39 @@ class MapiSeatBook:
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)
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num, timestamp=int(time.time() * 1000))
# 通用字段
# phone
add_param(self.return_data, 'phone', '18688886666', timestamp=1000000000000)
# partner_book_id
partner_book_id = general_order_num('BOOK_T', self.api, self.member_type, self.ip, self.env, self.pid,
self.cid)
add_param(self.return_data, 'partner_book_id', partner_book_id)
# 获取其他参数
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
# seat_id
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
request_api_seat = {'name': '3.2.6 获取某场次座位状态', 'path': 'play/seat-status'}
redis_key_api_seat = f'{redis_key_prefix}_{request_api_seat["path"]}'
result_seat, _format_seat, seat_data, _timestamp_seat = get_data_from_redis(redis_key_api_seat)
seat_id = '请手动输入参数,或先请求接口3.2.6 获取某场次座位状态'
if result_seat:
seat_id_list = [seat['cineSeatId'] for seat in seat_data]
if not result_seat:
add_param(self.return_data, 'seat_id', '请手动输入参数,或先请求接口3.2.6 获取某场次座位状态')
else:
add_param(self.return_data, 'seat_id', ','.join(seat_id_list))
# 获取play_id
seat_id = ','.join(seat_id_list)
add_param(self.return_data, 'seat_id', seat_id)
# play_id
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 = '请手动输入参数,或先请求接口3.2.3 获取放映计划列表'
if result_play:
play_id = seat_price_from_play['id']
add_param(self.return_data, 'play_id', play_id)
if not result_play:
add_param(self.return_data, 'play_id', '请手动输入参数,或先请求接口3.2.3 获取放映计划列表')
else:
add_param(self.return_data, 'play_id', seat_price_from_play['id'])
print(__name__, self.return_data)
return self.return_data

@ -1,6 +1,5 @@
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_params import add_param
import random
class MapiSeatLock:
@ -22,7 +21,11 @@ class MapiSeatLock:
def get_suggestion(self):
print('get_suggestion', self.user_data)
# play_id & play_update_time & seat_id
self.handle()
print(__name__, self.return_data)
return self.return_data
def get_timestamp(self):
@ -30,26 +33,27 @@ class MapiSeatLock:
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, play_data, _timestamp_play = get_data_from_redis(redis_key_api_play)
if not result_play:
add_param(self.return_data, 'play_id', '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表')
add_param(self.return_data, 'play_update_time', '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表')
else:
add_param(self.return_data, 'play_id', play_data['id'])
add_param(self.return_data, 'play_update_time', play_data['cineUpdateTime'])
play_id = '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表'
play_update_time = '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表'
if result_play:
play_id = play_data['id']
play_update_time = play_data['cineUpdateTime']
add_param(self.return_data, 'play_id', play_id)
add_param(self.return_data, 'play_update_time', play_update_time)
# 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, seat_data, _timestamp_seat = get_data_from_redis(redis_key_api_seat)
if not result_seat:
add_param(self.return_data, 'seat_id', '请手动输入参数,或先请求接口:3.2.6 获取场次座位状态')
else:
seat_id = '请手动输入参数,或先请求接口:3.2.6 获取场次座位状态'
if result_seat:
seat_id = ','.join([seat['cineSeatId'] for seat in seat_data])
add_param(self.return_data, 'seat_id', seat_id)
# 处理混合结果
if result_play and result_seat:
return _timestamp_play if _timestamp_play > _timestamp_seat else _timestamp_seat
return 0
return max(_timestamp_play, _timestamp_seat)

@ -1,12 +1,10 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_params import add_param
import time
import random
class MapiSeatLockBuy:
@ -32,17 +30,21 @@ class MapiSeatLockBuy:
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))
# 通用字段
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
add_param(self.return_data, 'card', card_num)
# mobile
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,
partner_buy_ticket_id = general_order_num('BUY_T', self.api, self.member_type, self.ip, self.env, self.pid,
self.cid)
add_param(self.return_data, 'partner_buy_ticket_id', _partner_buy_ticket_id)
add_param(self.return_data, 'partner_buy_ticket_id', partner_buy_ticket_id)
#
self.handle(card_num)
print('ApiSeatLockBuy-get_suggestion', self.return_data)
print(__name__, self.return_data)
return self.return_data
@staticmethod
@ -50,34 +52,31 @@ class MapiSeatLockBuy:
return int(time.time() * 1000)
def handle(self, card_num):
# 处理影票部分
# 影票部分
# play_id & seat & lock_flag & play_update_time & seat_coupons & is_cinema_price & is_split_service_fee & t3d_pay_amount
_ticket_result, _seat, _play_id, _play_update_time, _lock_flag, _seat_coupons, _is_cinema_price, _is_split_service_fee, _third_pay, _ticket_timestamp = general_seat_params_member(
self.pay_type, self.user_data, card_num)
print('general_seat_params', _ticket_result, _seat, _play_id, _play_update_time, _lock_flag, _seat_coupons,
_is_cinema_price, _is_split_service_fee, _third_pay, _ticket_timestamp)
if _ticket_result is False:
add_param(self.return_data, 'play_id', '请手动输入参数,或先请求接口:3.1.5 获取放映计划列表',
timestamp=_ticket_timestamp)
add_param(self.return_data, 'seat', '请手动输入参数,或先请求接口:3.1.8 获取某场次座位状态',
timestamp=_ticket_timestamp)
add_param(self.return_data, 'lock_flag', '请手动输入参数,或先请求接口:3.3.1 座位锁定',
timestamp=_ticket_timestamp)
add_param(self.return_data, 'play_update_time', '请手动输入参数,或先请求接口:3.1.5 获取放映计划列表',
timestamp=_ticket_timestamp)
add_param(self.return_data, 'seat_coupons', '请手动输入参数,或请求其他前置接口返回结果!',
timestamp=_ticket_timestamp)
add_param(self.return_data, 'is_cinema_price', '请手动输入参数,或请求其他前置接口返回结果!',
timestamp=_ticket_timestamp)
add_param(self.return_data, 'is_split_service_fee', '请手动输入参数,或请求其他前置接口返回结果!',
timestamp=_ticket_timestamp)
add_param(self.return_data, 't3d_pay_amount', '请手动输入参数,或请求其他前置接口返回结果!',
timestamp=_ticket_timestamp)
return False
add_param(self.return_data, 'play_id', _play_id, timestamp=_ticket_timestamp)
add_param(self.return_data, 'seat', _seat, timestamp=_ticket_timestamp)
add_param(self.return_data, 'lock_flag', _lock_flag, timestamp=_ticket_timestamp)
add_param(self.return_data, 'play_update_time', _play_update_time, timestamp=_ticket_timestamp)
add_param(self.return_data, 'is_cinema_price', _is_cinema_price, timestamp=_ticket_timestamp)
play_id = '请手动输入参数,或先请求接口:3.1.5 获取放映计划列表'
seat = '请手动输入参数,或先请求接口:3.1.8 获取某场次座位状态'
lock_flag = '请手动输入参数,或先请求接口:3.3.1 座位锁定'
play_update_time = '请手动输入参数,或先请求接口:3.1.5 获取放映计划列表'
is_cinema_price = '请手动输入参数,或请求其他前置接口返回结果!'
# is_split_service_fee = '请手动输入参数,或请求其他前置接口返回结果!'
# t3d_pay_amount = '请手动输入参数,或请求其他前置接口返回结果!'
# seat_coupons = '请手动输入参数,或请求其他前置接口返回结果!'
if _ticket_result:
play_id = _play_id
seat = _seat
lock_flag = _lock_flag
play_update_time = _play_update_time
is_cinema_price = _is_cinema_price
add_param(self.return_data, 'play_id', play_id, timestamp=_ticket_timestamp)
add_param(self.return_data, 'seat', seat, timestamp=_ticket_timestamp)
add_param(self.return_data, 'lock_flag', lock_flag, timestamp=_ticket_timestamp)
add_param(self.return_data, 'play_update_time', play_update_time, timestamp=_ticket_timestamp)
add_param(self.return_data, 'is_cinema_price', is_cinema_price, timestamp=_ticket_timestamp)
if _is_split_service_fee is not None:
add_param(self.return_data, 'is_split_service_fee', _is_split_service_fee, timestamp=_ticket_timestamp)
else:
@ -94,17 +93,16 @@ class MapiSeatLockBuy:
self.user_data, self.pay_type, card_num, _third_pay)
print('general_goods_params_member', _good_result, _goods_field, _goods_card_balance_pay, _goods_cash,
_third_pay, _goods_timestamp)
if _good_result is False:
add_param(self.return_data, 'goods', '请手动输入参数,或先请求接口:3.3.1 获取卖品列表',
timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_card_balance_pay', '请手动输入参数,或先请求接口:3.3.1 获取卖品列表',
timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_cash', '请手动输入参数,或先请求接口:3.3.1 获取卖品列表',
timestamp=_goods_timestamp)
return False
add_param(self.return_data, 'goods', json.dumps(_goods_field), timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_card_balance_pay', _goods_card_balance_pay, timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_cash', _goods_cash, timestamp=_goods_timestamp)
goods = '请手动输入参数,或先请求接口:3.3.1 获取卖品列表'
goods_card_balance_pay = '请手动输入参数,或先请求接口:3.3.1 获取卖品列表'
goods_cash = '请手动输入参数,或先请求接口:3.3.1 获取卖品列表'
if _good_result:
goods = json.dumps(_goods_field)
goods_card_balance_pay = _goods_card_balance_pay
goods_cash = _goods_cash
add_param(self.return_data, 'goods', goods, timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_card_balance_pay', goods_card_balance_pay, timestamp=_goods_timestamp)
add_param(self.return_data, 'goods_cash', goods_cash, timestamp=_goods_timestamp)
add_param(self.return_data, 'delivery_type', '2', is_checked=True, timestamp=_goods_timestamp)
add_param(self.return_data, 'delivery_location', '1号厅', is_checked=True, timestamp=_goods_timestamp)
add_param(self.return_data, 'delivery_appoint_time', delivery_appoint_time, is_checked=True,

@ -11,18 +11,26 @@ class MapiSeatPrice:
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)
# card & lock_code
self.handle()
print(__name__, self.return_data)
return self.return_data
def get_timestamp(self):
@ -30,18 +38,18 @@ class MapiSeatPrice:
def handle(self):
# card
card_num = get_card(self.ip, self.env, self.pid, self.cid)
card_result, card_num = get_card(self.ip, self.env, self.pid, self.cid, self.pay_type['card_num'])
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
request_api_seat_lock = {'name': '3.4.3 座位锁定', 'path': 'seat/lock'}
redis_key_api_seat_lock = f'{redis_key_prefix}_{request_api_seat_lock["path"]}'
result_seat_lock, _format_seat_lock, seat_lock_data, _timestamp_seat_lock = get_data_from_redis(
redis_key_api_seat_lock)
if not result_seat_lock:
add_param(self.return_data, 'lock_flag', '请手动输入参数,或先请求接口:3.4.3 座位锁定')
else:
add_param(self.return_data, 'lock_flag', seat_lock_data['lockFlag'])
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
request_api_lock = {'name': '3.4.3 座位锁定', 'path': 'seat/lock'}
redis_key_api_lock = f'{redis_key_prefix}_{request_api_lock["path"]}'
result_lock, _format_lock, lock_data, _timestamp_lock = get_data_from_redis(redis_key_api_lock)
lock_flag = '请手动输入参数,或先请求接口:3.4.3 座位锁定'
if result_lock:
lock_flag = lock_data['lockFlag']
add_param(self.return_data, 'lock_flag', lock_flag)
# 处理混合结果
return _timestamp_seat_lock if result_seat_lock else 0
return _timestamp_lock if result_lock else 0

@ -1,6 +1,5 @@
from dspt_api.util.general.handle_redis import get_data_from_redis
from dspt_api.util.general.handle_params import add_param
import random
class MapiSeatUnlock:
@ -22,38 +21,44 @@ class MapiSeatUnlock:
def get_suggestion(self):
print('get_suggestion', self.user_data)
# play_id & seat_id & lock_flag
self.handle()
print(__name__, self.return_data)
return self.return_data
def get_timestamp(self):
return self.handle()
def handle(self):
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
# play_id
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
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, play_data, _timestamp_play = get_data_from_redis(redis_key_api_play)
if not result_play:
add_param(self.return_data, 'play_id', '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表')
else:
add_param(self.return_data, 'play_id', play_data['id'])
play_id = '请手动输入参数,或先请求接口:3.2.3 获取放映计划列表'
if result_play:
play_id = play_data['id']
add_param(self.return_data, 'play_id', play_id)
# 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, seat_data, _timestamp_seat = get_data_from_redis(redis_key_api_seat)
if not result_seat:
add_param(self.return_data, 'seat_id', '请手动输入参数,或先请求接口:3.2.6 获取场次座位状态')
else:
seat_id = '请手动输入参数,或先请求接口:3.2.6 获取场次座位状态'
if result_seat:
seat_id = ','.join([seat['cineSeatId'] for seat in seat_data])
add_param(self.return_data, 'seat_id', seat_id)
# 获取 lock_flag
# lock_flag
request_api_lock = {'name': '3.4.3 座位锁定', 'path': 'seat/lock'}
redis_key_api_lock = f'{redis_key_prefix}_{request_api_lock["path"]}'
result_lock, _format_lock, seat_price_from_lock, _timestamp_lock = get_data_from_redis(redis_key_api_lock)
if not result_lock:
add_param(self.return_data, 'lock_flag', '请手动输入参数,或先请求接口:3.4.3 座位锁定')
lock_flag = '请手动输入参数,或先请求接口:3.4.3 座位锁定'
if result_lock:
lock_flag = seat_price_from_lock['lockFlag']
add_param(self.return_data, 'lock_flag', lock_flag)
# 处理混合结果
return max(_timestamp_play, _timestamp_seat, _timestamp_lock)

@ -1,5 +1,4 @@
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
@ -32,14 +31,14 @@ class MapiTicketInfo:
request_api_play = {'name': '3.4.6 混合下单(影票、卖品)', 'path': 'seat/lock-buy'}
redis_key_api_play = f'{redis_key_prefix}_{request_api_play["path"]}'
result_buy, _format_buy, data_buy, _timestamp_buy = get_data_from_redis(redis_key_api_play)
if result_buy is False:
add_param(self.return_data, 'ticket_flag1', '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品)',
timestamp=int(time.time() * 1000))
add_param(self.return_data, 'ticket_flag2', '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品)',
timestamp=int(time.time() * 1000))
else:
add_param(self.return_data, 'ticket_flag1', data_buy['ticketFlag1'])
add_param(self.return_data, 'ticket_flag2', data_buy['ticketFlag2'])
ticket_flag1 = '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品)'
ticket_flag2 = '请手动输入参数,检查相关接口返回值:3.4.6 混合下单(影票、卖品)'
if result_buy:
ticket_flag1 = data_buy['ticketFlag1']
ticket_flag2 = data_buy['ticketFlag2']
add_param(self.return_data, 'ticket_flag1', ticket_flag1)
add_param(self.return_data, 'ticket_flag2', ticket_flag2)
print(__name__, self.return_data)
return self.return_data

@ -1,12 +1,7 @@
import json
from dspt_api.util.general.handle_redis import get_data_from_redis, get_param_from_redis
from dspt_api.util.general.handle_seat import general_seat_params_member
from dspt_api.util.general.handle_redis import get_param_from_redis, get_timestamp_from_redis
from dspt_api.util.general.get_order_num import general_order_num
from dspt_api.util.general.handle_goods import general_goods_params_member
from dspt_api.util.general.handle_card import get_card
from dspt_api.util.general.handle_params import add_param
import time
import random
class MapiTicketRefund:
@ -40,14 +35,28 @@ class MapiTicketRefund:
# 获取其他参数
redis_key_prefix = f'dspt_api_{self.ip}_{self.env}_{self.member_type}_{self.pid}_{self.cid}'
# partner_buy_ticket_id
# 影票
request_api_lock_buy = {'name': '3.4.6 混合下单(影票、卖品)', '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)
timestamp_lock_buy = get_timestamp_from_redis(redis_key_api_lock_buy)
param_lock_buy = get_param_from_redis(redis_key_api_lock_buy)
# 卖品
request_api_buy_goods = {'name': '3.4.7 单独下单(卖品)', 'path': 'order/buy-goods'}
redis_key_api_buy_goods = f'{redis_key_prefix}_{request_api_buy_goods["path"]}'
timestamp_buy_goods = get_timestamp_from_redis(redis_key_api_buy_goods)
param_buy_goods = get_param_from_redis(redis_key_api_buy_goods)
if not params_lock_buy:
add_param(self.return_data, 'partner_buy_ticket_id', '请手动输入参数,或先请求接口3.4.6 混合下单(影票、卖品)')
partner_buy_ticket_id = '请手动输入参数,或先请求接口3.4.6 混合下单(影票、卖品)或 3.4.7 单独下单(卖品)'
if timestamp_lock_buy and timestamp_buy_goods:
if int(timestamp_lock_buy) > int(timestamp_buy_goods):
partner_buy_ticket_id = param_lock_buy['partner_buy_ticket_id']
else:
add_param(self.return_data, 'partner_buy_ticket_id', params_lock_buy['partner_buy_ticket_id'])
partner_buy_ticket_id = param_buy_goods['partner_buy_ticket_id']
elif timestamp_lock_buy:
partner_buy_ticket_id = param_lock_buy['partner_buy_ticket_id']
elif timestamp_buy_goods:
partner_buy_ticket_id = param_buy_goods['partner_buy_ticket_id']
add_param(self.return_data, 'partner_buy_ticket_id', partner_buy_ticket_id)
print(__name__, self.return_data)
return self.return_data

@ -174,7 +174,8 @@ def get_suggest_params_by_api(request):
'goods_quan_num': pay_type_dict.get('goods_quan', None).get('goods_quan_num', None),
'goods_quan_value': pay_type_dict.get('goods_quan', None).get('goods_quan_value', None),
'goods_quan_type': pay_type_dict.get('goods_quan', None).get('goods_quan_type', None),
}
},
'card_num': pay_type_dict.get('card_num', None),
}
print('pay_type', pay_type)
else:
@ -197,8 +198,37 @@ def get_suggest_params_timestamp_by_api(request):
cid = request.GET.get('cid')
pid = request.GET.get('pid')
user_ip = request.META.get('REMOTE_ADDR')
print('request.GET', request.GET)
sale_type = request.GET.get('options[sale_type]', None)
if member_type == 'nonmember':
pay_type = request.GET.get('options[pay_type]', None)
print('pay_type', pay_type)
elif member_type == 'member':
print('pay_type', request.GET.get('options[pay_type]'))
pay_type_dict = json.loads(request.GET.get('options[pay_type]'))
pay_type = {
'select_price_type': pay_type_dict.get('select_price_type', None),
'ticket_info': {
'ticket_price': pay_type_dict.get('ticket_info', None).get('ticket_price', None),
'have_service_fee': pay_type_dict.get('ticket_info', None).get('have_service_fee', None),
},
'ticket_quan_check': pay_type_dict.get('ticket_quan_check', None),
'ticket_quan': {
'ticket_quan_num': pay_type_dict.get('ticket_quan', None).get('ticket_quan_num', None),
'ticket_quan_value': pay_type_dict.get('ticket_quan', None).get('ticket_quan_value', None),
},
'goods_quan_check': pay_type_dict.get('goods_quan_check', None),
'goods_quan': {
'goods_quan_num': pay_type_dict.get('goods_quan', None).get('goods_quan_num', None),
'goods_quan_value': pay_type_dict.get('goods_quan', None).get('goods_quan_value', None),
'goods_quan_type': pay_type_dict.get('goods_quan', None).get('goods_quan_type', None),
},
'card_num': pay_type_dict.get('card_num', None),
}
print('pay_type', pay_type)
else:
print('options[pay_type]参数错误')
pay_type = None
_ts = suggest_params_timestamp(member_type, api, env, cid, pid, user_ip,
**{'sale_type': sale_type, 'pay_type': pay_type})
print('timestamp', _ts)
@ -285,6 +315,11 @@ def send_request(request):
# 卖品接口特殊处理去掉无用cate一层结构
if api == 'cinema/goods':
handled_data = format_goods(handled_data)
# 记录会员卡号
if api == 'card/regist':
card_num = handled_data['res']['data']['cardNum']
print('记录会员卡号', card_num)
set_card(user_ip, env, pid, cid, card_num)
# 记录Redis
if redis_conn.exists(redis_key_api):
redis_conn.delete(redis_key_api)

Loading…
Cancel
Save