sc-common-interface 2.4.6__tar.gz → 2.4.7__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sc-common-interface
3
- Version: 2.4.6
3
+ Version: 2.4.7
4
4
  Summary: SC贴文销售公用的接口
5
5
  Home-page: UNKNOWN
6
6
  Author: river
@@ -719,7 +719,10 @@ def get_live_info(data):
719
719
  return response
720
720
 
721
721
  def edit_live_info(data):
722
- """编辑直播间信息"""
722
+ """
723
+ 直播前编辑直播间信息:prepare
724
+ 直播中编辑直播间信息:progress
725
+ """
723
726
  stamp = int(time.time())
724
727
  env = data["env"]
725
728
  headers = data["headers"]
@@ -762,7 +765,9 @@ def edit_live_info(data):
762
765
  productRecommendMessage = ""
763
766
  productRecommendMessageEnable = True
764
767
  platform = "FB_GROUP"
765
-
768
+ type = "prepare"
769
+ if "type" in data:
770
+ type = data["type"]
766
771
  if "title" in data:
767
772
  title = data["title"]
768
773
  if "salesDescription" in data:
@@ -839,6 +844,32 @@ def edit_live_info(data):
839
844
  productRecommendMessage = data["productRecommendMessage"]
840
845
  if "productRecommendMessageEnable" in data:
841
846
  productRecommendMessageEnable = data["productRecommendMessageEnable"]
847
+ platformChannels = []
848
+ startTime = None
849
+ endTime = None
850
+ if type=="progress":
851
+ #进行中不允许修改基础设置、关键子下单设置、保留库存、
852
+ res = get_live_info(data)
853
+ title = res["data"]["sales"]["post_sales_title"]
854
+ salesOwner = res["data"]["sales"]["post_sales_owner"]
855
+ salesDescription = res["data"]["sales"]["post_sales_title"]
856
+ patternModel = res["data"]["salesConfig"]["patternModel"]["patternModel"]
857
+ keywordValidInLive = res["data"]["salesConfig"]["patternModel"]["keywordValidInLive"]
858
+ keywordValidAfterLive = res["data"]["salesConfig"]["patternModel"]["keywordValidAfterLive"]
859
+ if "start_time_timestamp" in res["data"]["sales"]:
860
+ startTime = res["data"]["sales"]["start_time_timestamp"]
861
+ if "end_time_timestamp" in res["data"]["sales"]:
862
+ endTime = res["data"]["sales"]["end_time_timestamp"]
863
+ relatedPostList = res["data"]["relatedPostList"]
864
+ for relatedPost in relatedPostList:
865
+ platformChannelName = relatedPost["page_name"]
866
+ platformChannelId = relatedPost["page_id"]
867
+ platformChannel = {
868
+ "platformChannelName": platformChannelName,
869
+ "platformChannelId": platformChannelId,
870
+ "platform": platform
871
+ }
872
+ platformChannels.append(platformChannel)
842
873
 
843
874
  body = {}
844
875
  if platform.upper()=="FB_GROUP":
@@ -959,9 +990,126 @@ def edit_live_info(data):
959
990
  }
960
991
  }
961
992
  }
