salescrm/b/handover/dimission_transfer.dspy
2025-10-27 15:50:44 +08:00

57 lines
2.1 KiB
Plaintext

async def dimission_transfer(ns):
"""
离职交接
dimission_user_id-离职销售id
transfer_user_id-转接销售id
:param ns:
:return:
"""
db = DBPools()
dimission_user_id = ns.get('dimission_user_id')
transfer_user_id = ns.get('transfer_user_id')
async with db.sqlorContext('kboss') as sor:
try:
# 查询离职销售的详细信息
dimission_user = await sor.R('users', {'id': dimission_user_id})
if dimission_user[0]['user_status'] != "2":
return {'status': False, 'msg': '该销售人员未离职,无法进行转接'}
# 查询转接销售的详细信息
transfer_user = await sor.R('users', {'id': transfer_user_id})
if not transfer_user:
return {'status': False, 'msg': '暂无销售,无法转接'}
if transfer_user[0]['user_status'] == "2":
return {'status': False, 'msg': '转接销售人员也已离职,无法进行转接'}
customer = await sor.R('customer', {'salemanid': dimission_user[0]['id']})
if not customer:
return {'status': False, 'msg': '客户已转接'}
transferred_customers = [] # 保存转接过来的客户
for c in customer:
await sor.U('customer', {"salemanid": transfer_user_id, "id": c["id"]})
transferred_customers.append(c) # 添加到转接过来的客户列表
# 存入转接记录表shishi
transfer_data = {
'dimission_id': dimission_user_id,
'change_id': transfer_user_id,
'customer_id': c["customerid"]
}
await sor.C('transfer_record',transfer_data)
return {
'status': True,
'msg': '转接销售成功',
'zj_cust': transferred_customers,
}
except Exception as e:
print(e)
return {'status': False, 'msg': '操作失败'}
ret = await dimission_transfer(params_kw)
return ret