def add(self, user_id, name, match_condition_id):
     """
     用户ID,名称唯一确定一条值,match_condition可以更改
     :param data: name, user_id, match_condition_id
     :return:
     """
     if user_id:
         relation = self.get_nearest_match_relation_by_user(user_id)
         if relation:
             result = Result.result_exist(USER_AND_MATCH_CONDITION_EXIST)
             result["data"] = relation
         else:
             data = dict()
             data["user_id"] = user_id
             data["match_condition_id"] = match_condition_id
             if name:
                 data["name"] = name
             success = self.relation.add(data)
             if success:
                 result = Result.result_success()
                 relation = self.get_nearest_match_relation_by_user(user_id)
                 result["data"] = relation
             else:
                 result = Result.result_failed()
                 result["data"] = None
     else:
         result = Result.result_failed(PARAMETERS_ARE_INVALID)
         result["data"] = None
     return result
Esempio n. 2
0
 def bind_device(self, user_id, type=1):
     try:
         OHHOLog.print_log("bind device start")
         device = self.get_by_identity()
         if device and self.device.check_by_mac():
             relation = self.relation.get_by_device(device.id)
             if relation and self.relation.is_valid(relation, True):
                 if relation.user_id == int(user_id):
                     result = Result.result_exist(RELATION_EXIST)
                 else:
                     user = self.user.get_by_id(relation.user_id)
                     cellphone = user.cellphone
                     country_code_id = user.country_code_id
                     country_code_obj = self.countryCode.get_by_id(
                         country_code_id)
                     if country_code_obj:
                         country_code = country_code_obj.country_code
                     else:
                         country_code = "+86"
                     result = Result.result_device_used_by_other()
                     result["country_code"] = country_code
                     result["cellphone_number"] = cellphone
             else:
                 success = self.relation.add_without_commit({
                     "device_id":
                     device.id,
                     "user_id":
                     user_id,
                     "type":
                     type
                 })
                 if success:
                     self.relation.commit()
                     result = Result.result_success()
                 else:
                     self.relation.rollback()
                     result = Result.result_failed()
         else:
             result = Result.result_not_exist()
         OHHOLog.print_log("bind device end")
         return result
     except Exception as ex:
         OHHOLog.print_log(ex)
         return Result.result_failed(ex)
Esempio n. 3
0
 def add_cellphone(self, cellphone_dict):
     key = cellphone_dict.get("key", None)
     if key is not None and key is not "":
         self.cellphone.set_key(key)
         cellphone = self.get()
         if cellphone:
             result = Result.result_exist(CELLPHONE_EXIST)
             result["cellphone_id"] = cellphone.id
         else:
             success = self.cellphone.add(cellphone_dict)
             if success:
                 cellphone = self.get()
                 result = Result.result_success()
                 result["cellphone_id"] = cellphone.id
             else:
                 result = Result.result_failed()
     else:
         result = Result.result_parameters_are_invalid()
     return result
Esempio n. 4
0
    def add_device(self, application_id, identity_id, mac_address, tx_power):

        data_dict = dict()
        data_dict["application_id"] = application_id
        data_dict["identity_id"] = identity_id
        data_dict["mac_address"] = mac_address
        data_dict["tx_power"] = tx_power

        self.device.set_identity(identity_id)
        device = self.device.get_by_identity()
        if not device:
            add = self.device.add(data_dict)
            if add:
                result = Result.result_success()
                device = self.device.get_by_identity()
                result["device_id"] = device.id
            else:
                result = Result.result_failed()
        else:
            result = Result.result_exist(DEVICE_EXIST)
            result["device_id"] = device.id
        return result
Esempio n. 5
0
 def add_setting(self, identity_id, password, name, power, periods):
     self.device.set_identity(identity_id)
     device = self.device.get_by_identity()
     password_instance = Password(password)
     if device:
         instance = self.setting.get_by_device(device.id)
         if instance:
             result = Result.result_exist(DEVICE_SETTING_EXIST)
         else:
             data_dict = dict()
             data_dict["device_id"] = device.id
             data_dict["password"] = password_instance.aes_encryption()
             data_dict["name"] = name
             data_dict["power"] = power
             data_dict["periods"] = periods
             success = self.setting.add(data_dict)
             if success:
                 result = Result.result_success()
             else:
                 result = Result.result_failed()
     else:
         result = Result.result_not_exist(DEVICE_NOT_EXIST)
     return result