def check_args(ns={}): if not ns: return {"status": False, "msg": "api args is None"} check_key = [ "bill_id", "title", "user_id", "start_date", "end_date", "salesman", "client", "status", ] for k in check_key: if not ns.get(k, None): return f"the key is null, please check key:{k}" else: if len(ns[k]) == 0: return f"the len is 0, please check key:{k}" return "" async def save_contract(ns={}): """ 保存合同 :param ns: :return: """ error = check_args(ns) if error: return {"status": False, "msg": error} db = DBPools() async with db.sqlorContext('kboss') as sor: tablename = "lease_contract" data = { "id": uuid(), "bill_id":ns["bill_id"], "title": ns["title"], "user_id": ns["user_id"], "start_date": ns["start_date"], "end_date": ns["end_date"], "salesman": ns["salesman"], "client": ns["client"], "status": ns["status"], "remark": ns.get("remark"), } await sor.C(tablename, data) return {"status": True, "msg": "save ok"} ret = await save_contract(params_kw) return ret