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