def create_new_user(regname, pwd='123456'): ''' 新建用户的封装类 ''' do_config = HandleConfig(CONFIG_REQUEST) do_request = HandleRequest() do_mysql = HandleMysql() register_url = do_config.get_value('url', 'register_url') sql = "SELECT Id FROM member WHERE MobilePhone = %s" while True: mobile = do_mysql.create_not_existed_mobile() data = {"regname": regname, "mobilephone": mobile, "pwd": pwd} do_request.send_request(url=register_url, data=data, method='post') result = do_mysql.do_execute(sql, args=(mobile, )) if result: user_id = result['Id'] break user_dict = { regname: { "user_id": user_id, "mobile": mobile, "pwd": pwd, "regname": regname } } do_mysql.close() do_request.close_request() return user_dict
def create_new_user(regname, pwd="123456"): """ 生成一个用户 :param regname: :param pwd: :return: """ handle_mysql = HandleMysql() handle_request = HandleRequest() url = cf.get_value("api", "prefix_url") + "/member/register" sql = "select Id from member where mobilephone=%s;" while True: mobile = handle_mysql.get_not_exists_mobile() data = {"mobilephone": mobile, "pwd": pwd, "regname": regname} handle_request.send_request("post", url, data) ret = handle_mysql.select(sql, args=(mobile, )) if ret: user_id = ret["Id"] break user_dict = { regname: { "Id": user_id, "regname": regname, "mobilephone": mobile, "pwd": pwd } } handle_mysql.close() handle_request.close() return user_dict
class HandleAccount: """ 该封装类是用来注册管理人、投资人、借款人三个账号,并将其保存至配置文件中的 """ def __init__(self): self.do_sql = HandleSql() self.do_request = HandleRequest() def register_member_mobile(self, regname=None): """ 注册号码 :param regname: 昵称 可为空 :return: """ while True: # 调用方法生成未注册过的号码 mobile = self.do_sql.make_not_registered_mobile() # 制造请求参数 pwd = "abc" + mobile data = {"mobilephone": mobile, "pwd": pwd, "regname": regname} # 调接口进行注册 register_api = "/member/register" response = self.do_request.send_request(register_api, method="post", data=data) # 判断是否注册成功 根据响应结果中的code判断 注册成功则将号码\密码返回,否则继续注册 # 还需要对实际是否注册成功进行判断,先从数据库中查询新注册的用户信息,如果查询接口不为空则表示注册成功 sql = "select id from member where mobilephone=%s" res = self.do_sql.execute_sql(sql, args=(mobile, )) if json.loads(response.text)["code"] == "10001" and res: # 注册成功则去数据库中查询用户id member_id = res['id'] log_operate.debug( f"生成的未注册账号信息:mobilephone : {mobile}, pwd : {pwd}, id : {member_id}" ) return mobile, pwd, member_id def register_manager_investor_borrower_mobile(self): """ 注册管理人、投资人、借款人三个账号 :return: """ member_dict = { "manager": { "regname": "manager", "id": 0, "mobilephone": "", "pwd": "" }, "investor": { "regname": "investor", "id": 0, "mobilephone": "", "pwd": "" }, "borrower": { "regname": "borrower", "id": 0, "mobilephone": "", "pwd": "" } } for value in member_dict.values(): mobile, pwd, member_id = self.register_member_mobile( value["regname"]) value["mobilephone"] = mobile value["pwd"] = pwd value["id"] = member_id log_operate.debug(f"新注册的管理人、投资人、借款人三个账号信息为 {member_dict}") return member_dict @staticmethod def write_mobile_in_config(data): """ 将data写入配置文件中,data为嵌套字典的字典 :param data: :return: """ conf_operate.write_config_data(data, account_file_name) log_operate.info("新注册的管理人、投资人、借款人三个账号写入配置文件成功") def close(self): """ 关闭session会话、数据库连接,释放资源 :return: """ self.do_request.session_close() self.do_sql.close()