From bfa388b95e40ab8575ffde7385f1e178f3eb7307 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 15 Dec 2025 17:12:44 +0800 Subject: [PATCH] bugfix --- unipay/paylog.py | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/unipay/paylog.py b/unipay/paylog.py index 211be36..77ad8a7 100644 --- a/unipay/paylog.py +++ b/unipay/paylog.py @@ -1,5 +1,6 @@ from sqlor.dbpools import DBPools from appPublic.timeUtils import timestampstr +from appPublic.dictObject import DictObject class PaymentLog: def __init__(self, env): @@ -8,26 +9,34 @@ class PaymentLog: async def new_log(self, userid, customerid, channel, - payment_name, amount, fee, + payment_name, amount, feerate, client_ip, currency='CNY'): dbname = self.env.get_module_dbname('unipay') async with self.db.sqlorContext(dbname) as sor: - ns = { - "id": self.env.uuid(), - "customerid": customerid, - "channelid": channel, - "payment_name": payment_name, - "payer_client_ip": client_ip, - "amount_total": amount, - "pay_fee": fee, - "currency": currency, - "payment_status": '0', - "init_timestamp": timestampstr(), - "userid": userid - } - await sor.C('payment_log', ns.copy()) - return ns + return await self.sor_new_log(sor, userid, customerid, channel, + payment_name, amount, feerate, + client_ip, currency=currency) return None + async def sor_new_log(self, sor, + userid, customerid, channel, + payment_name, amount, feerate, + client_ip, currency='CNY'): + ns = { + "id": self.env.uuid(), + "customerid": customerid, + "channelid": channel, + "payment_name": payment_name, + "payer_client_ip": client_ip, + "amount_total": amount, + "pay_feerate": feerate, + "pay_fee": feerate * amount, + "currency": currency, + "payment_status": '0', + "init_timestamp": timestampstr(), + "userid": userid + } + await sor.C('payment_log', ns.copy()) + return DictObject(**ns) async def cancel_log(self, logid): dbname = self.env.get_module_dbname('unipay')