revert: 撤回类型专区与后台账号列表的后端改动

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQueandCursor committed 2026-08-10 10:02:44 +08:00
1 parent a3e4b9c32d
commit be2892f419
3 files changed
+17 -41

No files matched your search

+3 -2
View File
@@ -254,13 +254,14 @@ class GetProductTypeZoneView(APIView):
}
if club_scoped:
# 具体俱乐部:已上架+未上架全部返回,前端展示下架/上架/换图
admin_payload = build_club_leixing_admin_list(request, include_disabled=True)
# 具体俱乐部:仅本俱乐部已上架类型(与抢单端一致)
admin_payload = build_club_leixing_admin_list(request)
type_list = []
for item in (admin_payload.get('list') or []):
type_list.append({
**item,
'product_count': zone_count_map.get(item['id'], 0),
'club_enabled': True,
})
else:
type_list = []
+7 -23
View File
@@ -57,9 +57,7 @@ def filter_kefu_users_by_admin_scope(qs, request):
"""
后台用户列表:按任职俱乐部过滤,而非仅 User.ClubID。
同一账号有多俱乐部任职时,在任一已分配俱乐部视图下均可见。
含:本店任职、本店功能角色、集团级任职、白名单超管;封禁账号也返回。
"""
from jituan.constants import SUPER_ADMIN_PHONES
from jituan.models import AdminAssignment
scope = resolve_club_scope(request)
@@ -69,28 +67,14 @@ def filter_kefu_users_by_admin_scope(qs, request):
assigned_uids = list(
AdminAssignment.query.filter(status=1, club_id=club_id).values_list('yonghuid', flat=True)
)
group_uids = list(
AdminAssignment.query.filter(status=1)
.filter(Q(club_id__isnull=True) | Q(club_id=''))
.values_list('yonghuid', flat=True)
)
role_uuids = list(
Role.objects.filter(ClubID=club_id).values_list('RoleUUID', flat=True)
)
role_user_uuids = list(
UserRole.objects.filter(RoleUUID__in=role_uuids).values_list('UserUUID', flat=True)
) if role_uuids else []
q = (
Q(UserUID__in=assigned_uids)
| Q(UserUID__in=group_uids)
| Q(UserUUID__in=role_user_uuids)
| Q(Phone__in=list(SUPER_ADMIN_PHONES))
| Q(ClubID=club_id)
)
if club_id == CLUB_ID_DEFAULT:
q = q | Q(ClubID__isnull=True) | Q(ClubID='')
return qs.filter(q)
return qs.filter(
Q(UserUID__in=assigned_uids)
| Q(ClubID=club_id)
| Q(ClubID__isnull=True)
| Q(ClubID='')
)
return qs.filter(Q(UserUID__in=assigned_uids) | Q(ClubID=club_id))
def filter_kefu_users_qs(qs, request):
+7 -16
View File
@@ -81,12 +81,7 @@ def build_club_leixing_list_for_api(club_id):
return rows
def build_club_leixing_admin_list(request, include_disabled=False):
"""
后台类型列表。
include_disabled=False:仅已上架(小程序配置页)。
include_disabled=True:已上架+未上架全部返回并带 club_enabled(类型专区页)。
"""
def build_club_leixing_admin_list(request):
if club_read_blocked(request):
return {
'club_id': resolve_club_id_from_request(request),
@@ -96,22 +91,18 @@ def build_club_leixing_admin_list(request, include_disabled=False):
}
club_id = resolve_club_id_from_request(request)
cfg_map = _config_map(club_id)
rows = []
enabled = []
for lx in ShangpinLeixing.query.exclude(shenhezhuangtai=2).order_by('-paixu', 'id'):
cfg = cfg_map.get(lx.id)
enabled = bool(_is_visible(club_id, lx.id, cfg))
if not include_disabled and not enabled:
if not _is_visible(club_id, lx.id, cfg):
continue
item = build_leixing_item(lx, cfg)
item['club_enabled'] = enabled
rows.append(item)
if include_disabled:
rows.sort(key=lambda x: (0 if x.get('club_enabled') else 1, -int(x.get('paixu') or 0), x['id']))
else:
rows.sort(key=lambda x: (-int(x.get('paixu') or 0), x['id']))
item['club_enabled'] = True
enabled.append(item)
enabled.sort(key=lambda x: (-int(x['paixu'] or 0), x['id']))
return {
'club_id': club_id,
'list': rows,
'list': enabled,
'scope': resolve_club_scope(request),
}