add workflow partner1site,dev
This commit is contained in:
parent
69dada94c3
commit
684465c71f
|
|
@ -23,9 +23,9 @@ SECRET_KEY = "117347a7dd066a50a4d2973c5f3d5ba9101094c5"
|
||||||
# URL 用占位符,外部替换
|
# URL 用占位符,外部替换
|
||||||
BASE_URLS = {
|
BASE_URLS = {
|
||||||
"visits": "http://onesite.tek.cn/api/summary/visits", # 客户拜访数据
|
"visits": "http://onesite.tek.cn/api/summary/visits", # 客户拜访数据
|
||||||
# "reports": "http://onesite.tek.cn/api/summary/visits", # 报备数据
|
"reports": "http://onesite.tek.cn/api/summary/visits", # 报备数据
|
||||||
# "pos_datas": "http://onesite.tek.cn/api/summary/visits", # POS数据
|
"pos_datas": "http://onesite.tek.cn/api/summary/visits", # POS数据
|
||||||
# "customer_and_contact_datas": "http://onesite.tek.cn/api/summary/visits" # 客户及联系人数据
|
"customer_and_contact_datas": "http://onesite.tek.cn/api/summary/visits" # 客户及联系人数据
|
||||||
}
|
}
|
||||||
|
|
||||||
PG_DSN = dict(
|
PG_DSN = dict(
|
||||||
|
|
@ -35,6 +35,8 @@ PG_DSN = dict(
|
||||||
host="124.221.232.219",
|
host="124.221.232.219",
|
||||||
port="5432"
|
port="5432"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
API_ID = "2460976d-00c1-47d9-84b2-33e66d68" # 外部传入 api_id,占位符
|
||||||
# ======================
|
# ======================
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -49,19 +51,15 @@ class Partner1SiteClient:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def urlsafe_b64encode(data: bytes) -> str:
|
def urlsafe_b64encode(data: bytes) -> str:
|
||||||
"""URL安全Base64编码"""
|
|
||||||
return base64.urlsafe_b64encode(data).decode()
|
return base64.urlsafe_b64encode(data).decode()
|
||||||
|
|
||||||
def gen_token(self, expire_sec: int = 600) -> str:
|
def gen_token(self, expire_sec: int = 600) -> str:
|
||||||
"""生成 token —— 按最初调通的算法修复"""
|
"""生成 token —— 按调通算法"""
|
||||||
random_num = str(random.randint(100000, 999999))
|
random_num = str(random.randint(100000, 999999))
|
||||||
deadline = int(datetime.now(timezone.utc).timestamp()) + expire_sec
|
deadline = int(datetime.now(timezone.utc).timestamp()) + expire_sec
|
||||||
parm_str = f"{random_num}:{deadline}"
|
parm_str = f"{random_num}:{deadline}"
|
||||||
# 参数字符串 URL 安全 Base64 编码
|
|
||||||
enc_parm = self.urlsafe_b64encode(parm_str.encode())
|
enc_parm = self.urlsafe_b64encode(parm_str.encode())
|
||||||
# HMAC-SHA1 签名(对 enc_parm 编码进行)
|
|
||||||
sign = hmac.new(self.sk.encode(), enc_parm.encode(), hashlib.sha1).digest()
|
sign = hmac.new(self.sk.encode(), enc_parm.encode(), hashlib.sha1).digest()
|
||||||
# digest 转成十六进制字符串再 URL 安全 Base64 编码
|
|
||||||
enc_sign = self.urlsafe_b64encode(sign.hex().encode())
|
enc_sign = self.urlsafe_b64encode(sign.hex().encode())
|
||||||
return f"{self.ak}:{enc_sign}:{enc_parm}"
|
return f"{self.ak}:{enc_sign}:{enc_parm}"
|
||||||
|
|
||||||
|
|
@ -140,34 +138,40 @@ def get_previous_date(days: int = 0) -> str:
|
||||||
def main():
|
def main():
|
||||||
client = Partner1SiteClient(ACCESS_KEY, SECRET_KEY)
|
client = Partner1SiteClient(ACCESS_KEY, SECRET_KEY)
|
||||||
|
|
||||||
# 客户拜访数据
|
# ✅ 1️⃣ 客户拜访数据
|
||||||
visits_data = client.fetch_all_pages(
|
visits_data = client.fetch_all_pages(
|
||||||
api_name="visits",
|
api_name="visits",
|
||||||
params={"startInsertDate": get_previous_date(5), "endInsertDate": get_previous_date(0)}
|
params={"startInsertDate": get_previous_date(5), "endInsertDate": get_previous_date(0)}
|
||||||
)
|
)
|
||||||
save_json_to_pg(visits_data, "partner1site_visits")
|
save_json_to_pg(visits_data, API_ID)
|
||||||
|
|
||||||
|
# ❌ 2️⃣ 报备数据(注释掉,后续可启用)
|
||||||
"""
|
"""
|
||||||
# 报备数据
|
|
||||||
reports_data = client.fetch_all_pages(
|
reports_data = client.fetch_all_pages(
|
||||||
api_name="reports",
|
api_name="reports",
|
||||||
params={"startApplyDate": get_previous_date(5), "endApplyDate": get_previous_date(0)}
|
params={"startApplyDate": get_previous_date(5), "endApplyDate": get_previous_date(0)}
|
||||||
)
|
)
|
||||||
save_json_to_pg(reports_data, "partner1site_reports")
|
save_json_to_pg(reports_data, API_ID)
|
||||||
|
"""
|
||||||
|
|
||||||
# POS 数据
|
# ❌ 3️⃣ POS 数据(注释掉,后续可启用)
|
||||||
|
"""
|
||||||
pos_data = client.fetch_all_pages(
|
pos_data = client.fetch_all_pages(
|
||||||
api_name="pos_datas",
|
api_name="pos_datas",
|
||||||
params={"startPosInsertDate": get_previous_date(10), "endPosInsertDate": get_previous_date(0)}
|
params={"startPosInsertDate": get_previous_date(10), "endPosInsertDate": get_previous_date(0)}
|
||||||
)
|
)
|
||||||
save_json_to_pg(pos_data, "partner1site_pos_datas")
|
save_json_to_pg(pos_data, API_ID)
|
||||||
|
"""
|
||||||
|
|
||||||
# 客户及联系人数据
|
# ❌ 4️⃣ 客户及联系人数据(注释掉,后续可启用)
|
||||||
|
"""
|
||||||
cust_contact_data = client.fetch_all_pages(
|
cust_contact_data = client.fetch_all_pages(
|
||||||
api_name="customer_and_contact_datas",
|
api_name="customer_and_contact_datas",
|
||||||
params={"customerId": 0, "customerContactId": 0}
|
params={"customerId": 0, "customerContactId": 0}
|
||||||
)
|
)
|
||||||
save_json_to_pg(cust_contact_data, "partner1site_cust_contact")
|
save_json_to_pg(cust_contact_data, API_ID)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue