Arthur-Wu committed this file on 2024-11-21

This commit is contained in:
ieemoo
2024-11-22 17:54:06 +08:00
parent caeb8481f2
commit 0cf0c9d8f7
50 changed files with 641 additions and 154 deletions

View File

@ -12,13 +12,11 @@ class YMClientApi(object):
self.Domain = "https://api.test.yimaogo.com/cart"
self.headerss = SignatureYM2(ShoppingCartMac)._headers()
''' 1- without sessionid '''
def get_ads_list(self):
logging.info("========== [获取广告列表] get_ads_list ==========")
''' method 1 '''
payload = {}
url = self.Domain + "/v1/ads/list?areaCode&userId&barcode&adsAreaIds=1,2,3,4,5,6"
logging.info(f"---url: {url}---")
logging.info(f"---headers: {self.headerss}---")
response = requests.request("GET", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
@ -34,7 +32,6 @@ class YMClientApi(object):
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
''' 2- sessionid must be started first '''
def session_start(self):
logging.info("========== [前置] session_start ==========")
url = self.Domain+"/v1/session/start"
@ -80,6 +77,7 @@ class YMClientApi(object):
logging.info("========== [获取商品信息] get_goods_info ==========")
payload = {}
url = self.Domain+"/v2/shopping/{inputCode}".replace("{inputCode}", str(InputCode))
logging.info(f"\n-----------获取商品信息url{url}\n")
response = requests.request("GET", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
@ -101,7 +99,6 @@ class YMClientApi(object):
"orderNo": LoginData["data"][0]["orderNo"]
}, indent=4, ensure_ascii=False)
url = self.Domain+"/v2/shopping/add/retire/purchase"
logging.info(f"---加购商品请求体payload: {payload}---")
response = requests.request("POST", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
@ -247,10 +244,11 @@ class YMClientApi(object):
for goods_data in GoodsDataList:
goods_dict = {}
goods_dict["inputCode"] = goods_data["data"]["inputCode"]
goods_dict["qty"] = goods_data["data"]["qty"]
goods_dict["qty"] = int(float((goods_data["data"]["qty"])))
goods_dict["weight"] = int(goods_data["data"]["weight"])
goods_param_lList.append(goods_dict)
payload = json.dumps({"goodsParamList": goods_param_lList})
payload = json.dumps({"goodsParamList": goods_param_lList}, indent=4, ensure_ascii=False)
logging.info(f"-----------请求体为:{payload}")
url = self.Domain+"/v2/shopping/cart/goods/info"
response = requests.request("POST", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
@ -270,6 +268,19 @@ class YMClientApi(object):
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
def verify_the_goods_through_verification(self):
logging.info("========== [验证商品通过验货] ==========")
payload = json.dumps({
"manualId": 65,
"type": 1,
"barcodes": []
})
url = self.Domain+"/v1/check/goods/update"
response = requests.request("POST", url, headers=self.headerss, data=payload)
logging.info(f"-----------接口返回状态码:{response.status_code}")
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
if __name__ == '__main__':

View File

@ -14,7 +14,6 @@ class YMServiceApi(object):
self.Domain = "https://api.test.yimaogo.com/"
self.headerss = SignatureYM().return_headers()
''' 1-广告模块 '''
def publish_ad(self, ADDetailList, MarketAndStoreDetail):
logging.info("========== [发布广告] ==========")
def __publish(ADDetail, MarketAndStoreDetail):
@ -111,11 +110,92 @@ class YMServiceApi(object):
logging.info(f"---接口返回状态码为:: {response.status_code}")
logging.info(f"---接口返回体为:: {response.json()}\n\n")
def approved_abnormal_products(self, MarketAndStoreInfo):
logging.info("========== [审核通过异常商品] ==========")
auth_token_b = self.headerss["Authorization"]
print(f"-----------headerss:: \n{self.headerss}\n")
print(f"-----------auth_token_b:: \n{auth_token_b}\n")
print(f"-----------auth_token_b:: \n{type(auth_token_b)}\n")
# 1-查询
url = self.Domain + "admin/check_goods/list"
get_abnormal_list_payload = json.dumps({
"page": 1,
"limit": 10,
"query": {
"order": {"createdAt": "desc"},
"where": {
"marketId": {"eq": MarketAndStoreInfo["putMarketId"]},
"storeId": {"eq": MarketAndStoreInfo["putStoreId"][0]},
"sessionState": {"in": [1, 2, 3, 4, 5, 6, 7]},
"state": {"eq": 0}
}
}
})
abnormal_list_resp = requests.request("POST", url,
headers=self.headerss, data=get_abnormal_list_payload)
print(f"-----------查询异常待处理商品返回结果为:: \n{abnormal_list_resp.json()}\n\n")
logging.info(f"-----------接口返回状态码:{abnormal_list_resp.status_code}")
logging.info(f"-----------接口返回数据:{abnormal_list_resp.json()}\n\n")
if abnormal_list_resp.json()["data"]["data"] != []:
abnormal_id = abnormal_list_resp.json()["data"]["data"][0]["id"]
num_val = abnormal_list_resp.json()["data"]["data"][0]["num"]
# 2-审核通过
# url2 = self.Domain + (
url2 = ('https://api.test.yimaogo.com/' + (
"admin/check_goods/change/state/"
"{abnormal_id}?state=1&num={Num}&update=true&promotion=false"
# "{abnormal_id}"
).replace("{abnormal_id}", str(abnormal_id)).
replace("{Num}", str(num_val)))
# print(f"-----------headers:: \n{self.headerss}\n")
print(f"-----------url2:: \n{url2}\n")
try:
auth_token_b = self.headerss["Authorization"]
auth_token_c = 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImNlcnQtYnVpbHQtaW4iLCJ0eXAiOiJKV1QifQ.eyJhdWQiOlsiOTU1Nzk3NjVlNGZlOTFhZjk5NjIiXSwiYXZhdGFyIjoiaHR0cHM6Ly9zdGF0aWMtbGVnYWN5LmRpbmd0YWxrLmNvbS9tZWRpYS9sQURQRDRQdkgxQ0Z6R1BOQWd6TkFlQV80ODBfNTI0LmpwZyIsImRpc3BsYXlOYW1lIjoi5ZC05Zu95b69IiwiZW1haWwiOiJ3dWd1b2h1aUBpZWVtb28uY29tIiwiZXhwIjoxNzMyODQzODQxLCJpYXQiOjE3MzIyMzkwNDEsImlkIjoiUTJwcVJlVjNQRUViaVM5OGlTaVA4ZUVDZ2lFaUUiLCJpc3MiOiJodHRwczovL2F1dGgueWltYW9nby5jb20iLCJqdGkiOiJhZG1pbi9iZjk0MDFhMi1mZDIxLTRjODgtOWZkMS0yNGVlZWM0MjdmMmYiLCJuYW1lIjoiMDI5NiIsIm5iZiI6MTczMjIzOTA0MSwibm9uY2UiOiIiLCJvd25lciI6ImllZW1vbyIsInNjb3BlIjoicHJvZmlsZSIsInN1YiI6IlEycHFSZVYzUEVFYmlTOThpU2lQOGVFQ2dpRWlFIiwidGFnIjoiIiwidG9rZW5UeXBlIjoiYWNjZXNzLXRva2VuIn0.MEXmbdk3QOitECq7K4qG5BOy0K7pecJxTQVNrJq8a5VllNLTmfnsCWs_UswiF4-hrf7KvMj71TKI3xcMLPZDPTYee4LKi3npXrSHtuF9yWef9xY3841KEDHUc_RwNMlqFukVWIH3c-TL3M5XVqvY_ccqxPVG00ArRuXemkFsF7YoOsBzqMBR5oZdTw4vdZBjv07vXPvX-D8oQ1AR2Ib4jZxifBCwGB00GqFrQaNKGTuzaEo_nAXiZ3Xd6GBO5GywBIZ6-60J9PSf4VTZzKdxM16DoQoRrZUzLgxVmuxYo1g9OrQt3FQEPH2GwiPRRNezZKOCJOkU5MY-ZbxAizK5OkFn96ozbkiTKDqlUfkPASZWWX2XgVTLdaoRVltBIGDI03OzOJgiN4ogmz4uOyfeAxmgNPYyFoCclS3rKyCAWNPthY4R5R-AmkZAr1Lpu2NkSlxpCAiDLuzITE2POaG2XFGpAfn2OYeSJWxJhx2twOSFwu4zG4-yGD_AiQKXuxpYpLQbFfIL3d3sJ9dM8Wom4nTdh4rQDWVT0ed1Pc77NxSqMWlAviszaGU_V9deY-JqmtOwvw4p7lmAmr4yeB_-7fdKTXfGyEj9zy863Mzj9zZlPVr-ZB6RjvgqI8YK8A1g-ggjRL5OFOwVt2SP59qrAkUfpgAQXj1vN_ias1LhlJU',
print(f"-----------auth_token_c:: \n{auth_token_b}\n")
print(f"-----------auth_token_c:: \n{type(auth_token_b)}\n")
# payload = ""
# headers = {
# 'Authorization': str(auth_token_c[0]),
# 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
# 'authority': 'api.test.yimaogo.com',
# 'Accept': '*/*',
# 'Origin': 'https://dashboard.test.yimaogo.com',
# 'Referer': 'https://dashboard.test.yimaogo.com/',
# 'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
# 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
# 'Date': 'Fri, 22 Nov 2024 07:28:39 GMT',
# 'server': 'APISIX/3.8.0',
# 'Content-Type': 'application/json',
# 'Host': 'api.test.yimaogo.com',
# 'Connection': 'keep-alive'
# }
# time.sleep(1)
# response = requests.request("GET", url2, headers=headers, data=payload)
# response.raise_for_status() # 检查请求是否成功
# logging.info(f"-----------接口返回状态码:{response.status_code}")
# logging.info(f"-----------接口返回数据:{response.json()}\n\n")
# print(f"-----------接口返回数据:\n{response.json()}\n\n")
except requests.exceptions.RequestException as e:
logging.error(f"请求失败: {e}")
# if response.json()["msg"] == '成功':
# logging.info("---审核通过异常商品成功!")
# else:
# logging.error("---审核通过异常商品失败!")
# else:
# logging.info("---未查询到待核验的异常商品!")
if __name__ == '__main__':
yms = YMServiceApi()
GoodsInfo = {"GoodsInputcode": "6924743915848"}
MarketAndStoreInfo = {"MarketId": 50, "StoreId": 29}
yms.add_weight_to_whitelist(GoodsInfo, MarketAndStoreInfo)
time.sleep(10)
yms.delete_weight_whitelist_goods()
MarketAndStoreDetails = {"putMarketId": 50, "putStoreId": ["69"]}
yms.approved_abnormal_products(MarketAndStoreDetails)