Example #1
0
class MatchCondition(object):
    def __init__(self):
        self.condition = DBOHHORecordMatchCondition()

    def add(self, data):
        hometown_list = list()
        current_list = list()
        data["hometown_list"] = hometown_list
        data["current_list"] = current_list
        condition = self.get(data)
        if not condition:
            success = self.condition.add(data)
            if success:
                OHHOLog.print_log(ADD_MATCH_CONDITION_SUCCESS)
                condition = self.get(data)
            else:
                OHHOLog.print_log(ADD_MATCH_CONDITION_FAILED)
        else:
            OHHOLog.print_log(MATCH_CONDITION_EXIST)

        return condition

    def get(self, data_dict):
        query = self.condition.get_query()
        OHHOLog.print_log(query.count())
        query = self.condition.filter_all(query, data_dict)
        OHHOLog.print_log(query.count())
        query = self.condition.order_by_id_asc(query)
        return self.condition.first(query)

    def get_by_id(self, match_condition_id):
        return self.condition.get_by_id(match_condition_id)

    def get_some(self, query, offset, limit):
        return self.condition.get_some(query, offset, limit)

    def update(self, instance, data):
        return self.condition.update(instance, data)

    def delete(self, instance):
        return self.condition.delete(instance)

    def find(self, sex, nickname):
        query = self.condition.get_query()
        if sex != "":
            query = self.condition.filter_by_sex(query, sex)
        if nickname != "":
            query = self.condition.find_by_nickname(query, nickname)
        return query

    def get_name_by_id(self, id, db_mode):
        if id is None:
            return ""
        else:
            instance = db_mode()
            the_object = instance.get_by_id(id)
            return the_object.name if the_object else ""

    def get_information(self, instance):
        information = self.condition.get_information(instance)
        information["drink"] = self.get_name_by_id(instance.drink_id, DBOHHODrink)
        information["smoke"] = self.get_name_by_id(instance.smoke_id, DBOHHOSmoke)
        information["profession"] = self.get_name_by_id(instance.profession_id, DBOHHOProfession)
        information["industry"] = self.get_name_by_id(instance.industry_id, DBOHHOIndustry)
        information["body_type"] = self.get_name_by_id(instance.body_type_id, DBOHHOBodyType)
        information["work_domain"] = self.get_name_by_id(instance.work_domain_id, DBOHHOWorkDomain)
        return information
class LogicAddUserNew(object):
    def __init__(self):
        self.user = DBOHHOUser()
        self.user_and_device_relation = DBOHHOUserAndDeviceRelation()
        self.password = Password()
        self.token = Token()
        self.user_extension = DBOHHOUserAccuracyExtension()
        self.interest = DBOHHOInterest()
        self.map = DBOHHOMapInformation()
        self.device = DBOHHODevice()
        self.record_user_and_match_condition = DBOHHORecordUserAndMatchCondition(
        )
        self.match_condition = DBOHHORecordMatchCondition()
        self.im_user = DBOHHOIMUser()
        self.im_user_relation = DBOHHOIMUserRelation()
        self.user_configuration = DBOHHOUserConfiguration()
        self.imei = IMEI()
        self.user_and_device_imei = DBOHHOUserAndDeviceIMEI()
        self.friend = Friend()
        self.apply = DBOHHORecordMatchApply()
        self.country_code = DBOHHOCountryCode()
        self.user_and_cellphone_relation = DBOHHOUserAndCellphoneRelation()

        self.user_favourite_book = DBOHHOUserFavouriteBook()
        self.user_favourite_movie = DBOHHOUserFavouriteMovie()
        self.user_favourite_sport = DBOHHOUserFavouriteSport()
        self.user_favourite_music = DBOHHOUserFavouriteMusic()
        self.user_icon = DBOHHOUserIcon()
        self.user_description = DBOHHOUserDescription()
        self.user_impression = DBOHHOUserImpression()

        # self.cellphone = 10000000000
        # self.identity_id = 9000000000

    def add_user(self):
        cellphone = 10000000000
        identity_id = 9000000000
        for i in range(10):
            cellphone = cellphone + 1
            identity_id = identity_id + 1
            while self.user.get_by_cellphone(cellphone):
                cellphone = cellphone + 1
            user_id = self.add_user_table(str(cellphone))
            self.add_user_token_table(user_id)
            self.add_user_extension(user_id)
            self.add_user_configuration(user_id)
            # self.add_user_and_cellphone_relation(user_id)
            self.device.set_identity(identity_id)
            while self.device.get_by_identity():
                identity_id = identity_id + 1
            device_id = self.add_device(identity_id)
            self.add_user_and_device_imei(user_id, device_id)
            self.add_user_and_device_relation(user_id, device_id)
            match_condition_id = self.add_match_condition()
            print("match_condition_id:")
            print(match_condition_id)
            self.add_user_match_condition(user_id, match_condition_id)

    def add_device(self, identity_id):
        data = dict()
        data["identity_id"] = identity_id
        self.device.add(data)
        query = self.device.get_query()
        query = self.device.order_by_id_desc(query)
        obj = Operation.first(query)
        return obj.id

    def add_match_condition(self):
        data = dict()
        data["sex"] = OhhoRandom.get_sex()
        data["small_age"] = 0
        data["big_age"] = 150
        data["interest"] = OhhoRandom.get_user_match_interest()
        self.match_condition.add(data)
        query = self.match_condition.get_query()
        query = self.match_condition.order_by_id_desc(query)
        obj = Operation.first(query)
        return obj.id

    def add_user_and_device_relation(self, user_id, device_id):
        data = dict()
        data["user_id"] = user_id
        data["device_id"] = device_id
        self.user_and_device_relation.add(data)

    def add_user_and_device_imei(self, user_id, device_id):
        data = dict()
        data["user_id"] = user_id
        data["device_id"] = device_id
        data["imei"] = OhhoRandom.get_imei()
        self.user_and_device_imei.add(data)

    def add_user_and_cellphone_relation(self, user_id):
        data = dict()
        data["user_id"] = user_id
        data["cellphone_id"] = OhhoRandom.get_cellphone_id()
        self.user_and_cellphone_relation.add(data)

    def add_user_configuration(self, user_id):
        data = dict()
        data["user_id"] = user_id
        data["is_match"] = 1
        data["is_online"] = 1
        self.user_configuration.add(data)

    def add_user_match_condition(self, user_id, match_condition_id):
        data = dict()
        data["user_id"] = user_id
        data["match_condition_id"] = match_condition_id
        self.record_user_and_match_condition.add(data)

    def add_user_extension(self, user_id):
        data = dict()
        data["user_id"] = user_id
        data["sex"] = OhhoRandom.get_sex()
        data["birthday"] = OhhoRandom.get_birthday()
        data["interest"] = OhhoRandom.get_user_interest()
        self.user_extension.add(data)

    def add_user_token_table(self, user_id):
        token = OHHORandom.get_nonce()
        token_dict = dict()
        token_dict["user_id"] = user_id
        token_dict["token"] = token
        self.token.token.add(token_dict)

    def add_user_table(self, cellphone="00000000000"):
        """添加用户 参数 """
        data = dict()
        password = "******"
        country_code_id = 159
        username = OHHOUUID.get_uuid1_string()
        self.password.set_password(password)
        encryption_password = self.password.encryption()
        data["username"] = username
        data["password"] = encryption_password
        data["cellphone"] = cellphone
        data["country_code_id"] = country_code_id
        self.user.add(data)
        user = self.user.get_by_username(username)
        return user.id