fix: 罚单/积分处罚归属申请人俱乐部;申请锁定分红缴纳按锁定值入账

This commit is contained in:
XingQue
2026-06-27 18:15:42 +08:00
parent 374dd26855
commit ee7867b36f
6 changed files with 139 additions and 41 deletions

View File

@@ -63,7 +63,7 @@ from .models import (
from jituan.services.club_config import get_commission_rate, get_commission_rate_object
from jituan.services.club_context import resolve_club_id_from_request
from jituan.services.club_user import get_payment_openid
from jituan.services.club_penalty import resolve_penalty_club_id
from jituan.services.club_penalty import resolve_penalty_club_id, resolve_penalty_record_club_id
from users.fadan_fenhong_utils import lock_penalty_bonus
from users.fadan_fenhong_utils import lock_penalty_bonus
from products.models import Shangpin, ShangpinLeixing, Huiyuangoumai
@@ -2304,12 +2304,16 @@ class ShangjiaDingdanXiangqingView(APIView):
'update_time': ut,
}
# 7. 商家分红利率(申请页预览):与缴纳后分红同一套规则
# 7. 商家分红利率:已有罚单用锁定值;否则按商家所在俱乐部预览
fenhong_lilv = 0.0
try:
from users.fadan_fenhong_utils import get_merchant_fenhong_lilv
order_club_id = getattr(order, 'ClubID', None) or 'xq'
fenhong_lilv = get_merchant_fenhong_lilv(yonghuid, club_id=order_club_id)
if fadan_obj and fadan_obj.ApplicantBonusRate:
fenhong_lilv = float(fadan_obj.ApplicantBonusRate)
else:
from users.fadan_fenhong_utils import get_merchant_fenhong_lilv
from jituan.services.club_write import resolve_club_id_for_write
merchant_club_id = resolve_club_id_for_write(request, current_user)
fenhong_lilv = get_merchant_fenhong_lilv(yonghuid, club_id=merchant_club_id)
except Exception as e:
logger.warning(f'获取分红利率失败: {e}')
@@ -2976,6 +2980,13 @@ class ShangjiaChufaShenqingView(APIView):
ApplyStatus=0, # 待处理
DeductedPoints=5, # 扣除5积分
OrderID=dingdan_id,
ClubID=resolve_penalty_record_club_id(
order_id=dingdan_id,
player_id=dashou_id,
request=request,
applicant_id=current_user.UserUID,
user=current_user,
),
)
# 🔴【新增】在创建处罚记录后立即扣除打手积分
# 注意这里使用前面已经获取的dashou对象打手扩展表
@@ -6539,7 +6550,13 @@ class ShangjiaFakuanApplyView(APIView):
Status=1, # 待缴纳
AffectsGrabbing=yingxiang_qiangdan,
ApplicantIdentity=5, # 申请人是商家
ClubID=resolve_penalty_club_id(order=order, penalized_user_id=dashou_id),
ClubID=resolve_penalty_club_id(
order=order,
penalized_user_id=dashou_id,
request=request,
applicant_id=shangjia_id,
user=current_user,
),
ShopStaffUserID=staff_kefu_id,
)
lock_penalty_bonus(fadan)