kboss/b/product/home_page_product_menu_add.dspy
2025-11-26 15:43:40 +08:00

45 lines
1.3 KiB
Plaintext

async def home_page_product_menu_add(ns={}):
"""
添加首页产品菜单
:param ns: 包含菜单信息的字典
"""
ns_dic = {
'id': uuid(), # 固定写法
'parent_id': ns.get('parent_id'), # NULL表示一级菜单
'menu_level': ns.get('menu_level'), # 1-一级, 2-二级, 3-三级
'title': ns.get('title'),
'sort_order': ns.get('sort_order', 0)
}
# 验证必填字段
if not ns_dic.get('menu_level') or not ns_dic.get('title'):
return {
'status': False,
'msg': 'menu_level and title are required'
}
if ns.get('menu_level') > 1 and not ns.get('parent_id'):
return {
'status': False,
'msg': 'parent_id is required for menu_level > 1'
}
db = DBPools()
async with db.sqlorContext('kboss') as sor:
try:
await sor.C('home_page_product_menu', ns_dic)
return {
'status': True,
'msg': 'create menu success',
'data': {'id': ns_dic['id']}
}
except Exception as e:
await sor.rollback()
return {
'status': False,
'msg': 'create menu failed, %s' % str(e)
}
ret = await home_page_product_menu_add(params_kw)
return ret