diff --git a/cryptoai/routes/payment.py b/cryptoai/routes/payment.py index 25d10b1..7cb5825 100644 --- a/cryptoai/routes/payment.py +++ b/cryptoai/routes/payment.py @@ -105,38 +105,43 @@ async def create_order(request: CreateOrderRequest, class NotifyRequest(BaseModel): merchantOrderNo: str + status: str @router.post("/notify") async def notify(notify: NotifyRequest, session: Session = Depends(get_db)): try: - # 更新订单状态 subscription_order_manager = SubscriptionOrderManager(session) - subscription_order_manager.update_order_status(notify.merchantOrderNo, 2) + ## 订单完成 + if notify.status == "1": + # 更新订单状态 + subscription_order_manager.update_order_status(notify.merchantOrderNo, 2) - order = subscription_order_manager.get_order_by_id(notify.merchantOrderNo) + order = subscription_order_manager.get_order_by_id(notify.merchantOrderNo) - if order is None: - return { - "code": 500, - "message": "Order not found" - } + if order is None: + return { + "code": 500, + "message": "Order not found" + } - user_id = order['user_id'] - member_type = order['member_type'] - time_type = order['time_type'] + user_id = order['user_id'] + member_type = order['member_type'] + time_type = order['time_type'] - if time_type == 1: - expire_time = datetime.now() + timedelta(days=30) - elif time_type == 2: - expire_time = datetime.now() + timedelta(days=365) + if time_type == 1: + expire_time = datetime.now() + timedelta(days=30) + elif time_type == 2: + expire_time = datetime.now() + timedelta(days=365) - #增加用户订阅记录 - user_subscription_manager = UserSubscriptionManager(session) - user_subscription_manager.create_subscription(user_id, - member_type, - time_type, - notify.merchantOrderNo, - expire_time) + #增加用户订阅记录 + user_subscription_manager = UserSubscriptionManager(session) + user_subscription_manager.create_subscription(user_id, + member_type, + time_type, + notify.merchantOrderNo, + expire_time) + else: + subscription_order_manager.update_order_status(notify.merchantOrderNo, 4) return "ok" except Exception as e: diff --git a/docker-compose.yml b/docker-compose.yml index 986a512..15707ea 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: cryptoai-api: build: . container_name: cryptoai-api - image: cryptoai-api:0.2.8 + image: cryptoai-api:0.2.9 restart: always ports: - "8000:8000"