feat(jituan): 集团多俱乐部改造 — club 隔离、财务/提现/分红/展示配置
This commit is contained in:
@@ -64,7 +64,7 @@ def process_fadan_fenhong(fadan_id):
|
||||
return True, "罚款金额为0,无分红"
|
||||
|
||||
# 5. 确定分红利率
|
||||
rate = _get_fenhong_rate(shenqing_chufa, fenhong_shenfen, lilv_shenfen)
|
||||
rate = _get_fenhong_rate(shenqing_chufa, fenhong_shenfen, lilv_shenfen, club_id=fadan.ClubID)
|
||||
if rate is None:
|
||||
logger.warning(f"未找到身份 {src_shenfen} (映射后 fenhong_shenfen={fenhong_shenfen}, lilv_shenfen={lilv_shenfen}) 的分红利率,罚单 {fadan_id} 不进行分红")
|
||||
fadan.ApplicantBonusAmount = Decimal('0.00')
|
||||
@@ -79,6 +79,8 @@ def process_fadan_fenhong(fadan_id):
|
||||
fadan.save(update_fields=['ApplicantBonusAmount'])
|
||||
return True, "分红金额为0"
|
||||
|
||||
club_id = fadan.ClubID or 'xq'
|
||||
|
||||
# 7. 根据申请处罚者身份执行不同的分红逻辑
|
||||
# src_shenfen == 5 代表商家(源身份)
|
||||
if src_shenfen == 5:
|
||||
@@ -87,6 +89,7 @@ def process_fadan_fenhong(fadan_id):
|
||||
fenhong_record, created = PenaltyBonus.objects.get_or_create(
|
||||
BeneficiaryID=shenqing_chufa,
|
||||
Identity=fenhong_shenfen,
|
||||
ClubID=club_id,
|
||||
defaults={
|
||||
'TotalAmount': Decimal('0.00'),
|
||||
'WithdrawableAmount': Decimal('0.00'),
|
||||
@@ -120,6 +123,7 @@ def process_fadan_fenhong(fadan_id):
|
||||
fenhong_record, created = PenaltyBonus.objects.get_or_create(
|
||||
BeneficiaryID=shenqing_chufa,
|
||||
Identity=fenhong_shenfen,
|
||||
ClubID=club_id,
|
||||
defaults={
|
||||
'TotalAmount': Decimal('0.00'),
|
||||
'WithdrawableAmount': Decimal('0.00'),
|
||||
@@ -145,7 +149,7 @@ def process_fadan_fenhong(fadan_id):
|
||||
return False, f"分红处理异常: {str(e)}"
|
||||
|
||||
|
||||
def _get_fenhong_rate(fenhongzhe_id, fenhong_shenfen, lilv_shenfen):
|
||||
def _get_fenhong_rate(fenhongzhe_id, fenhong_shenfen, lilv_shenfen, club_id='xq'):
|
||||
"""
|
||||
获取分红利率(优先使用个人单独配置,否则使用全局身份配置)
|
||||
"""
|
||||
@@ -153,6 +157,7 @@ def _get_fenhong_rate(fenhongzhe_id, fenhong_shenfen, lilv_shenfen):
|
||||
individual = PenaltyBonus.objects.get(
|
||||
BeneficiaryID=fenhongzhe_id,
|
||||
Identity=fenhong_shenfen,
|
||||
ClubID=club_id,
|
||||
is_individual_rate=True
|
||||
)
|
||||
return individual.IndividualRate
|
||||
|
||||
Reference in New Issue
Block a user