unipay/unipay/paylog.py
2025-12-14 13:15:45 +08:00

54 lines
1.3 KiB
Python

from sqlor.dbpools import DBPools
class PaymentLog:
def __init__(self, env):
self.db = DBPools()
self.env = env
async def new_log(self,
userid, customerid, channel,
payment_name, amount, fee,
client_ip, currency='CNY'):
dbname = await self.env.get_module_dbname('unipay')
async with self.db.sqlorContext(dbname) as sor:
ns = {
"id": self.env.uuid(),
"customerid": customerid,
"payment_channel": 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)
return True
return False
async def cancel_log(self, logid):
dbname = await self.env.get_module_dbname('unipay')
async with self.db.sqlorContext(dbname) as sor:
ns = {
"id": logid,
"cancel_timestamp": timestampstr()
}
await sor.U('payment_log', ns)
return True
return False
async def payed_log(self, logid):
dbname = await self.env.get_module_dbname('unipay')
async with self.db.sqlorContext(dbname) as sor:
ns = {
"id": logid,
"payed_timestamp": timestampstr()
}
await sor.U('payment_log', ns)
return True
return False