47 lines
1.7 KiB
Plaintext
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
|