# # 获取储值卡现有属性信息,组合生成修改需要的载荷内容 import pandas as pd import time import requests import json import datetime import hashlib from urllib.parse import quote, quote_plus from module import F6_module start_time = time.time() f6_module = F6_module() username = "18751893221" password = "123456Ab" store_name = "新众合车酷" res = f6_module.login_in(username, password, store_name) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0', "Content-Type": "application/json", 'Referer': 'https://yunxiu.f6car.cn/erp/view/index.html' } count = 1 try: df = pd.read_excel(r"C:\Users\hp_z66\OneDrive\Desktop\钉钉文件\会员卡信息.新.xlsx", sheet_name='Sheet2', dtype='string') items = {'洗车': '2759725',"美容":"2759722"} # 修改的内容(含新增) # discount = '0.90' # 需要修改的折扣 discount_list = { '美容': '0.68', '洗车': '0.68'} # print(df) cookies = requests.utils.dict_from_cookiejar(res.cookies) print(cookies) for da in df.values: try: # 获取储值卡属性信息 url_version = 'https://yunxiu.f6car.cn/marketing/card/detail/' + da[0] res_version = requests.get(url_version, cookies=cookies, headers=headers) res_version = res_version.json() # print(res_version) # # 获取储值卡属性信息 url = 'https://yunxiu.f6car.cn/macan/card/entity/czk/queryWithBenefit?pkId=' + da[0] res = requests.get(url, cookies=cookies, headers=headers) res = res.json() # print(res) # # 组合载荷内容 # # 时间戳转格式 timestamp = res['info']['entityDTO']['endDate'] / 1000 dt_object = datetime.datetime.fromtimestamp(timestamp) endDate = dt_object.strftime("%Y-%m-%d %H:%M:%S") # # 提取carInfoList carInfoList = [] for carInfo in res['info']['carInfoList']: List = { "idCar": carInfo['idCar'], "idCustomer": carInfo['idCustomer'] } carInfoList.append(List) # 提取cardEntityBusinessList cardEntityBusinessList = [ { "labelName": "维修", "businessType": 0, "labelId": "2759720" }, { "labelName": "保养", "businessType": 0, "labelId": "2759721" }, { "labelName": "美容", "businessType": 0, "labelId": "2759722" }, { "labelName": "钣喷", "businessType": 0, "labelId": "2759723" }, { "labelName": "轮胎", "businessType": 0, "labelId": "2759724" }, { "labelName": "洗车", "businessType": 0, "labelId": "2759725" }, { "labelName": "精品", "businessType": 0, "labelId": "2759726" }, { "labelName": "其他", "businessType": 0, "labelId": "2759727" }, { "labelName": "零售", "businessType": 0, "labelId": "2759728" }, { "labelName": "维修", "businessType": 1, "labelId": "2759720" }, { "labelName": "保养", "businessType": 1, "labelId": "2759721" }, { "labelName": "美容", "businessType": 1, "labelId": "2759722" }, { "labelName": "钣喷", "businessType": 1, "labelId": "2759723" }, { "labelName": "轮胎", "businessType": 1, "labelId": "2759724" }, { "labelName": "洗车", "businessType": 1, "labelId": "2759725" }, { "labelName": "精品", "businessType": 1, "labelId": "2759726" }, { "labelName": "其他", "businessType": 1, "labelId": "2759727" }, { "labelName": "零售", "businessType": 1, "labelId": "2759728" }, { "businessType": 2, "labelId": "0" } ] # 提取cardEntityBusinessDiscountList cardEntityBusinessDiscountList = [] i = 0 for cardEntityBusinessDiscount in range(1): # 修改指定内容 # for cardEntityBusinessDiscount in cardEntityBusinessList: try: for item, labe in items.items(): # items() 返回一个列表 discount = discount_list.get(item, 0) # 针对不同折扣 List = { # "labelName": cardEntityBusinessList['labelName'], # 修改原来有折扣的选项 "labelName": item, # # "businessType": cardEntityBusinessList['businessType'], "businessType": 0, # 项目 # "discount": cardEntityBusinessDiscount['discount'], "discount": discount, # 修改储值卡折扣 # "labelId": cardEntityBusinessList['labelId'] "labelId": labe } # print(List) cardEntityBusinessDiscountList.append(List) # for item, labe in items.items(): # items() 返回一个列表 # List = { # # "labelName": cardEntityBusinessList['labelName'], # 修改原来有折扣的选项 # "labelName": item, # # # # "businessType": cardEntityBusinessList['businessType'], # "businessType": 1, # 材料 # # # "discount": cardEntityBusinessDiscount['discount'], # "discount": discount, # # # "labelId": cardEntityBusinessList['labelId'] # "labelId": labe # } # # print(List) # cardEntityBusinessDiscountList.append(List) except: pass # print(cardEntityBusinessDiscountList) print(cardEntityBusinessDiscountList) data = { "id": res['info']['entityDTO']['pkId'], "carList": carInfoList, "cardNo": res['info']['entityDTO']['memberCardNo'], "memo": res['info']['entityDTO']['memo'], "useTerm": res['info']['entityDTO']['useTerm'], "idCustomer": res['info']['entityDTO']['idCustomer'], "version": res_version['data']['version'], "useType": res['info']['entityDTO']['useType'], "consumeLimitFlag": res['info']['entityDTO']['consumeLimitFlag'], "consumeLimitAmount": int(float(res['info']['entityDTO']['consumeLimitAmount'])), "permanent": res['info']['entityDTO']['permanent'], "endDate": endDate, "cardEntityBusinessList": cardEntityBusinessList, "cardEntityBusinessDiscountList": cardEntityBusinessDiscountList, "businessType": 1, "useIdOwnOrgList": [ "16041647893945294910" ], # 需要修改 # 适用门店需要获取 res_version['data']['idOwnOrg'] "cardEntitySkuDiscountList": res['info']['valueCardEntitySkuDiscountInfoList'] } # print(data) url = 'https://yunxiu.f6car.cn/marketing/card/modifyCzkCardEntity4Gray' res = requests.post(url, cookies=cookies, headers=headers, json=data) res = res.json() print(res, da[0], f"第{count}次修改成功") except: print(da, f"修改失败") pass count += 1 except Exception as e: print(e) pass end_time = time.time() elapsed_time = end_time - start_time hours = int(elapsed_time // 3600) minutes = int((elapsed_time % 3600) // 60) seconds = int(elapsed_time % 60) print(f"程序执行完毕,共耗时:{hours} 小时 {minutes} 分钟 {seconds} 秒")