统一记录后台敏感操作到 xiugaijilu,并提供管理员操作日志查询接口。
覆盖商家/管事/组长资金与封禁、冻结解冻、后台账号变更;列表接口权限 000001。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -66,6 +66,22 @@ class DongjieUserConfigView(APIView):
|
||||
try:
|
||||
with transaction.atomic():
|
||||
data = save_user_freeze_settings(user_main, leixing, request.data)
|
||||
from yonghu.xiugai_log import (
|
||||
write_xiugai_log, FREEZE_TO_XIUGAI_LEIXING, FREEZE_LEIXING_NAME,
|
||||
)
|
||||
role_name = FREEZE_LEIXING_NAME.get(leixing, str(leixing))
|
||||
write_xiugai_log(
|
||||
yonghuid=yonghuid,
|
||||
operator_phone=kefu.user.phone,
|
||||
leixing=FREEZE_TO_XIUGAI_LEIXING.get(leixing, 0),
|
||||
qitashuoming=(
|
||||
f'保存用户冻结配置[{role_name}]:'
|
||||
f'单独开关={data.get("dandu_dongjie_enabled")},'
|
||||
f'模式={data.get("dongjie_mode")},'
|
||||
f'比例={data.get("dongjie_bili")},'
|
||||
f'固定额={data.get("dongjie_guding_jine")}'
|
||||
),
|
||||
)
|
||||
return Response({'code': 0, 'msg': '保存成功', 'data': data})
|
||||
except ValueError as e:
|
||||
return Response({'code': 400, 'msg': str(e)})
|
||||
@@ -81,6 +97,35 @@ class DongjieUserConfigView(APIView):
|
||||
user_main, leixing, jine,
|
||||
operator_id=username, beizhu=beizhu,
|
||||
)
|
||||
from yonghu.xiugai_log import (
|
||||
write_xiugai_log, FREEZE_TO_XIUGAI_LEIXING, FREEZE_LEIXING_NAME,
|
||||
)
|
||||
role_name = FREEZE_LEIXING_NAME.get(leixing, str(leixing))
|
||||
xiugai_leixing = FREEZE_TO_XIUGAI_LEIXING.get(leixing, 0)
|
||||
log_kwargs = {
|
||||
'yonghuid': yonghuid,
|
||||
'operator_phone': kefu.user.phone,
|
||||
'leixing': xiugai_leixing,
|
||||
'qitashuoming': (
|
||||
f'管理员解冻[{role_name}] {result["unfreeze_jine"]},'
|
||||
f'余额 {result["balance_before"]}→{result["balance_after"]},'
|
||||
f'冻结池 {result["dongjie_chi_before"]}→{result["dongjie_chi_after"]}'
|
||||
+ (f';备注:{beizhu}' if beizhu else '')
|
||||
),
|
||||
}
|
||||
if leixing == 1:
|
||||
log_kwargs['dashou_yue_before'] = result['balance_before']
|
||||
log_kwargs['dashou_yue_after'] = result['balance_after']
|
||||
elif leixing == 5:
|
||||
log_kwargs['yajin_before'] = result['balance_before']
|
||||
log_kwargs['yajin_after'] = result['balance_after']
|
||||
elif leixing == 2:
|
||||
log_kwargs['guanshi_yue_before'] = result['balance_before']
|
||||
log_kwargs['guanshi_yue_after'] = result['balance_after']
|
||||
elif leixing == 6:
|
||||
log_kwargs['shangjia_yue_before'] = result['balance_before']
|
||||
log_kwargs['shangjia_yue_after'] = result['balance_after']
|
||||
write_xiugai_log(**log_kwargs)
|
||||
info = get_user_freeze_info(user_main, leixing)
|
||||
info['balance'] = str(result['balance_after'])
|
||||
info['dongjie_chi'] = str(result['dongjie_chi_after'])
|
||||
|
||||
Reference in New Issue
Block a user