合并错误信息
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -1441,6 +1441,77 @@ def delete_dedupe_total_data(item_id):
|
||||
|
||||
# ---------- 店铺管理 ----------
|
||||
|
||||
def _format_shop_manage_item(item):
|
||||
return {
|
||||
'id': item.get('id'),
|
||||
'group_id': item.get('groupId'),
|
||||
'group_name': item.get('groupName') or '',
|
||||
'shop_name': item.get('shopName') or '',
|
||||
'mall_name': item.get('mallName') or '',
|
||||
'account': item.get('account') or '',
|
||||
'password': item.get('passwordMasked') or '',
|
||||
'created_at': (item.get('createdAt') or '').replace('T', ' ')[:16],
|
||||
'updated_at': (item.get('updatedAt') or '').replace('T', ' ')[:16],
|
||||
}
|
||||
|
||||
|
||||
def _format_shop_manage_group_item(item):
|
||||
return {
|
||||
'id': item.get('id'),
|
||||
'group_name': item.get('groupName') or '',
|
||||
'leader_user_id': item.get('leaderUserId'),
|
||||
'leader_username': item.get('leaderUsername') or '',
|
||||
'member_user_ids': item.get('memberUserIds') or [],
|
||||
'member_usernames': item.get('memberUsernames') or [],
|
||||
'member_count': item.get('memberCount') or 0,
|
||||
'user_id': item.get('userId'),
|
||||
'username': item.get('username') or '',
|
||||
'created_at': (item.get('createdAt') or '').replace('T', ' ')[:16],
|
||||
'updated_at': (item.get('updatedAt') or '').replace('T', ' ')[:16],
|
||||
}
|
||||
|
||||
|
||||
def _load_expanded_shop_manage_groups(role, current_row):
|
||||
params = {}
|
||||
if current_row and current_row.get('id'):
|
||||
params['operatorId'] = current_row.get('id')
|
||||
params['superAdmin'] = 'true' if role == 'super_admin' else 'false'
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'GET',
|
||||
'/api/admin/shop-manages/groups',
|
||||
params=params,
|
||||
)
|
||||
if error_response is not None:
|
||||
return None, error_response, status
|
||||
|
||||
direct_groups = result.get('data') or []
|
||||
if role == 'super_admin':
|
||||
return direct_groups, None, 200
|
||||
|
||||
direct_ids = {item.get('id') for item in direct_groups if item.get('id')}
|
||||
leader_ids = {item.get('leaderUserId') for item in direct_groups if item.get('leaderUserId')}
|
||||
if not leader_ids:
|
||||
return direct_groups, None, 200
|
||||
|
||||
all_result, error_response, status = _proxy_backend_java(
|
||||
'GET',
|
||||
'/api/admin/shop-manages/groups',
|
||||
params={'superAdmin': 'true'},
|
||||
)
|
||||
if error_response is not None:
|
||||
return None, error_response, status
|
||||
|
||||
merged = []
|
||||
seen_ids = set()
|
||||
for item in all_result.get('data') or []:
|
||||
item_id = item.get('id')
|
||||
if item_id in direct_ids or item.get('leaderUserId') in leader_ids:
|
||||
if item_id not in seen_ids:
|
||||
merged.append(item)
|
||||
seen_ids.add(item_id)
|
||||
return merged, None, 200
|
||||
|
||||
|
||||
@admin_api.route('/shop-manages')
|
||||
@login_required
|
||||
def list_shop_manages():
|
||||
@@ -1452,6 +1523,59 @@ def list_shop_manages():
|
||||
group_id_raw = (request.args.get('group_id') or '').strip()
|
||||
shop_name = (request.args.get('shop_name') or '').strip()
|
||||
|
||||
if role != 'super_admin':
|
||||
groups, error_response, status = _load_expanded_shop_manage_groups(role, current_row)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
accessible_group_ids = [item.get('id') for item in (groups or []) if item.get('id')]
|
||||
selected_group_id = None
|
||||
if group_id_raw:
|
||||
try:
|
||||
selected_group_id = int(group_id_raw)
|
||||
except (TypeError, ValueError):
|
||||
selected_group_id = None
|
||||
if selected_group_id and selected_group_id not in accessible_group_ids:
|
||||
return jsonify({'success': True, 'items': [], 'total': 0, 'page': page, 'page_size': page_size})
|
||||
query_group_ids = [selected_group_id] if selected_group_id else accessible_group_ids
|
||||
all_items = []
|
||||
for group_id in query_group_ids:
|
||||
group_page = 1
|
||||
while True:
|
||||
group_params = {
|
||||
'page': group_page,
|
||||
'pageSize': 100,
|
||||
'groupId': group_id,
|
||||
'superAdmin': 'true',
|
||||
}
|
||||
if current_row and current_row.get('id'):
|
||||
group_params['operatorId'] = current_row.get('id')
|
||||
if shop_name:
|
||||
group_params['shopName'] = shop_name
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'GET',
|
||||
'/api/admin/shop-manages',
|
||||
params=group_params,
|
||||
)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
payload = result.get('data') or {}
|
||||
rows = payload.get('items') or []
|
||||
all_items.extend(rows)
|
||||
total = payload.get('total') or 0
|
||||
if group_page * 100 >= total or not rows:
|
||||
break
|
||||
group_page += 1
|
||||
all_items.sort(key=lambda item: item.get('id') or 0, reverse=True)
|
||||
total = len(all_items)
|
||||
offset = (page - 1) * page_size
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'items': [_format_shop_manage_item(item) for item in all_items[offset:offset + page_size]],
|
||||
'total': total,
|
||||
'page': page,
|
||||
'page_size': page_size,
|
||||
})
|
||||
|
||||
params = {'page': page, 'pageSize': page_size}
|
||||
if current_row and current_row.get('id'):
|
||||
params['operatorId'] = current_row.get('id')
|
||||
@@ -1474,23 +1598,9 @@ def list_shop_manages():
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
payload = result.get('data') or {}
|
||||
items = [
|
||||
{
|
||||
'id': item.get('id'),
|
||||
'group_id': item.get('groupId'),
|
||||
'group_name': item.get('groupName') or '',
|
||||
'shop_name': item.get('shopName') or '',
|
||||
'mall_name': item.get('mallName') or '',
|
||||
'account': item.get('account') or '',
|
||||
'password': item.get('passwordMasked') or '',
|
||||
'created_at': (item.get('createdAt') or '').replace('T', ' ')[:16],
|
||||
'updated_at': (item.get('updatedAt') or '').replace('T', ' ')[:16],
|
||||
}
|
||||
for item in (payload.get('items') or [])
|
||||
]
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'items': items,
|
||||
'items': [_format_shop_manage_item(item) for item in (payload.get('items') or [])],
|
||||
'total': payload.get('total') or 0,
|
||||
'page': payload.get('page') or page,
|
||||
'page_size': payload.get('pageSize') or page_size,
|
||||
@@ -1611,36 +1721,10 @@ def list_shop_manage_groups():
|
||||
role, current_row, denied = _ensure_backend_menu_access('shop-manage', 'skip-price-asin', 'query-asin')
|
||||
if denied:
|
||||
return denied
|
||||
params = {}
|
||||
if current_row and current_row.get('id'):
|
||||
params['operatorId'] = current_row.get('id')
|
||||
params['superAdmin'] = 'true' if role == 'super_admin' else 'false'
|
||||
if role != 'super_admin' and current_row and current_row.get('id'):
|
||||
params['createdById'] = current_row.get('id')
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'GET',
|
||||
'/api/admin/shop-manages/groups',
|
||||
params=params,
|
||||
)
|
||||
groups, error_response, status = _load_expanded_shop_manage_groups(role, current_row)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
items = [
|
||||
{
|
||||
'id': item.get('id'),
|
||||
'group_name': item.get('groupName') or '',
|
||||
'leader_user_id': item.get('leaderUserId'),
|
||||
'leader_username': item.get('leaderUsername') or '',
|
||||
'member_user_ids': item.get('memberUserIds') or [],
|
||||
'member_usernames': item.get('memberUsernames') or [],
|
||||
'member_count': item.get('memberCount') or 0,
|
||||
'user_id': item.get('userId'),
|
||||
'username': item.get('username') or '',
|
||||
'created_at': (item.get('createdAt') or '').replace('T', ' ')[:16],
|
||||
'updated_at': (item.get('updatedAt') or '').replace('T', ' ')[:16],
|
||||
}
|
||||
for item in (result.get('data') or [])
|
||||
]
|
||||
return jsonify({'success': True, 'items': items})
|
||||
return jsonify({'success': True, 'items': [_format_shop_manage_group_item(item) for item in (groups or [])]})
|
||||
|
||||
|
||||
@admin_api.route('/shop-manage-group', methods=['POST'])
|
||||
|
||||
@@ -23,8 +23,9 @@ bucket_path = "nanri-image/"
|
||||
file_url_pre = f"https://{bucket}.oss-cn-hangzhou.aliyuncs.com/"
|
||||
|
||||
import os
|
||||
backend_java_base_url = os.environ.get('BACKEND_JAVA_BASE_URL', 'http://127.0.0.1:18080').rstrip('/')
|
||||
# backend_java_base_url = os.environ.get('BACKEND_JAVA_BASE_URL', 'http://127.0.0.1:18080').rstrip('/')
|
||||
# backend_java_base_url = os.environ.get('BACKEND_JAVA_BASE_URL', 'http://8.136.19.173:18080').rstrip('/')
|
||||
backend_java_base_url = os.environ.get('BACKEND_JAVA_BASE_URL', 'http://47.111.163.154:18080').rstrip('/')
|
||||
os.environ['OSS_ACCESS_KEY_ID'] = accessKeyId
|
||||
os.environ['OSS_ACCESS_KEY_SECRET'] = accessKeySecret
|
||||
os.environ['SECRET_KEY'] = "ddffc7c1d02121d9554d7b080b2511b6"
|
||||
|
||||
Reference in New Issue
Block a user