45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
async def home_page_product_add(ns={}):
|
|
"""
|
|
添加产品信息
|
|
:param ns: 包含产品信息的字典
|
|
"""
|
|
ns_dic = {
|
|
'id': uuid(), # 固定写法
|
|
'menu_id': ns.get('menu_id'),
|
|
'name': ns.get('name'),
|
|
'description': ns.get('description'),
|
|
'label': ns.get('label'),
|
|
'product_group': ns.get('product_group'),
|
|
'url': ns.get('url'),
|
|
'list_url': ns.get('list_url'),
|
|
'icon_url': ns.get('icon_url'),
|
|
'source': ns.get('source'),
|
|
'sort_order': ns.get('sort_order', 0),
|
|
'del_flg': '0'
|
|
}
|
|
|
|
# 验证必填字段
|
|
if not ns_dic.get('menu_id') or not ns_dic.get('name'):
|
|
return {
|
|
'status': False,
|
|
'msg': 'menu_id and name are required'
|
|
}
|
|
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
try:
|
|
await sor.C('home_page_product_info', ns_dic)
|
|
return {
|
|
'status': True,
|
|
'msg': 'create product success',
|
|
'data': {'id': ns_dic['id']}
|
|
}
|
|
except Exception as e:
|
|
await sor.rollback()
|
|
return {
|
|
'status': False,
|
|
'msg': 'create product failed, %s' % str(e)
|
|
}
|
|
|
|
ret = await home_page_product_add(params_kw)
|
|
return ret |