993
+ elif platform.lower() in ("facebook","instagram"):
994
+ body = {
995
+ "sales": {
996
+ "title": title,
997
+ "salesOwner": salesOwner,
998
+ "salesDescription": salesDescription,
999
+ "platforms": [
1000
+ platform
1001
+ ],
1002
+ "platformSubType": "",
1003
+ "platformChannels": platformChannels,
1004
+ "archivedStreamVisibleTime": None,
1005
+ "startTime":startTime,
1006
+ "endtTime":endTime
1007
+ },
1008
+ "salesConfig": {
1009
+ "patternModel": {
1010
+ "patternModel": patternModel,
1011
+ "keywordValidInLive": keywordValidInLive,
1012
+ "keywordValidAfterLive": keywordValidAfterLive
1013
+ },
1014
+ "autoNotifyPay": {
1015
+ "enable": autoNotifyPayEnable,
1016
+ "notifyTime": autoNotifyPayTime,
1017
+ "message": autoNotifyPayMessage,
1018
+ "button": autoNotifyPayButton
1019
+ },
1020
+ "stock": {
1021
+ "lockStock": stockEnable,
1022
+ "salesStockLockExpireTime": stockExpireTime,
1023
+ "salesStockLockPreTime": stockPreTime
1024
+ },
1025
+ "commentIntent": {
1026
+ "enabled": commentIntent
1027
+ },
1028
+ "variationToggleOn": {
1029
+ "enable": True
1030
+ },
1031
+ "productSort": {
1032
+ "productSort": "NEW_TO_OLD"
1033
+ },
1034
+ "lowOfQuantity": {
1035
+ "enable": lowOfQuantityEnable,
1036
+ "sound": lowOfQuantitySound,
1037
+ "quantity": lowOfQuantityQuantity
1038
+ },
1039
+ "notice": None,
1040
+ "frontLive": None,
1041
+ "liveViewSdk": None,
1042
+ "runningLightsConfig": None,
1043
+ "fbGroupSettingConfig": None,
1044
+ "productPinningStyle": None
1045
+ },
1046
+ "postConfigMap": {
1047
+ "FACEBOOK": {
1048
+ "message": {
1049
+ "needSendMessage": need_send_message,
1050
+ "hasInteractionMessage": {
1051
+ "firstMessageTemplate": {
1052
+ "topMessage": has_interaction_message
1053
+ },
1054
+ "messageButton": has_interaction_message_button
1055
+ },
1056
+ "hasLink": has_link,
1057
+ "noInteractionMessage": {
1058
+ "firstMessageTemplate": {
1059
+ "topMessage": no_interaction_message_first
1060
+ },
1061
+ "firstMessageButton": first_message_button,
1062
+ "secondMessageTemplate": {
1063
+ "topMessage": second_message
1064
+ },
1065
+ "secondMessageButton": second_message_button
1066
+ },
1067
+ "messageType": "MESSAGE"
1068
+ },
1069
+ "allOutOfStockMessage": {
1070
+ "needSendMessage": allOutOfStockEnable,
1071
+ "hasInteractionMessage": {
1072
+ "firstMessageTemplate": {
1073
+ "topMessage": allOutOfStockMessage
1074
+ }
1075
+ },
1076
+ "messageType": "ALL_OUT_OF_STOCK"
1077
+ },
1078
+ "welcomeMessage": {
1079
+ "needSendMessage": welcomeMessageEnable,
1080
+ "hasInteractionMessage": {
1081
+ "firstMessageTemplate": {
1082
+ "topMessage": welcomeMessage
1083
+ }
1084
+ },
1085
+ "messageType": "WELCOME_MESSAGE"
1086
+ },
1087
+ "productRecommendMessage": {
1088
+ "needSendMessage": productRecommendMessageEnable,
1089
+ "hasInteractionMessage": {
1090
+ "firstMessageTemplate": {
1091
+ "message": productRecommendMessage
1092
+ }
1093
+ },
1094
+ "messageType": "PRODUCT_RECOMMEND_FB_MESSAGE"
1095
+ },
1096
+ "welcomeMessageComment": {
1097
+ "needSendMessage": welcomeCommentEnable,
1098
+ "hasInteractionMessage": {
1099
+ "firstMessageTemplate": {
1100
+ "topMessage": welcomeComment
1101
+ }
1102
+ },
1103
+ "messageType": "WELCOME_MESSAGE_COMMENT"
1104
+ },
1105
+ "showNumberOfViewers": None,
1106
+ "showShareButton": None
1107
+ }
1108
+ }
1109
+ }
1110
+ response = requests.put(url,headers=headers,json=body).json()
1111
+ return response
962
1112
 
963
- response = requests.put(url,headers=headers,json=body).json()
964
- return response
965
1113
 
966
1114
  def save_global_config(data):
967
1115
  "保存直播间通用配置"
@@ -1242,6 +1390,7 @@ def save_global_config(data):
1242
1390
  response = requests.post(url, headers=headers, json=body).json()
1243
1391
  return response
1244
1392
 
1393
+
1245
1394
  def get_global_config(data):
1246
1395
  env = data["env"]
1247
1396
  headers = data["headers"]
@@ -1276,4 +1425,8 @@ def remove_live_product(data):
1276
1425
 
1277
1426
 
1278
1427
  if __name__=="__main__":
