kboss/b/apv/send_key_create.dspy
2025-07-16 14:27:17 +08:00

47 lines
1.7 KiB
Plaintext

def get_process_code(url):
process_code = url.split('processCode')[-1].replace("%3D", "").replace("=", "")
# if len(process_code) != 41:
# return None
return process_code
# 保存审批参数配置
async def send_key_create(ns={}):
process_code = get_process_code(ns.get("process_code"))
if not process_code:
return {"status": False, "msg": "process_code,参数错误"}
try:
data = {
"id": ns["id"],
"user_id": ns["user_id"], # 用户id
"orgid": ns["orgid"], # 机构id
"send_dd_user_phone": ns["send_phone"], # 发送人的钉钉id
"source": ns["source"], # key所属公司
"business_id": ns["business_id"], # 业务id
"process_code": process_code, # 钉钉审批模板id
"process_name": ns["process_name"], # 钉钉表单名字
}
except Exception as e:
return {"status": False, "msg": f"参数解析错误,请检查参数:{e}"}
# 通过手机号获取发送人userid
resp = await get_id_by_phone(orgid=ns["orgid"], phone=ns["send_phone"])
if not resp['status']:
return {"status": False, "msg": f"{resp['msg']}\n钉钉用户id获取失败,请检查手机号:{ns['send_phone']}"}
data['send_dd_user_id'] = resp['user_id']
db = DBPools()
async with db.sqlorContext('kboss') as sor:
if data['id']:
data["update_time"] = "{}".format(datetime.datetime.now())
await sor.U("apv_send_key", data)
else:
data["id"] = uuid()
await sor.C("apv_send_key", data)
return {"status": True, "msg": "success"}
ret = await send_key_create(params_kw)
return ret