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, ) # 商家扩展表