コード例 #1
0
ファイル: handle_user.py プロジェクト: sirachen/TestAPI
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
コード例 #2
0
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
コード例 #3
0
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()