feat: 初始化Webhook中继系统项目
- 添加FastAPI应用基础结构,包括主入口、路由和模型定义
- 实现Webhook接收端点(/webhook/{namespace})和健康检查(/health)
- 添加管理后台路由和模板,支持端点、目标、渠道和模板管理
- 包含SQLite数据库模型定义和初始化逻辑
- 添加日志记录和统计服务
- 包含Dockerfile和配置示例文件
- 添加项目文档,包括设计、流程图和验收标准
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import os
|
||||
import json
|
||||
from app.config import load_config
|
||||
from app.models import IncomingPayload, IncomingOrderInfo
|
||||
from app.services.relay import route_targets
|
||||
from app.services.notify import render_message
|
||||
|
||||
def main():
|
||||
cfg = load_config()
|
||||
path = os.path.abspath(r"e:\2025Code\python\webhock\123.josn")
|
||||
with open(path, "r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
if isinstance(data.get("trans_order_info"), dict):
|
||||
data["trans_order_info"] = IncomingOrderInfo(**data["trans_order_info"]) # type: ignore
|
||||
payload = IncomingPayload(**data)
|
||||
targets = route_targets(cfg, payload.remark or "")
|
||||
msg = render_message(cfg, payload)
|
||||
print("targets:", [t.get("name") for t in targets])
|
||||
print("message:", msg["text"])
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,30 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
def main():
|
||||
path = os.path.abspath(os.path.join(os.getcwd(), "samples", "incoming.json"))
|
||||
with open(path, "r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
remark = data.get("remark")
|
||||
event = data.get("event_define_no")
|
||||
trans_amt = data.get("trans_amt")
|
||||
cash_resp_desc = ""
|
||||
toi = data.get("trans_order_info") or {}
|
||||
cash_resp_desc = toi.get("cash_resp_desc") or ""
|
||||
if event == "pay.ali_scaned":
|
||||
msg = f"支付宝收款{trans_amt}元,状态:{cash_resp_desc}"
|
||||
elif event == "pay.wx_scaned":
|
||||
msg = f"微信收款{trans_amt}元,状态:{cash_resp_desc}"
|
||||
elif event == "wechat.complaint":
|
||||
msg = "⚠️请注意,您有新的微信投诉,请注意查看"
|
||||
elif event == "refund.standard":
|
||||
actual_ref_amt = data.get("actual_ref_amt") or (toi.get("ref_amt") or data.get("settlement_amt"))
|
||||
msg = f"退款成功,退款金额:{actual_ref_amt}"
|
||||
else:
|
||||
msg = ""
|
||||
target = "target_3" if remark == "imcgcd03" else ("target_2" if remark == "imcgcd02" else "")
|
||||
print("message:", msg)
|
||||
print("route_target:", target)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user