更新ASIN库新需求
This commit is contained in:
@@ -35,7 +35,7 @@ def _can_access_dedupe_total_data(role, current_row):
|
||||
|
||||
|
||||
def _ensure_dedupe_total_data_access():
|
||||
return _ensure_admin_menu_access('dedupe-total-data')
|
||||
return _ensure_backend_menu_access('dedupe-total-data')
|
||||
role, current_row = get_current_admin_role()
|
||||
if not _can_access_dedupe_total_data(role, current_row):
|
||||
return None, None, (jsonify({'success': False, 'error': '无权访问数据去重汇总数据'}), 403)
|
||||
@@ -623,7 +623,7 @@ def _ensure_admin_menu_access(*menu_names):
|
||||
|
||||
|
||||
def _ensure_dedupe_total_data_access():
|
||||
return _ensure_admin_menu_access('dedupe-total-data')
|
||||
return _ensure_backend_menu_access('dedupe-total-data')
|
||||
|
||||
|
||||
def _load_current_admin_menu_items():
|
||||
@@ -802,7 +802,9 @@ def list_users():
|
||||
if not role:
|
||||
return jsonify({'success': False, 'error': '需要登录'}), 403
|
||||
page = max(1, int(request.args.get('page', 1)))
|
||||
_, _, denied = _ensure_backend_menu_access('users', 'history', 'shop-manage', 'skip-price-asin', 'query-asin')
|
||||
_, _, denied = _ensure_backend_menu_access(
|
||||
'users', 'history', 'shop-manage', 'skip-price-asin', 'query-asin', 'dedupe-total-data'
|
||||
)
|
||||
if denied:
|
||||
return denied
|
||||
page_size = min(999, max(5, int(request.args.get('page_size', 15))))
|
||||
@@ -2301,18 +2303,25 @@ def delete_shop_key(item_id):
|
||||
# ---------- 数据去重总数据 ----------
|
||||
|
||||
@admin_api.route('/dedupe-total-data')
|
||||
@admin_required
|
||||
@login_required
|
||||
def list_dedupe_total_data():
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
page = max(1, int(request.args.get('page', 1)))
|
||||
page_size = min(100, max(1, int(request.args.get('page_size', 15))))
|
||||
keyword = (request.args.get('keyword') or '').strip()
|
||||
username = (request.args.get('username') or '').strip()
|
||||
data, error_response, status = _proxy_backend_java(
|
||||
'GET',
|
||||
'/api/admin/dedupe-total-data',
|
||||
params={'page': page, 'pageSize': page_size, 'keyword': keyword},
|
||||
params={
|
||||
'page': page,
|
||||
'pageSize': page_size,
|
||||
'keyword': keyword,
|
||||
'username': username,
|
||||
'operatorId': current_row.get('id'),
|
||||
},
|
||||
)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
@@ -2321,6 +2330,8 @@ def list_dedupe_total_data():
|
||||
{
|
||||
'id': item.get('id'),
|
||||
'data_value': item.get('dataValue') or '',
|
||||
'uploader_user_id': item.get('uploaderUserId'),
|
||||
'username': item.get('username') or '',
|
||||
'created_at': (item.get('createdAt') or '').replace('T', ' ')[:16],
|
||||
}
|
||||
for item in (payload.get('items') or [])
|
||||
@@ -2335,14 +2346,15 @@ def list_dedupe_total_data():
|
||||
|
||||
|
||||
@admin_api.route('/dedupe-total-data/import/<import_id>')
|
||||
@admin_required
|
||||
@login_required
|
||||
def dedupe_total_data_import_progress(import_id):
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'GET',
|
||||
f'/api/admin/dedupe-total-data/import/{import_id}',
|
||||
params={'operatorId': current_row.get('id')},
|
||||
)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
@@ -2362,9 +2374,9 @@ def dedupe_total_data_import_progress(import_id):
|
||||
|
||||
|
||||
@admin_api.route('/dedupe-total-data/import', methods=['POST'])
|
||||
@admin_required
|
||||
@login_required
|
||||
def import_dedupe_total_data():
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
file_storage = request.files.get('file')
|
||||
@@ -2377,6 +2389,7 @@ def import_dedupe_total_data():
|
||||
'POST',
|
||||
'/api/admin/dedupe-total-data/import',
|
||||
files=files,
|
||||
data={'operatorId': current_row.get('id')},
|
||||
)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
@@ -2389,14 +2402,15 @@ def import_dedupe_total_data():
|
||||
|
||||
|
||||
@admin_api.route('/dedupe-total-data/delete-import/<import_id>')
|
||||
@admin_required
|
||||
@login_required
|
||||
def dedupe_total_data_delete_import_progress(import_id):
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'GET',
|
||||
f'/api/admin/dedupe-total-data/delete-import/{import_id}',
|
||||
params={'operatorId': current_row.get('id')},
|
||||
)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
@@ -2416,9 +2430,9 @@ def dedupe_total_data_delete_import_progress(import_id):
|
||||
|
||||
|
||||
@admin_api.route('/dedupe-total-data/delete-import', methods=['POST'])
|
||||
@admin_required
|
||||
@login_required
|
||||
def delete_import_dedupe_total_data():
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
file_storage = request.files.get('file')
|
||||
@@ -2431,6 +2445,7 @@ def delete_import_dedupe_total_data():
|
||||
'POST',
|
||||
'/api/admin/dedupe-total-data/delete-import',
|
||||
files=files,
|
||||
data={'operatorId': current_row.get('id')},
|
||||
)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
@@ -2443,9 +2458,9 @@ def delete_import_dedupe_total_data():
|
||||
|
||||
|
||||
@admin_api.route('/dedupe-total-data', methods=['POST'])
|
||||
@admin_required
|
||||
@login_required
|
||||
def create_dedupe_total_data():
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
data = request.get_json() or {}
|
||||
@@ -2453,6 +2468,7 @@ def create_dedupe_total_data():
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'POST',
|
||||
'/api/admin/dedupe-total-data',
|
||||
params={'operatorId': current_row.get('id')},
|
||||
json_data=payload,
|
||||
)
|
||||
if error_response is not None:
|
||||
@@ -2464,15 +2480,17 @@ def create_dedupe_total_data():
|
||||
'item': {
|
||||
'id': item.get('id'),
|
||||
'data_value': item.get('dataValue') or '',
|
||||
'uploader_user_id': item.get('uploaderUserId'),
|
||||
'username': item.get('username') or '',
|
||||
'created_at': (item.get('createdAt') or '').replace('T', ' ')[:16],
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@admin_api.route('/dedupe-total-data/<int:item_id>', methods=['PUT'])
|
||||
@admin_required
|
||||
@login_required
|
||||
def update_dedupe_total_data(item_id):
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
data = request.get_json() or {}
|
||||
@@ -2480,6 +2498,7 @@ def update_dedupe_total_data(item_id):
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'PUT',
|
||||
f'/api/admin/dedupe-total-data/{item_id}',
|
||||
params={'operatorId': current_row.get('id')},
|
||||
json_data=payload,
|
||||
)
|
||||
if error_response is not None:
|
||||
@@ -2491,20 +2510,23 @@ def update_dedupe_total_data(item_id):
|
||||
'item': {
|
||||
'id': item.get('id'),
|
||||
'data_value': item.get('dataValue') or '',
|
||||
'uploader_user_id': item.get('uploaderUserId'),
|
||||
'username': item.get('username') or '',
|
||||
'created_at': (item.get('createdAt') or '').replace('T', ' ')[:16],
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@admin_api.route('/dedupe-total-data/<int:item_id>', methods=['DELETE'])
|
||||
@admin_required
|
||||
@login_required
|
||||
def delete_dedupe_total_data(item_id):
|
||||
_, _, denied = _ensure_dedupe_total_data_access()
|
||||
_, current_row, denied = _ensure_dedupe_total_data_access()
|
||||
if denied:
|
||||
return denied
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
'DELETE',
|
||||
f'/api/admin/dedupe-total-data/{item_id}',
|
||||
params={'operatorId': current_row.get('id')},
|
||||
)
|
||||
if error_response is not None:
|
||||
return error_response, status
|
||||
@@ -2824,7 +2846,9 @@ def delete_shop_manage(item_id):
|
||||
@admin_api.route('/shop-manage-groups')
|
||||
@login_required
|
||||
def list_shop_manage_groups():
|
||||
role, current_row, denied = _ensure_backend_menu_access('shop-manage', 'skip-price-asin', 'query-asin')
|
||||
role, current_row, denied = _ensure_backend_menu_access(
|
||||
'shop-manage', 'skip-price-asin', 'query-asin', 'dedupe-total-data'
|
||||
)
|
||||
if denied:
|
||||
return denied
|
||||
groups, error_response, status = _load_expanded_shop_manage_groups(role, current_row)
|
||||
@@ -2836,7 +2860,9 @@ def list_shop_manage_groups():
|
||||
@admin_api.route('/shop-manage-group', methods=['POST'])
|
||||
@login_required
|
||||
def create_shop_manage_group():
|
||||
role, current_row, denied = _ensure_backend_menu_access('shop-manage', 'skip-price-asin', 'query-asin')
|
||||
role, current_row, denied = _ensure_backend_menu_access(
|
||||
'shop-manage', 'skip-price-asin', 'query-asin', 'dedupe-total-data'
|
||||
)
|
||||
if denied:
|
||||
return denied
|
||||
data = request.get_json() or {}
|
||||
@@ -2881,7 +2907,9 @@ def create_shop_manage_group():
|
||||
@admin_api.route('/shop-manage-group/<int:item_id>', methods=['PUT'])
|
||||
@login_required
|
||||
def update_shop_manage_group(item_id):
|
||||
role, current_row, denied = _ensure_backend_menu_access('shop-manage', 'skip-price-asin', 'query-asin')
|
||||
role, current_row, denied = _ensure_backend_menu_access(
|
||||
'shop-manage', 'skip-price-asin', 'query-asin', 'dedupe-total-data'
|
||||
)
|
||||
if denied:
|
||||
return denied
|
||||
data = request.get_json() or {}
|
||||
@@ -3126,7 +3154,9 @@ def delete_skip_price_asin_country(item_id, country):
|
||||
@admin_api.route('/shop-manage-group/<int:item_id>', methods=['DELETE'])
|
||||
@login_required
|
||||
def delete_shop_manage_group(item_id):
|
||||
role, current_row, denied = _ensure_backend_menu_access('shop-manage', 'skip-price-asin', 'query-asin')
|
||||
role, current_row, denied = _ensure_backend_menu_access(
|
||||
'shop-manage', 'skip-price-asin', 'query-asin', 'dedupe-total-data'
|
||||
)
|
||||
if denied:
|
||||
return denied
|
||||
result, error_response, status = _proxy_backend_java(
|
||||
|
||||
Reference in New Issue
Block a user