refactor: 移除手写CRUD dspy文件 - 改由build.sh自动生成

- 删除手写的add/update/delete_credit_limit.dspy
- json/credit_limit.json移除editable配置(使用默认CRUD API)
- 避免build.sh重新生成时覆盖手写代码
This commit is contained in:
Hermes Agent 2026-06-24 12:36:54 +08:00
parent 03bf5fcde0
commit 583babdd4a
4 changed files with 0 additions and 126 deletions

View File

@ -8,11 +8,6 @@
"cwidth": {}
},
"editexclouded": ["id", "used_credit", "available_credit", "created_at", "updated_at"],
"editable": {
"new_data_url": "{{entire_url('add_credit_limit.dspy')}}",
"update_data_url": "{{entire_url('update_credit_limit.dspy')}}",
"delete_data_url": "{{entire_url('delete_credit_limit.dspy')}}"
},
"data_filter": {
"AND": [
{"field": "orgid", "op": "=", "var": "orgid"},

View File

@ -1,42 +0,0 @@
ns = params_kw.copy()
for k,v in ns.items():
if v == 'NaN' or v == 'null':
ns[k] = None
id = params_kw.id
if not id or len(id) > 32:
id = uuid()
ns['id'] = id
# Initialize credit fields
ns['used_credit'] = 0
ns['available_credit'] = float(ns.get('credit_limit', 0))
ns['status'] = 'active'
ns['created_at'] = datetime.datetime.now()
ns['updated_at'] = datetime.datetime.now()
db = DBPools()
dbname = get_module_dbname('accounting')
async with db.sqlorContext(dbname) as sor:
r = await sor.C('credit_limit', ns.copy())
return {
"widgettype":"Message",
"options":{
"cwidth":16,
"cheight":9,
"title":"信用额度设置成功",
"timeout":3,
"message":"ok"
}
}
return {
"widgettype":"Error",
"options":{
"title":"设置失败",
"cwidth":16,
"cheight":9,
"timeout":3,
"message":"failed"
}
}

View File

@ -1,33 +0,0 @@
ns = {
'id':params_kw['id'],
}
db = DBPools()
dbname = get_module_dbname('accounting')
async with db.sqlorContext(dbname) as sor:
r = await sor.D('credit_limit', ns)
debug('delete credit_limit success')
return {
"widgettype":"Message",
"options":{
"title":"删除成功",
"timeout":3,
"cwidth":16,
"cheight":9,
"message":"ok"
}
}
debug('Delete credit_limit failed')
return {
"widgettype":"Error",
"options":{
"title":"删除失败",
"timeout":3,
"cwidth":16,
"cheight":9,
"message":"failed"
}
}

View File

@ -1,46 +0,0 @@
ns = params_kw.copy()
for k,v in ns.items():
if v == 'NaN' or v == 'null':
ns[k] = None
# Recalculate available_credit when credit_limit changes
if 'credit_limit' in ns and ns['credit_limit'] is not None:
credit_limit_val = float(ns['credit_limit'])
# Get current used_credit from DB
db = DBPools()
dbname = get_module_dbname('accounting')
async with db.sqlorContext(dbname) as sor:
recs = await sor.R('credit_limit', {'id': ns['id']})
if len(recs) > 0:
used = float(recs[0].get('used_credit', 0))
ns['available_credit'] = credit_limit_val - used
ns['updated_at'] = datetime.datetime.now()
db = DBPools()
dbname = get_module_dbname('accounting')
async with db.sqlorContext(dbname) as sor:
r = await sor.U('credit_limit', ns)
debug('update credit_limit success')
return {
"widgettype":"Message",
"options":{
"title":"信用额度更新成功",
"cwidth":16,
"cheight":9,
"timeout":3,
"message":"ok"
}
}
return {
"widgettype":"Error",
"options":{
"title":"更新失败",
"cwidth":16,
"cheight":9,
"timeout":3,
"message":"failed"
}
}