支付方式一致性

parent c7292c2e
...@@ -9,5 +9,5 @@ ...@@ -9,5 +9,5 @@
from app.api.app import app from app.api.app import app
if __name__ == '__main__': if __name__ == '__main__':
app.run('0.0.0.0', port=8000, debug=True) app.run('0.0.0.0', port=80, debug=True)
...@@ -44,8 +44,8 @@ tamp_pay_engine = create_engine( ...@@ -44,8 +44,8 @@ tamp_pay_engine = create_engine(
charset="utf8"), charset="utf8"),
echo=True echo=True
) )
tamp_user_session = sessionmaker(bind=tamp_user_engine)() tamp_user_session = sessionmaker(bind=tamp_user_engine, autocommit=True)()
tamp_pay_session = sessionmaker(bind=tamp_pay_engine)() tamp_pay_session = sessionmaker(bind=tamp_pay_engine, autocommit=True)()
# redis = redis.StrictRedis( # redis = redis.StrictRedis(
# host=config[env]['redis']['host'], # host=config[env]['redis']['host'],
......
...@@ -23,7 +23,7 @@ class AccountTopupOrder(Base, BaseModel): ...@@ -23,7 +23,7 @@ class AccountTopupOrder(Base, BaseModel):
user_id = Column(String(64), comment='用户ID') user_id = Column(String(64), comment='用户ID')
amount = Column(BigInteger, comment='订单总额') amount = Column(BigInteger, comment='订单总额')
order_status = Column(Integer, server_default=text('0'), comment='订单状态:0:未支付,1:已支付,2:已退款') order_status = Column(Integer, server_default=text('0'), comment='订单状态:0:未支付,1:已支付,2:已退款')
pay_method = Column(Integer, server_default=text('1'), comment='支付方式:1:探普贝,2:微信支付,3:支付宝支付,4:苹果支付') pay_method = Column(Integer, server_default=text('1'), comment='支付方式:4:探普贝,5:app微信支付,6:支付宝支付,7:苹果支付')
create_time = Column(DateTime(timezone=True), server_default=func.now(), comment='创建时间') create_time = Column(DateTime(timezone=True), server_default=func.now(), comment='创建时间')
pay_time = Column(DateTime(timezone=True), server_default=func.now(), comment='付款时间') pay_time = Column(DateTime(timezone=True), server_default=func.now(), comment='付款时间')
complete_time = Column(DateTime(timezone=True), server_default=func.now(), comment='完成时间') complete_time = Column(DateTime(timezone=True), server_default=func.now(), comment='完成时间')
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
import time import time
from sqlalchemy.sql.elements import and_
from app.api.engine import tamp_pay_session, tamp_user_session from app.api.engine import tamp_pay_session, tamp_user_session
from app.config.errors import Errors from app.config.errors import Errors
from app.controller.errorhandler import CustomFlaskErr from app.controller.errorhandler import CustomFlaskErr
...@@ -28,7 +30,7 @@ class TopUpOrderService: ...@@ -28,7 +30,7 @@ class TopUpOrderService:
pass pass
def get_order(self, user_id): def get_order(self, user_id):
res = tamp_pay_session.query(AccountTopupOrder).filter(AccountTopupOrder.user_id == user_id).all() res = tamp_pay_session.query(AccountTopupOrder).filter(and_(AccountTopupOrder.user_id == user_id, AccountTopupOrder.order_status == 1)).all()
return [r.to_dict() for r in res] return [r.to_dict() for r in res]
...@@ -41,17 +43,17 @@ class TopUpOrderService: ...@@ -41,17 +43,17 @@ class TopUpOrderService:
out_trade_no = args['order_no'] out_trade_no = args['order_no']
notify_path = '/tamp_order/micro_shop/topUpOrderNotify' notify_path = '/tamp_order/micro_shop/topUpOrderNotify'
pay_params = None pay_params = None
if args['pay_method'] == 2: if args['pay_method'] == 5:
# 微信支付 # 微信支付
wx_pay = WXPay(out_trade_no, subject, args['amount'], args['remote_addr'], notify_path=notify_path) wx_pay = WXPay(out_trade_no, subject, args['amount'], args['remote_addr'], notify_path=notify_path)
params = wx_pay.getReturnParams() params = wx_pay.getReturnParams()
pay_params = params pay_params = params
elif args['pay_method'] == 3: elif args['pay_method'] == 6:
# 支付宝支付 # 支付宝支付
total_amount = args['amount'] / 100 total_amount = args['amount'] / 100
res = prePay(subject, out_trade_no, total_amount, notify_path=notify_path) res = prePay(subject, out_trade_no, total_amount, notify_path=notify_path)
pay_params = res pay_params = res
elif args['pay_method'] == 4: elif args['pay_method'] == 7:
# 苹果支付 # 苹果支付
receipt_data = args.get('receipt_data', '') receipt_data = args.get('receipt_data', '')
if not apple_pay(receipt_data): if not apple_pay(receipt_data):
...@@ -85,7 +87,7 @@ class CurriculumOrderService: ...@@ -85,7 +87,7 @@ class CurriculumOrderService:
res = tamp_user_session.query(OrderFlow).filter(OrderFlow.createby == user_id).all() res = tamp_user_session.query(OrderFlow).filter(OrderFlow.createby == user_id).all()
curriculum_column = {r.id: r.to_dict() for r in curriculum_column} curriculum_column = {r.id: r.to_dict() for r in curriculum_column}
curriculum_res = {r.id: r.to_dict() for r in curriculum_res} curriculum_res = {r.id: r.to_dict() for r in curriculum_res}
orders = [r.to_dict() for r in res] orders = [r.to_dict() for r in res if r.to_dict()['ab_status'] == 'SUCCESS']
for order in orders: for order in orders:
prod_type = order.get('ab_si_type', '') prod_type = order.get('ab_si_type', '')
prod_id = order.get('ab_proid', '') prod_id = order.get('ab_proid', '')
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment