fix: 罚单/积分处罚归属申请人俱乐部;申请锁定分红缴纳按锁定值入账
This commit is contained in:
@@ -12,12 +12,15 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
# 身份映射字典
|
||||
# 罚单 ApplicantIdentity(shenqingren_shenfen)→ fadan_fenhong 表 Identity + fadan_fenhong_lilv 表 shenfen
|
||||
# 罚单侧:1=客服 2=售后 3=管理员 4=店铺 5=商家
|
||||
# fadan_fenhong 表:1=商家 2=客服 3=平台管理者 4=店铺 5=售后
|
||||
IDENTITY_MAP = {
|
||||
1: {'fenhong': 2, 'lilv': 1}, # 客服
|
||||
2: {'fenhong': 5, 'lilv': 2}, # 售后
|
||||
1: {'fenhong': 2, 'lilv': 1}, # 客服 → 分红记录身份2,利率表 shenfen=1
|
||||
2: {'fenhong': 5, 'lilv': 2}, # 售后 → 分红记录身份5,利率表 shenfen=2
|
||||
3: {'fenhong': 3, 'lilv': 3}, # 管理员
|
||||
4: {'fenhong': 4, 'lilv': 4}, # 店铺
|
||||
5: {'fenhong': 1, 'lilv': 5}, # 商家
|
||||
5: {'fenhong': 1, 'lilv': 5}, # 商家 → 分红记录身份1,利率表 shenfen=5;钱进 user_shangjia.yue
|
||||
}
|
||||
|
||||
MERCHANT_LILV_SHENFEN = 5
|
||||
@@ -151,7 +154,10 @@ def process_fadan_fenhong(fadan_id):
|
||||
locked_amount = Decimal(str(fadan.ApplicantBonusAmount or 0))
|
||||
locked_rate = fadan.ApplicantBonusRate
|
||||
|
||||
if locked_amount > 0:
|
||||
# 申请时已锁定:缴纳只按锁定值入账,不因全局利率后续变更而重算
|
||||
if locked_amount > 0 or (
|
||||
locked_rate is not None and Decimal(str(locked_rate)) > 0
|
||||
):
|
||||
fenhong_jine = locked_amount
|
||||
rate = locked_rate
|
||||
else:
|
||||
|
||||
@@ -10441,6 +10441,7 @@ class KefuPunishView(APIView):
|
||||
return Response({'code': 400, 'msg': '该用户不是打手'}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 6. 使用事务
|
||||
from jituan.services.club_penalty import resolve_penalty_record_club_id
|
||||
with transaction.atomic():
|
||||
# 创建处罚记录(积分扣除5分)
|
||||
jifen = 5
|
||||
@@ -10451,6 +10452,12 @@ class KefuPunishView(APIView):
|
||||
ApplyStatus=0, # 待处理
|
||||
DeductedPoints=jifen,
|
||||
OrderID=dingdan_id,
|
||||
ClubID=resolve_penalty_record_club_id(
|
||||
order_id=dingdan_id,
|
||||
player_id=dashou_id,
|
||||
request=request,
|
||||
user=request.user,
|
||||
),
|
||||
)
|
||||
|
||||
# 扣除打手积分
|
||||
|
||||
Reference in New Issue
Block a user