debug(f'{params_kw=}') ns = params_kw.copy() if not ns.page: ns.page = 1 ns.sort = "use_date desc" if not ns.use_date: ns.use_date = curDateString() async with get_sor_context(request._run_ns, 'llmage') as sor: sql = """select a.id, a.llmid, a.use_date, a.usages, b.name, b.model, b.ppid from llmusage a, llm b where a.llmid = b.id and use_date=${use_date}$ """ d = await sor.sqlExe(sql, ns) for r in d['rows']: if r.ppid: try: usages = json.loads(r.usages) usages['biz_date'] = r.use_date r.amount = await pricing_program_charging(sor, r.ppid, usages) except Exception as e: exception(f'{e=},{r.usages=}, {r.use_date=}') return d return None