qrpa 1.1.23__py3-none-any.whl → 1.1.25__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of qrpa might be problematic. Click here for more details.
- qrpa/shein_excel.py +3 -3
- qrpa/shein_lib.py +37 -1
- {qrpa-1.1.23.dist-info → qrpa-1.1.25.dist-info}/METADATA +1 -1
- {qrpa-1.1.23.dist-info → qrpa-1.1.25.dist-info}/RECORD +6 -6
- {qrpa-1.1.23.dist-info → qrpa-1.1.25.dist-info}/WHEEL +0 -0
- {qrpa-1.1.23.dist-info → qrpa-1.1.25.dist-info}/top_level.txt +0 -0
qrpa/shein_excel.py
CHANGED
|
@@ -25,7 +25,7 @@ class SheinExcel:
|
|
|
25
25
|
|
|
26
26
|
sheet_name1 = '未匹配SKU_需运营调整'
|
|
27
27
|
operations = [
|
|
28
|
-
[sheet_name1, 'write', [['店铺账户', '店铺别名', '店长', 'SPU', 'SKC', '商家SKC', '商家SKU']] + excel_data],
|
|
28
|
+
[sheet_name1, 'write', [['店铺账户', '店铺别名', '店长', 'SPU', 'SKC', '商家SKC', '商家SKU', '上架状态', '商品层次']] + excel_data],
|
|
29
29
|
[sheet_name1, 'format', self.format_sku_not_found],
|
|
30
30
|
['Sheet1', 'delete'],
|
|
31
31
|
]
|
|
@@ -46,7 +46,7 @@ class SheinExcel:
|
|
|
46
46
|
def format_sku_not_found(self, sheet):
|
|
47
47
|
beautify_title(sheet)
|
|
48
48
|
add_borders(sheet)
|
|
49
|
-
column_to_left(sheet, ['商家SKC', '商家SKU'])
|
|
49
|
+
column_to_left(sheet, ['商家SKC', '商家SKU', '商品层次'])
|
|
50
50
|
pass
|
|
51
51
|
|
|
52
52
|
def format_sku_to_skc(self, sheet):
|
|
@@ -358,7 +358,7 @@ class SheinExcel:
|
|
|
358
358
|
add_sum_for_cell(sheet, [date_A, date_B])
|
|
359
359
|
column_to_right(sheet, ['金额', '汇总'])
|
|
360
360
|
sheet.autofit()
|
|
361
|
-
autofit_column(sheet,[date_A, date_B])
|
|
361
|
+
autofit_column(sheet, [date_A, date_B])
|
|
362
362
|
delete_sheet_if_exists(wb, 'Sheet1')
|
|
363
363
|
wb.save()
|
|
364
364
|
close_excel(app, wb)
|
qrpa/shein_lib.py
CHANGED
|
@@ -730,6 +730,33 @@ class SheinLib:
|
|
|
730
730
|
|
|
731
731
|
return list_item
|
|
732
732
|
|
|
733
|
+
def refresh_bridge_data_for_list(self, data_list, source='mb', sku_field='supplierSku'):
|
|
734
|
+
"""
|
|
735
|
+
刷新列表中的bridge数据(成本价和SKU图片)
|
|
736
|
+
|
|
737
|
+
Args:
|
|
738
|
+
data_list: 需要刷新的数据列表
|
|
739
|
+
source: ERP数据源,默认为'mb'
|
|
740
|
+
sku_field: SKU字段名,默认为'supplierSku'
|
|
741
|
+
|
|
742
|
+
Returns:
|
|
743
|
+
刷新后的数据列表
|
|
744
|
+
"""
|
|
745
|
+
log(f'开始刷新Bridge数据,共 {len(data_list)} 条记录', self.store_username, self.store_name)
|
|
746
|
+
|
|
747
|
+
for index, item in enumerate(data_list):
|
|
748
|
+
supplier_sku = item.get(sku_field)
|
|
749
|
+
if supplier_sku:
|
|
750
|
+
item['cost_price'] = self.bridge.get_sku_cost(supplier_sku, source)
|
|
751
|
+
item['sku_img'] = self.bridge.get_sku_img(supplier_sku, source)
|
|
752
|
+
|
|
753
|
+
# 每100条记录输出一次进度
|
|
754
|
+
if (index + 1) % 100 == 0:
|
|
755
|
+
log(f'刷新进度: {index + 1}/{len(data_list)}', self.store_username, self.store_name)
|
|
756
|
+
|
|
757
|
+
log(f'Bridge数据刷新完成', self.store_username, self.store_name)
|
|
758
|
+
return data_list
|
|
759
|
+
|
|
733
760
|
def get_replenish_list(self):
|
|
734
761
|
page_num = 1
|
|
735
762
|
page_size = 50
|
|
@@ -1051,6 +1078,13 @@ class SheinLib:
|
|
|
1051
1078
|
skc = skc_item['skc']
|
|
1052
1079
|
supplierCode = skc_item['supplierCode']
|
|
1053
1080
|
|
|
1081
|
+
shelf_status = skc_item.get('shelfStatus', {}).get('name', '-')
|
|
1082
|
+
if int(skc_item['shelfStatus']['value']) != 1:
|
|
1083
|
+
log('商品未上架跳过:', skc)
|
|
1084
|
+
continue
|
|
1085
|
+
|
|
1086
|
+
goods_level = skc_item.get('goodsLevel', {}).get('name', '-')
|
|
1087
|
+
|
|
1054
1088
|
# 倒序遍历 skuList,安全删除
|
|
1055
1089
|
for i in range(len(skc_item['skuList']) - 1, -1, -1):
|
|
1056
1090
|
sku_item = skc_item['skuList'][i]
|
|
@@ -1062,12 +1096,14 @@ class SheinLib:
|
|
|
1062
1096
|
if not isinstance(cost_price, (int, float)):
|
|
1063
1097
|
dict_sku_not_found.append([
|
|
1064
1098
|
self.store_username,
|
|
1065
|
-
self.store_name,
|
|
1099
|
+
f'{self.store_name}',
|
|
1066
1100
|
self.config.shein_store_manager.get(str(self.store_username).lower()),
|
|
1067
1101
|
spu,
|
|
1068
1102
|
skc,
|
|
1069
1103
|
supplierCode,
|
|
1070
1104
|
sku_item['supplierSku'],
|
|
1105
|
+
shelf_status,
|
|
1106
|
+
goods_level,
|
|
1071
1107
|
])
|
|
1072
1108
|
|
|
1073
1109
|
dict_sku_to_skc.append([
|
|
@@ -10,8 +10,8 @@ qrpa/fun_file.py,sha256=yzjDV16WL5vRys7J4uQcNzIFkX4D5MAlSCwxcD-mwQo,11966
|
|
|
10
10
|
qrpa/fun_web.py,sha256=2aYrtRlf-p-P6AyjrlIcmMVq8oSDePEY48YLm4ZRS1A,11857
|
|
11
11
|
qrpa/fun_win.py,sha256=-LnTeocdTt72NVH6VgLdpAT9_C5oV9okeudXG6CftMA,8034
|
|
12
12
|
qrpa/shein_daily_report_model.py,sha256=H8oZmIN5Pyqe306W1_xuz87lOqLQ_LI5RjXbaxDkIzE,12589
|
|
13
|
-
qrpa/shein_excel.py,sha256=
|
|
14
|
-
qrpa/shein_lib.py,sha256=
|
|
13
|
+
qrpa/shein_excel.py,sha256=Eamms5ActaP8Ac3n6SQXlpzFoUSkdBtzMUZBviWVtGM,147714
|
|
14
|
+
qrpa/shein_lib.py,sha256=KiA2pF-T_N4H1wOM_U0w4xzMwXqXCLb5tEPSoHrkfd4,149906
|
|
15
15
|
qrpa/shein_mysql.py,sha256=e9ShBvjGj_mNwINatyVINCiZrQnFFmDYoJLskZ1vOzo,3378
|
|
16
16
|
qrpa/shein_sqlite.py,sha256=ZQwD0Gz81q9WY7tY2HMEYvSF9r3N_G_Aur3bYfST9WY,5707
|
|
17
17
|
qrpa/shein_ziniao.py,sha256=B7HNz31YWDcWDIhX3ETDZpIe6_BRyEbtwyqlkFNsPNE,21945
|
|
@@ -25,7 +25,7 @@ qrpa/mysql_module/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
25
25
|
qrpa/mysql_module/shein_ledger_model.py,sha256=O1pUFwXGC9hySU7-h07sAu70Xhzl0OxnXPMzRwphiGU,18629
|
|
26
26
|
qrpa/mysql_module/shein_product_model.py,sha256=v21_juWsZqTHj2k08GUGNkoRZ4hkKZKjaE-wmRl2a2k,19257
|
|
27
27
|
qrpa/mysql_module/shein_return_order_model.py,sha256=Zt-bGOH_kCDbakW7uaTmqqo_qTT8v424yidcYSfWvWM,26562
|
|
28
|
-
qrpa-1.1.
|
|
29
|
-
qrpa-1.1.
|
|
30
|
-
qrpa-1.1.
|
|
31
|
-
qrpa-1.1.
|
|
28
|
+
qrpa-1.1.25.dist-info/METADATA,sha256=rn6gYcPe5yITeArM2EpJShehla_3LRWDXvAk27Z5s7g,231
|
|
29
|
+
qrpa-1.1.25.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
30
|
+
qrpa-1.1.25.dist-info/top_level.txt,sha256=F6T5igi0fhXDucPPUbmmSC0qFCDEsH5eVijfVF48OFU,5
|
|
31
|
+
qrpa-1.1.25.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|