fix: 商家生成链接时锁定打手与管事分成

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-20 15:50:24 +08:00
parent de74865278
commit 48d2e13037

View File

@@ -46,8 +46,10 @@ from users.models import (
)
from users.business_models import User
from orders.models import CommissionRate, Order, MerchantOrderExt
from orders.models import Order, MerchantOrderExt
from orders.notice_tasks import dingdan_guangbo
from orders.utils import calc_shangjia_order_fencheng
from jituan.services.club_context import resolve_club_id_from_request
from rank.models import Chenghao, DingdanBiaoqian
@@ -103,12 +105,9 @@ class ShangjiaGenerateLinkView(APIView):
if jiage > shangjia.yue:
return Response({'code': 400, 'msg': f'余额不足,当前余额{shangjia.yue}', 'data': {}}, status=400)
# 利率
try:
lilu = float(CommissionRate.query.get(Platform='3').Rate) or 1.0
except CommissionRate.DoesNotExist:
lilu = 1.0
dashou_fencheng = Decimal(str(round(float(jiage) * lilu, 2)))
# 打手+管事分成(与普通派单 sjpaifa 同一套算法,打手优先)
club_id = resolve_club_id_from_request(request)
dashou_fencheng, guanshi_fencheng = calc_shangjia_order_fencheng(jiage, club_id=club_id)
# 抢单要求:根据模板是否启用佣金
chenghao_id = moban.TitleID
@@ -154,13 +153,14 @@ class ShangjiaGenerateLinkView(APIView):
dingdan_id = generate_dingdan_id()
secure_token = generate_secure_token(dingdan_id, user.UserUID)
# 创建订单主表
# 创建订单主表(分红在生成链接时锁定,填表入池不再改)
dingdan = Order.query.create(
OrderID=dingdan_id,
Status=13,
Platform=2,
Amount=jiage,
PlayerCommission=dashou_fencheng,
ManagerCommission=guanshi_fencheng,
ProductTypeID=shangpin_type_id,
GrabRequirement=final_yaoqiuleixing,
MembershipID=final_huiyuan_id,
@@ -168,6 +168,7 @@ class ShangjiaGenerateLinkView(APIView):
Description=moban.TemplateDesc[:2000],
User1ID=f"Sj{user.UserUID}",
ImageURL=user.Avatar or '',
ClubID=club_id,
)
# 商家扩展表