1279
- pass
1428
+ data = {'env': 'https://front-admin-preview.shoplineapp.com', 'headers': {'Content-Type': 'application/json', 'authorization': 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIwNmUxNGU2NzAxMWY0ZDNhMGU0ZDgyNDk3ZDAxYmQwZSIsImRhdGEiOnsibWVyY2hhbnRfaWQiOiI2MWE4N2M5NzYzYjcwYzAwNTEwNmZiZDAiLCJhcHBsaWNhdGlvbl9pZCI6IjVmNTlmMTI4MzcyZWIzMDAwNmRjNDcwMSJ9LCJpc3MiOiJodHRwczovL2RldmVsb3BlcnMtcHJldmlldy5zaG9wbGluZWFwcC5jb20iLCJhdWQiOltdLCJzdWIiOiI2MWE4N2M5NzYzYjcwYzAwNTEwNmZiZDAifQ.gUqa8FJs_vjRJ-kFMhOZx42QtCr7XxcN3gKSK6_4Zvs', 'lang': 'en'}, 'platform': 'FACEBOOK', 'sales_id': 517320}
1429
+ data['type'] = "progress"
1430
+ res = edit_live_info(data)
1431
+
1432
+ print(res)
@@ -8,6 +8,7 @@ import hmac
8
8
  from hashlib import sha1
9
9
  import random
10
10
  # from Platform import Platform
11
+ import itertools
11
12
 
12
13
 
13
14
 
@@ -1252,30 +1253,67 @@ def modelone_create_mutil_product(data):
1252
1253
  keyword = data["keyword"]
1253
1254
  variance = {"color":["红","黄"],"size":["X","M"]}
1254
1255
  if "variance" in data:
1255
- variance = data["variance"]
1256
+ variance = data["variance"]
1257
+ price = 10
1258
+ if "price" in data:
1259
+ price = data["price"]
1260
+ quantity = 99
1261
+ if "quantity" in data:
1262
+ quantity = data["quantity"]
1256
1263
  customVariantTypes = []
1257
1264
  variantOptions = []
1258
1265
  variations = []
1259
1266
  variance_type = variance.keys()
1267
+ # print(variance_type)
1260
1268
  custom_keys = []
1261
1269
  for index,value in enumerate(variance_type):
1270
+ # print(value)
1262
1271
  customVariantType = {}
1263
- customVariantType["type"] = "custom_%d"%(index+1)
1272
+ type = "custom_%d"%(index+1)
1273
+ customVariantType["type"] = type
1264
1274
  customVariantType["name"] = value
1265
1275
  customVariantTypes.append(customVariantType)
1266
1276
  variance_names = variance[value]
1277
+ # print(variance_names)
1267
1278
  custom_key = []
1268
1279
  for index,value in enumerate(variance_names):
1269
1280
  variantOption = {}
1270
- variantOption["type"] = "custom_%d"%(index+1)
1271
- customVariantType["name"] = value
1272
- customVariantType["key"] = "custom_%d_%s_4218"%(index+1,value)
1273
- custom_key.append(customVariantType["key"])
1281
+ variantOption["type"] = type
1282
+ variantOption["name"] = value
1283
+ variantOption["key"] = "%s_%s_4218"%(type,value)
1284
+ custom_key.append(variantOption["key"])
1274
1285
  variantOptions.append(variantOption)
1275
1286
  custom_keys.append(custom_key)
1287
+ # print(customVariantTypes)
1288
+ # print(variantOptions)
1289
+ # print(custom_keys)
1290
+ # 生成所有组合
1291
+ combinations = []
1292
+ for i in range(len(custom_keys)):
1293
+ for j in range(i + 1, len(custom_keys)):
1294
+ # 使用 itertools.product 生成每对子数组的组合
1295
+ combinations.extend(itertools.product(custom_keys[i], custom_keys[j]))
1296
+ for i in range(len(combinations)):
1297
+ variantion = {}
1298
+ variantion["price"] = price
1299
+ variantion["quantity"] = quantity
1300
+ variantion["keyList"] = [keyword + "%d" % i]
1301
+ variantion["variantOptionKeys"] = list(combinations[i])
1302
+ variations.append(variantion)
1303
+ # print(variations)
1276
1304
 
1277
- # body = {"unlimitedQuantity":False,"productName":product_name,"imageUrl":"https://s3-ap-southeast-1.amazonaws.com/static.shoplineapp.com/sc-admin/product-default.png",
1278
- # "customVariantTypes":,"price":0}
1305
+ body = {
1306
+ "unlimitedQuantity": False,
1307
+ "productName": product_name,
1308
+ "imageUrl": "https://s3-ap-southeast-1.amazonaws.com/static.shoplineapp.com/sc-admin/product-default.png",
1309
+ "customVariantTypes":customVariantTypes,
1310
+ "variantOptions": variantOptions,
1311
+ "variations": variations,
1312
+ "price": 0
1313
+ }
1314
+ response = requests.post(url, headers=headers, json=body).json()
1315
+ spu_id = response["data"]
1316
+ return spu_id
1279
1317
 
1280
1318
  def get_mc_post(data):
1281
1319
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sc-common-interface
3
- Version: 2.4.6
3
+ Version: 2.4.7
4
4
  Summary: SC贴文销售公用的接口
5
5
  Home-page: UNKNOWN
6
6
  Author: river
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='sc-common-interface',
5
- version='2.4.6',
5
+ version='2.4.7',
6
6
  description='SC贴文销售公用的接口',
7
7
  author='river',
8
8
  packages=find_packages(),