修复任职停用;星之界种子邀请链 seed_xzj_invite_data

This commit is contained in:
XingQue
2026-06-24 23:33:25 +08:00
parent 49482830f9
commit d56c85bca9
6 changed files with 349 additions and 20 deletions

View File

@@ -16,7 +16,11 @@ from jituan.services.admin_context import build_admin_club_context, can_manage_a
from jituan.services.wechat_login import login_or_register_by_club
from jituan.services.caiwu_stats import build_caiwu_payload
from jituan.services.szxx_stats import build_szxx_payload
from jituan.services.admin_audit import list_admin_audit_logs
from jituan.services.admin_assignments import (
create_or_reactivate_assignment,
deactivate_assignment,
dedupe_active_assignments,
)
from jituan.services.user_stats import build_user_summary
from jituan.services.finance_detail_stats import (
build_chongzhi_finance_payload,
@@ -270,30 +274,26 @@ class ClubAdminAssignmentListView(APIView):
if club_id is None:
data_scope = DATA_SCOPE_ALL
is_primary = bool(request.data.get('is_primary', False))
if AdminAssignment.query.filter(
yonghuid=yonghuid, club_id=club_id, role_code=role_code,
).exists():
return Response({'code': 400, 'msg': '该任职记录已存在'})
AdminAssignment.query.create(
_, err = create_or_reactivate_assignment(
yonghuid=yonghuid,
club_id=club_id,
role_code=role_code,
data_scope=data_scope,
is_primary=is_primary,
granted_by=user.UserUID,
status=1,
)
if err:
return Response({'code': 400, 'msg': err})
return Response({'code': 0, 'msg': '任职已添加'})
if action == 'delete':
assignment_id = request.data.get('id')
if not assignment_id:
return Response({'code': 400, 'msg': '缺少任职 id'})
row = AdminAssignment.query.filter(id=assignment_id).first()
if not row:
return Response({'code': 404, 'msg': '任职记录不存在'})
row.status = 0
row.save(update_fields=['status', 'UpdateTime'])
ok, err = deactivate_assignment(assignment_id)
if not ok:
return Response({'code': 404, 'msg': err or '停用失败'})
dedupe_active_assignments()
return Response({'code': 0, 'msg': '任职已停用'})
if action == 'update':
@@ -319,6 +319,7 @@ class ClubAdminAssignmentListView(APIView):
return Response({'code': 0, 'msg': '任职已更新'})
if is_super:
dedupe_active_assignments()
qs = AdminAssignment.query.filter(status=1).order_by('yonghuid', '-is_primary', 'club_id')
else:
qs = AdminAssignment.query.filter(yonghuid=user.UserUID, status=1).order_by('-is_primary')