249 lines
8.3 KiB
Python
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} 秒")
|