def set_device_use(self, user_id, identity_id, data_dict): user_id = int(user_id) # OHHOLog.print_log(user_id) # OHHOLog.print_log(identity_id) # OHHOLog.print_log(data_dict) self.device.set_identity(identity_id) relation = self.device.get_relation_by_device() # OHHOLog.print_log(relation.user_id) if relation and relation.user_id == user_id: type = data_dict.get("type", 0) type = int(type) OHHOLog.print_log(type) if type == 1: primary = self.device.get_primary_relation_by_user(user_id) if primary: for p in primary: OHHOLog.print_log("reset") result = self.device.relation_update(p, {"type": 0}) OHHOLog.print_log(result) success = self.device.relation_update(relation, data_dict) if success: return Result.result_success() else: return Result.result_failed() elif relation: return Result.result_device_used_by_other() else: return Result.result_failed("this is not your device!")
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 is_device_valid(self): device = self.device.get_by_identity() # OHHOLog.print_log(self.device.get_identity()) # OHHOLog.print_log(device) 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): result = Result.result_device_used_by_other() user = DBOHHOUser() user_instance = user.get_by_id(relation.user_id) if user_instance: result["cellphone_number"] = user_instance.cellphone code = DBOHHOCountryCode.get_by_id( user_instance.country_code_id) if code: result["country_code"] = code.country_code else: result["country_code"] = "+86" return result else: return Result.result_success() else: return Result.result_failed(INVALID_DEVICE)