Files
F6--/张阳脚本/F6汽车系统/批量修改储值卡详细信息.py
2026-02-25 09:46:59 +08:00

249 lines
8.3 KiB
Python

# # 获取储值卡现有属性信息,组合生成修改需要的载荷内容
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}")