修复了一些

This commit is contained in:
2026-06-18 18:02:45 +08:00
parent e67bc17fa2
commit 53049d1588
20 changed files with 3671 additions and 2541 deletions

View File

@@ -6,7 +6,7 @@ from django.db import transaction
from django.db.models import F
from config.models import DailyIncomeStat, DailyPayoutStat
from orders.models import Dingdan, DingdanPingtai, DingdanShangjia, Lilubiao
from orders.models import Order, PlatformOrderExt, MerchantOrderExt, CommissionRate
from products.models import Gsfenhong
from users.models import UserDashou, UserGuanshi
@@ -16,17 +16,17 @@ logger = logging.getLogger(__name__)
def get_order_user_id(order):
if order.fadan_pingtai == 1:
if order.Platform == 1:
try:
ext = DingdanPingtai.objects.get(dingdan=order)
return ext.laoban_id
except DingdanPingtai.DoesNotExist:
ext = PlatformOrderExt.objects.get(Order=order)
return ext.BossID
except PlatformOrderExt.DoesNotExist:
return None
elif order.fadan_pingtai == 2:
elif order.Platform == 2:
try:
ext = DingdanShangjia.objects.get(dingdan=order)
return ext.shangjia_id
except DingdanShangjia.DoesNotExist:
ext = MerchantOrderExt.objects.get(Order=order)
return ext.MerchantID
except MerchantOrderExt.DoesNotExist:
return None
return None
@@ -111,15 +111,15 @@ def calc_shangjia_order_fencheng(jine):
"""
jine = Decimal(str(jine))
try:
lilu_obj = Lilubiao.objects.get(fadanpingtai='3')
rate_dashou = Decimal(str(lilu_obj.lilu)) if lilu_obj.lilu and lilu_obj.lilu > 0 else Decimal('1')
except Lilubiao.DoesNotExist:
lilu_obj = CommissionRate.objects.get(Platform='3')
rate_dashou = Decimal(str(lilu_obj.Rate)) if lilu_obj.Rate and lilu_obj.Rate > 0 else Decimal('1')
except CommissionRate.DoesNotExist:
rate_dashou = Decimal('1')
lilu_guanshi_obj = Lilubiao.objects.filter(fadanpingtai='13').first()
lilu_guanshi_obj = CommissionRate.objects.filter(Platform='13').first()
rate_guanshi = (
Decimal(str(lilu_guanshi_obj.lilu))
if lilu_guanshi_obj and lilu_guanshi_obj.lilu is not None
Decimal(str(lilu_guanshi_obj.Rate))
if lilu_guanshi_obj and lilu_guanshi_obj.Rate is not None
else Decimal('0')
)
@@ -139,15 +139,15 @@ def settle_shangjia_order_guanshi_fenhong(order, dashou_id):
商家订单结单时结算管事分红(幂等,失败不抛异常阻断主流程)。
"""
if getattr(order, 'fadan_pingtai', None) != 2:
if getattr(order, 'Platform', None) != 2:
return
guanshi_fencheng = order.guanshi_fencheng or Decimal('0')
guanshi_fencheng = order.ManagerCommission or Decimal('0')
if guanshi_fencheng <= 0:
return
if Gsfenhong.objects.filter(dingdan_id=order.dingdan_id).exists():
logger.info(f"商家订单管事分红已处理: {order.dingdan_id}")
if Gsfenhong.objects.filter(dingdan_id=order.OrderID).exists():
logger.info(f"商家订单管事分红已处理: {order.OrderID}")
return
if not dashou_id:
@@ -174,7 +174,7 @@ def settle_shangjia_order_guanshi_fenhong(order, dashou_id):
user_main = dashou.user
Gsfenhong.objects.create(
dingdan_id=order.dingdan_id,
dingdan_id=order.OrderID,
guanshi=guanshi_id,
dashouid=dashou_id,
shuoming='商家订单分红',
@@ -184,7 +184,7 @@ def settle_shangjia_order_guanshi_fenhong(order, dashou_id):
fenhong_leixing=3,
)
logger.info(
f"商家订单管事分红成功: 订单{order.dingdan_id}, 管事{guanshi_id}, "
f"商家订单管事分红成功: 订单{order.OrderID}, 管事{guanshi_id}, "
f"打手{dashou_id}, 金额{guanshi_fencheng}"
)
except UserGuanshi.DoesNotExist: