rag/rag/ragprogram.py
2025-08-12 16:48:53 +08:00

43 lines
1.2 KiB
Python

from appPublic.timeUtils import curDateString, dateAdd
from ahserver.serverenv import get_serverenv
async def set_program(request, program_type, quota, term=1):
db = DBPools()
dbname = get_serverenv('get_module_dbname')('rag')
async with db.sqlorContext(dbname) as sor:
u = await get_session_userinfo(request)
sql="select * from ragquote where orgid = ${orgid}$ order by enabled_date"
qs = await sor.sqlExe(sql, {'orgid': u.userorgid})
if len(qs) == 0:
today = curDateString()
expired_date = dateAdd(today, months=term)
ns = {
"id": uuid(),
"orgid": u.userorgid,
"enabled_date": today,
"expired_date": expired_date,
'quota': params_kw.quota
}
await sor.C('ragquota', ns)
else:
lastq = qs[-1]
expired_date = dateAdd(lastq.expired_date, months=term)
ns = {
"id": uuid(),
"orgid": u.userorgid,
"enabled_date": lastq.expired_date,
"expired_date": expired_date,
'quota': params_kw.quota
}
await sor.C('ragquota', ns)
async def get_rag_programs(request):
db = DBPools()
dbname = get_serverenv('get_module_dbanme')('rag')
async with db.sqlorContext(dbname) as sor:
recs = await sor.R('ragprogram', {})
return recs
return []