kboss/b/kpi/price_guanli_jia - 副本.dspy
2025-07-16 14:27:17 +08:00

79 lines
2.7 KiB
Plaintext

async def price_guanli_jia(ns={}):
"""
修改售价管理
:return:
"""
# ns = {
# 'bid_orgid': 'mIWUHBeeDM8mwAFPIQ8pS',
# 'providerid': 'E0RFifplwLEphX5ckLLtj',
# 'productid': 'mbSMhLef1RdVWVxf_H9Xs',
# 'price': 80
# }
db = DBPools()
async with db.sqlorContext('kboss') as sor:
try:
# 首先查找协议是否已经存在
ns_shoujia = {
'offer_orgid': ns.get('bid_orgid'),
'bid_orgid': '*',
'salemode': '2',
'del_flg': '0'
}
shoujia_res_li = await sor.R('saleprotocol', ns_shoujia)
if shoujia_res_li:
protocolid = shoujia_res_li[0]['id']
else:
# 协议表不存在 就创建
ns_zhubiao = {
'id': uuid(),
'offer_orgid': ns.get('bid_orgid'),
'bid_orgid': '*',
'salemode': '2',
'start_date': '2010-10-01',
'end_date': '2099-10-01'
}
await sor.C('saleprotocol', ns_zhubiao)
protocolid = ns_zhubiao['id']
# 判断该协议下这个产品是否已经存在
ns_zibiao_exist = {
'protocolid': protocolid,
'providerid': ns.get('providerid'),
'productid': ns.get('productid'),
'del_flg': '0'
}
exists_res_li = await sor.R('product_salemode', ns_zibiao_exist)
# 如果已经存在就更新
if exists_res_li:
zi_biao_id = exists_res_li[0]['id']
ns_zibiao_update = {
'id': zi_biao_id,
'protocolid': protocolid,
'providerid': ns.get('providerid'),
'productid': ns.get('productid'),
'price': ns.get('price')
}
await sor.U('product_salemode', ns_zibiao_update)
else:
# 根据protocolid创建售价
ns_zibiao_shoujia = {
'id': uuid(),
'protocolid': protocolid,
'providerid': ns.get('providerid'),
'productid': ns.get('productid'),
'price': ns.get('price')
}
await sor.C('product_salemode', ns_zibiao_shoujia)
return {
'status': True,
'msg': '创建售价成功'
}
except Exception as e:
raise e
return {
'status': False,
'msg': '创建售价失败'
}
ret = await price_guanli_jia(params_kw)
return ret