diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index 7e18c03..e5425ba 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -788,19 +788,6 @@ async def complete_order( else: order.status = OrderStatus.COMPLETED # 无需支付,直接完成 - # 只有在订单完成状态时才进行分账 - # 计算配送员分账金额 - deliveryman_share = order.original_amount * settings.ORDER_DELIVERYMAN_SHARE_RATIO - - # 使用账户管理器处理分账 - account_manager = AccountManager(db) - account_manager.change_balance( - user_id=order.deliveryman_user_id, - amount=deliveryman_share, - description=f"配送订单收益", - transaction_id=orderid - ) - # 保存完成图片 if complete_data.images: order.complete_images = ",".join(complete_data.images) @@ -809,6 +796,18 @@ async def complete_order( order.completed_time = datetime.now() db.commit() + + # 计算配送员分账金额 + deliveryman_share = order.original_amount * settings.ORDER_DELIVERYMAN_SHARE_RATIO + + # 使用账户管理器处理分账 + account_manager = AccountManager(db) + account_manager.change_balance( + user_id=order.deliveryman_user_id, + amount=deliveryman_share, + description=f"配送订单收益", + transaction_id=orderid + ) # 发送模板消息 if order.userid: