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
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)
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
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
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