bugfix
This commit is contained in:
parent
cecb0d9e73
commit
1d8f368223
@ -1,4 +1,5 @@
|
|||||||
from .const import *
|
from .const import *
|
||||||
|
from appPublic.log import debug
|
||||||
from sqlor.dbpools import DBPools
|
from sqlor.dbpools import DBPools
|
||||||
|
|
||||||
async def get_parent_orgid(sor, orgid):
|
async def get_parent_orgid(sor, orgid):
|
||||||
@ -49,16 +50,33 @@ async def get_ancestor_orgs(sor, orgid):
|
|||||||
ret = await get_ancestor_orgs(sor, id)
|
ret = await get_ancestor_orgs(sor, id)
|
||||||
return ret + [id]
|
return ret + [id]
|
||||||
|
|
||||||
|
async def get_orgtypes(sor, orgid):
|
||||||
|
sql = "select orgtypeid from orgtypes where orgid = ${orgid}$"
|
||||||
|
recs = await sor.sqlExe(sql, {'orgid':orgid})
|
||||||
|
return [r.orgtypeid for r in recs]
|
||||||
|
|
||||||
async def get_accounting_nodes(sor, customerid):
|
async def get_accounting_nodes(sor, customerid):
|
||||||
"""
|
"""
|
||||||
gt all accounting organization for transactes customer orgid
|
gt all accounting organization for transactes customer orgid
|
||||||
"""
|
"""
|
||||||
|
mytypes = await get_orgtypes(sor, customerid)
|
||||||
|
is_c = False
|
||||||
|
for t in mytypes:
|
||||||
|
if t in ['customer', 'agencycustomer', 'personalcustomer']:
|
||||||
|
is_c = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if not is_c:
|
||||||
|
debug(f'{customerid=} is not a customer organzition')
|
||||||
|
return []
|
||||||
|
|
||||||
sql = """select a.id from organization a, organization b
|
sql = """select a.id from organization a, organization b
|
||||||
where b.parentid = a.id
|
where b.parentid = a.id
|
||||||
and b.id = ${customerid}$
|
and b.id = ${customerid}$
|
||||||
and b.org_type in ('2','3')"""
|
"""
|
||||||
recs = await sor.sqlExe(sql, {'customerid':customerid})
|
recs = await sor.sqlExe(sql, {'customerid':customerid})
|
||||||
if len(recs) == 0:
|
if len(recs) == 0:
|
||||||
|
debug(f'{customerid=} not found is organziation table')
|
||||||
return []
|
return []
|
||||||
ret = await get_ancestor_orgs(sor, recs[0]['id'])
|
ret = await get_ancestor_orgs(sor, recs[0]['id'])
|
||||||
ret.append(recs[0]['id'])
|
ret.append(recs[0]['id'])
|
||||||
|
@ -4,10 +4,10 @@ from .excep import BusinessDateParamsError
|
|||||||
from .const import *
|
from .const import *
|
||||||
async def get_business_date(sor=None):
|
async def get_business_date(sor=None):
|
||||||
async def _f(sor):
|
async def _f(sor):
|
||||||
sql = "select * from params where pname = 'business_date'"
|
sql = "select * from params where params_name = 'business_date'"
|
||||||
recs = await sor.sqlExe(sql, {})
|
recs = await sor.sqlExe(sql, {})
|
||||||
if len(recs) > 0:
|
if len(recs) > 0:
|
||||||
return recs[0]['pvalue']
|
return recs[0]['params_value']
|
||||||
raise BusinessDateParamsError
|
raise BusinessDateParamsError
|
||||||
|
|
||||||
if sor:
|
if sor:
|
||||||
@ -20,7 +20,7 @@ async def new_business_date(sor=None):
|
|||||||
async def _f(sor):
|
async def _f(sor):
|
||||||
dat = await get_business_date(sor)
|
dat = await get_business_date(sor)
|
||||||
new_dat = strdate_add(dat, days=1)
|
new_dat = strdate_add(dat, days=1)
|
||||||
sql = "update params set pvalue=${new_dat}$ where pname='business_date'"
|
sql = "update params set params_value=${new_dat}$ where params_name='business_date'"
|
||||||
await sor.sqlExe(sql, {'new_dat':new_dat})
|
await sor.sqlExe(sql, {'new_dat':new_dat})
|
||||||
|
|
||||||
if sor:
|
if sor:
|
||||||
|
21
test/recharge.py
Normal file
21
test/recharge.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
from sqlor.dbpools import DBPools
|
||||||
|
from appPublic.jsonConfig import getConfig
|
||||||
|
from appPublic.dictObject import DictObject
|
||||||
|
from accounting.recharge import RechargeAccounting
|
||||||
|
from run_test import run
|
||||||
|
|
||||||
|
async def test():
|
||||||
|
rl = DictObject()
|
||||||
|
rl.customerid = '4zXVMkBCEaTmR0xwneUBX'
|
||||||
|
rl.recharge_date = '2024-09-21'
|
||||||
|
rl.recharge_amt = 100
|
||||||
|
rl.action = 'RECHARGE'
|
||||||
|
rl.orderid = '1'
|
||||||
|
rl.recharge_channel = 'alipay'
|
||||||
|
ra = RechargeAccounting(rl)
|
||||||
|
db = DBPools()
|
||||||
|
async with db.sqlorContext('sage') as sor:
|
||||||
|
await ra.accounting(sor)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
run(test)
|
12
test/run_test.py
Normal file
12
test/run_test.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import os
|
||||||
|
import asyncio
|
||||||
|
|
||||||
|
from sqlor.dbpools import DBPools
|
||||||
|
from appPublic.jsonConfig import getConfig
|
||||||
|
|
||||||
|
def run(test_coro):
|
||||||
|
os.chdir('/Users/ymq/py/sage')
|
||||||
|
conf = getConfig()
|
||||||
|
DBPools(conf.databases)
|
||||||
|
asyncio.get_event_loop().run_until_complete(test_coro())
|
||||||
|
|
Loading…
Reference in New Issue
Block a user