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

This commit is contained in:
ieemoo
2024-11-20 16:44:27 +08:00
parent 2224176ebf
commit 80fadf69a7
61 changed files with 1017 additions and 302 deletions

View File

@ -86,7 +86,7 @@ class YMClientApi(object):
return response.json()
def add_cart_goods(self, GoodsInfoData, AddPurchaseQuantity, LoginData):
logging.info("========== [加入购物车] add_retire_purchase ==========")
logging.info("========== [加购 商品] add_retire_purchase ==========")
payload = json.dumps({
"addGoods":[{
"inputCode": GoodsInfoData["data"]["inputCode"],
@ -106,134 +106,106 @@ class YMClientApi(object):
logging.info(f"-----------接口返回数据:{response.json()}\n\n")
return response.json()
def delete_cart_goods(self, GoodsInfoData, LoginData, AddGoodsResponse):
''' 退购
:param GoodsInfoData:
def delete_cart_goods(self, GetGoodsInfoList, LoginData, AddGoodsResp):
''' 退购 商品
:param GetGoodsInfoList:
:param LoginData:
:param AddGoodsResp:
:return:
'''
logging.info("========== [删除购物车商品] delete_cart_goods ==========")
GoodsInfoData = ''
LoginData = ''
AddGoodsResponse = ''
import random
logging.info("========== [退购 商品] delete_cart_goods ==========")
delGoodsList, existGoodsList = [], []
for add_goods_info in AddGoodsResp["data"]["orderItemList"]:
exist_goods_dict = {}
exist_goods_dict["inputCode"] = add_goods_info["inputCode"]
exist_goods_dict["isNormalAddPurchase"] = True
exist_goods_dict["qty"] = add_goods_info["qty"]
exist_goods_dict["uuid"] = add_goods_info["uuid"]
if add_goods_info["weight"] > 0:
exist_goods_dict["weight"] = add_goods_info["weight"]
else:
for get_goods_data in GetGoodsInfoList:
if get_goods_data["data"]["inputCode"] == add_goods_info["inputCode"]:
if get_goods_data["data"]["weight"] > 0:
exist_goods_dict["weight"] = get_goods_data["data"]["weight"]
existGoodsList.append(exist_goods_dict)
existGoods = []
for goodsinfo in AddGoodsResponse["data"]["orderItemList"]:
good_dict = {}
good_dict["inputCode"] = goodsinfo["inputCode"]
good_dict["isNormalAddPurchase"] = True
good_dict["qty"] = goodsinfo["qty"]
good_dict["uuid"] = goodsinfo["uuid"]
# good_dict["weight"] = goodsinfo["weight"]
good_dict["weight"] = GoodsInfoData["data"]["weight"]
existGoods.append(good_dict)
del_goods_dict = {}
delGoodsInfo = random.choice(GetGoodsInfoList)
del_goods_dict["inputCode"] = delGoodsInfo["data"]["inputCode"]
del_goods_dict["isNormalAddPurchase"] = True
del_goods_dict["qty"] = 1
del_goods_dict["weight"] = 0
for goodData in delGoodsList:
if goodData["inputCode"] == del_goods_dict["inputCode"]:
del_goods_dict["uuid"] = goodData["uuid"]
delGoodsList.append(del_goods_dict)
payload = json.dumps({
"addGoods": [],
"autoSelectCoupon": True,
"coupons": [],
"deleteGoods": [{
"inputCode": "6924743915848",
"isNormalAddPurchase": True,
"qty": 1,
"uuid": ["23B2363A224E4933942992F84B937D7D"],
"weight": 0
}],
"existGoods": [{
"inputCode": "6924743915848",
"isNormalAddPurchase": True,
"qty": 1,
"uuid": ["23B2363A224E4933942992F84B937D7D"],
"weight": 155
}],
"orderNo": "1858386778027515904"
"deleteGoods": delGoodsList,
"existGoods": existGoodsList,
"orderNo": LoginData["data"][0]["orderNo"]
})
url = self.Domain + "/v2/shopping/add/retire/purchase"
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()
add_2_result = {
"code": 0,
"msg": "成功",
"data": {
"remainAmount": "13.8",
"totalDisc": "0.0",
"orderItemList": [{
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], # 下传
"qty": 1, # 下传
"marketPrice": "5",
"salePrice": "5.00",
"totalSalePrice": "5",
"minWeight": 0,
"weight": 0,
"maxWeight": 0,
"goodsPic": "https://ieemoo-storage.obs.cn-east-3.myhuaweicloud.com/lhpic/6925303796426.jpg",
"barcode": "6925303796426",
"inputCode": "6925303796426",
"goodsName": "统一茄皇蕃茄牛肉面",
"goodsPromotionTags": None,
"measureProperty": 0,
"shoppingBagFlag": False,
"activityId": None,
"activityDescription": None,
"totalPromotionPrice": 0,
"categoryCode": None,
"isOneBarcodeMore": False,
"pkgFlag": False
},
{
"uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"],
"qty": 1,
"marketPrice": "8.8",
"salePrice": "8.80",
"totalSalePrice": "8.8",
"minWeight": 0,
"weight": 0,
"maxWeight": 0,
"goodsPic": "https://ieemoo-storage.obs.cn-east-3.myhuaweicloud.com/lhpic/6924743915848.jpg",
"barcode": "6924743915848",
"inputCode": "6924743915848",
"goodsName": "乐事无限翡翠黄瓜味薯片",
"goodsPromotionTags": None,
"measureProperty": 0,
"shoppingBagFlag": False,
"activityId": None,
"activityDescription": None,
"totalPromotionPrice": 0,
"categoryCode": None,
"isOneBarcodeMore": False,
"pkgFlag": False
}],
"bagInfoList": None,
"couponMap": None,
"activityGoodsList": None
}
}
def delete_shopping_bag(self, GetGoodsInfoList, LoginData, AddGoodsResp):
''' 退购 购物嗲
:param GetGoodsInfoList:
:param LoginData:
:param AddGoodsResp:
:return:
'''
import random
logging.info("========== [退购 购物嗲] delete_shopping_bag ==========")
del_201 = {
delGoodsList, existGoodsList = [], []
for add_goods_info in AddGoodsResp["data"]["bagInfoList"]:
exist_goods_dict = {}
exist_goods_dict["inputCode"] = add_goods_info["inputCode"]
exist_goods_dict["isNormalAddPurchase"] = True
exist_goods_dict["qty"] = add_goods_info["qty"]
exist_goods_dict["uuid"] = add_goods_info["uuid"]
if add_goods_info["weight"] > 0:
exist_goods_dict["weight"] = add_goods_info["weight"]
else:
for get_goods_data in GetGoodsInfoList:
if get_goods_data["data"]["inputCode"] == add_goods_info["inputCode"]:
if get_goods_data["data"]["weight"] > 0:
exist_goods_dict["weight"] = get_goods_data["data"]["weight"]
existGoodsList.append(exist_goods_dict)
del_goods_dict = {}
delGoodsInfo = random.choice(GetGoodsInfoList)
del_goods_dict["inputCode"] = delGoodsInfo["data"]["inputCode"]
del_goods_dict["isNormalAddPurchase"] = True
del_goods_dict["qty"] = 1
del_goods_dict["weight"] = 0
for goodData in delGoodsList:
if goodData["inputCode"] == del_goods_dict["inputCode"]:
del_goods_dict["uuid"] = goodData["uuid"]
delGoodsList.append(del_goods_dict)
payload = json.dumps({
"addGoods": [],
"autoSelectCoupon": True,
"coupons": [],
"deleteGoods": [{
"inputCode": "6924743915848",
"isNormalAddPurchase": True,
"qty": 1,
"uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"],
"weight": 0
}],
"existGoods": [{
"inputCode": "6925303796426", # 取自 add_2_result["data"]["orderItemList"][0]["inputCode"]
"isNormalAddPurchase": True,
"qty": 1, # 取自 add_2_result["data"]["orderItemList"][0]["qty"]
"uuid": ["2BEDF9C6DD954E1FB3DCD9A9F3C57D29"], # 取自 add_2_result["data"]["orderItemList"][1]["uuid"]
"weight": 165 # 取自 GoodsInfoData["data"]["weight"]
}, {
"inputCode": "6924743915848",
"isNormalAddPurchase": True,
"qty": 1,
"uuid": ["F9BBA7C9AF7944FF91C717E3D18BD682"],
"weight": 160 # GoodsInfoData["data"]["weight"]
}],
"orderNo": "1858386778027515904" # 取自 LoginData["data"][0]["orderNo"]
}
"deleteGoods": delGoodsList,
"existGoods": existGoodsList,
"orderNo": LoginData["data"][0]["orderNo"]
})
url = self.Domain + "/v2/shopping/add/retire/purchase"
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()
def get_coupon_list(self):
logging.info("========== [获取优惠券列表] get_coupon_list ==========")
@ -305,14 +277,16 @@ if __name__ == '__main__':
ymc.session_start() # step1session开始
Payload01 = {"action": 0, "isAnon": True}
LoginData = ymc.login_app_v2(Payload01) # step2匿名登录
ymc.get_login_type() # step3获取登录方式
Payload02 = {"action": 1, "code": "18052753212", "isAnon": False}
Payload02 = {"action": 1, "code": "17786408673", "isAnon": False}
ymc.login_app_v2(Payload02) # step4切换会员登录
GoodsInfoData = ymc.get_goods_info(InputCode=6924882486100) # step5获取商品信息 ------ 6924882486100
CouponListData = ymc.get_coupon_list() # step6获取优惠券列表
ymc.receive_coupon(CouponListData) # step7领取优惠券
ymc.query_coupon_list_user() # step8查询用户持有的优惠券列表
ymc.add_cart_goods(GoodsInfoData, 1, LoginData) # step9加购商品 ------ 6924882486100
ymc.get_cart_goods_info(GoodsInfoData) # step10获取购物车商品信息
ymc.request_order_settlement(LoginData) # step11请求订单结算