修复了一些
This commit is contained in:
@@ -14,7 +14,7 @@ from decimal import Decimal
|
||||
import logging
|
||||
|
||||
# 导入模型 - 确保路径正确
|
||||
from orders.models import Dingdan
|
||||
from orders.models import Order
|
||||
from users.models import UserDashou, UserShangjia
|
||||
from gvsdsdk.models import User
|
||||
from utils.celery_utils import safe_decimal_operation, log_task_execution, rollback_on_failure
|
||||
@@ -40,25 +40,25 @@ def process_expired_order(self, dingdan_id):
|
||||
with transaction.atomic():
|
||||
|
||||
# 获取订单,同时锁定记录
|
||||
order = Dingdan.objects.select_for_update().get(
|
||||
dingdan_id=dingdan_id
|
||||
order = Order.objects.select_for_update().get(
|
||||
OrderID=dingdan_id
|
||||
)
|
||||
|
||||
# 再次检查订单状态是否为8
|
||||
if order.zhuangtai != 8:
|
||||
logger.info(f"订单{dingdan_id}状态已不是8(当前:{order.zhuangtai}),跳过处理")
|
||||
if order.Status != 8:
|
||||
logger.info(f"订单{dingdan_id}状态已不是8(当前:{order.Status}),跳过处理")
|
||||
return f"订单{dingdan_id}状态已变更,跳过处理"
|
||||
|
||||
# 获取发单平台类型
|
||||
fadan_pingtai = order.fadan_pingtai
|
||||
fadan_pingtai = order.Platform
|
||||
|
||||
# 获取打手ID和分成金额
|
||||
dashou_id = order.jiedan_dashou_id
|
||||
dashou_fencheng = safe_decimal_operation(order.dashou_fencheng)
|
||||
dashou_id = order.PlayerID
|
||||
dashou_fencheng = safe_decimal_operation(order.PlayerCommission)
|
||||
|
||||
# 1. 更新订单状态为3(已完成)
|
||||
order.zhuangtai = 3
|
||||
order.save(update_fields=['zhuangtai'])
|
||||
order.Status = 3
|
||||
order.save(update_fields=['Status'])
|
||||
|
||||
# 2. 更新打手信息(如果存在)
|
||||
updated_dashou = False
|
||||
@@ -121,7 +121,7 @@ def process_expired_order(self, dingdan_id):
|
||||
log_task_execution(f"自动结算订单 {dingdan_id}", True, result_msg)
|
||||
return result_msg
|
||||
|
||||
except Dingdan.DoesNotExist:
|
||||
except Order.DoesNotExist:
|
||||
error_msg = f"订单{dingdan_id}不存在"
|
||||
logger.warning(error_msg)
|
||||
return error_msg
|
||||
@@ -155,10 +155,10 @@ def check_order_expire_task():
|
||||
check_time = timezone.now() - timedelta(seconds=settings.ORDER_EXPIRE_SECONDS + 86400) # 48+24=72小时
|
||||
|
||||
# 查询状态为8且创建时间早于检查时间的订单
|
||||
expired_orders = Dingdan.query.filter(
|
||||
zhuangtai=8,
|
||||
create_time__lt=check_time
|
||||
).values_list('dingdan_id', flat=True)
|
||||
expired_orders = Order.query.filter(
|
||||
Status=8,
|
||||
CreateTime__lt=check_time
|
||||
).values_list('OrderID', flat=True)
|
||||
|
||||
expired_count = expired_orders.count()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user