From 48d2e13037654d2cbbc97c0f270523838c18aa6b Mon Sep 17 00:00:00 2001 From: XingQue Date: Mon, 20 Jul 2026 15:50:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=95=86=E5=AE=B6=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E6=97=B6=E9=94=81=E5=AE=9A=E6=89=93=E6=89=8B?= =?UTF-8?q?=E4=B8=8E=E7=AE=A1=E4=BA=8B=E5=88=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- config/views/merchant_links.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/config/views/merchant_links.py b/config/views/merchant_links.py index 7071ee8..d28d241 100644 --- a/config/views/merchant_links.py +++ b/config/views/merchant_links.py @@ -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, ) # 商家扩展表