energyexpertexternal-20220923/alibabacloud_energyexpertexternal20220923/models.py (5,331 lines of code) (raw):

# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from Tea.model import TeaModel class CarbonEmissionElecSummaryItem(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, ratio=None, raw_data=None): self.carbon_emission_data = carbon_emission_data # type: float self.data_unit = data_unit # type: str self.name = name # type: str self.ratio = ratio # type: float self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(CarbonEmissionElecSummaryItem, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class ConstituteItemEnvGasEmissions(TeaModel): def __init__(self, carbon_emission_data=None, gas_emission_data=None, name=None, type=None): self.carbon_emission_data = carbon_emission_data # type: float self.gas_emission_data = gas_emission_data # type: float self.name = name # type: str self.type = type # type: str def validate(self): pass def to_map(self): _map = super(ConstituteItemEnvGasEmissions, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.gas_emission_data is not None: result['gasEmissionData'] = self.gas_emission_data if self.name is not None: result['name'] = self.name if self.type is not None: result['type'] = self.type return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('gasEmissionData') is not None: self.gas_emission_data = m.get('gasEmissionData') if m.get('name') is not None: self.name = m.get('name') if m.get('type') is not None: self.type = m.get('type') return self class ConstituteItem(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, emission_source=None, emission_source_key=None, enterprise_name=None, env_gas_emissions=None, name=None, name_key=None, ratio=None, raw_data=None, sub_constitute_items=None): self.carbon_emission_data = carbon_emission_data # type: float self.data_unit = data_unit # type: str self.emission_source = emission_source # type: str self.emission_source_key = emission_source_key # type: str self.enterprise_name = enterprise_name # type: str self.env_gas_emissions = env_gas_emissions # type: list[ConstituteItemEnvGasEmissions] self.name = name # type: str self.name_key = name_key # type: str self.ratio = ratio # type: float self.raw_data = raw_data # type: float self.sub_constitute_items = sub_constitute_items # type: list[ConstituteItem] def validate(self): if self.env_gas_emissions: for k in self.env_gas_emissions: if k: k.validate() if self.sub_constitute_items: for k in self.sub_constitute_items: if k: k.validate() def to_map(self): _map = super(ConstituteItem, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.emission_source is not None: result['emissionSource'] = self.emission_source if self.emission_source_key is not None: result['emissionSourceKey'] = self.emission_source_key if self.enterprise_name is not None: result['enterpriseName'] = self.enterprise_name result['envGasEmissions'] = [] if self.env_gas_emissions is not None: for k in self.env_gas_emissions: result['envGasEmissions'].append(k.to_map() if k else None) if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data result['subConstituteItems'] = [] if self.sub_constitute_items is not None: for k in self.sub_constitute_items: result['subConstituteItems'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('emissionSource') is not None: self.emission_source = m.get('emissionSource') if m.get('emissionSourceKey') is not None: self.emission_source_key = m.get('emissionSourceKey') if m.get('enterpriseName') is not None: self.enterprise_name = m.get('enterpriseName') self.env_gas_emissions = [] if m.get('envGasEmissions') is not None: for k in m.get('envGasEmissions'): temp_model = ConstituteItemEnvGasEmissions() self.env_gas_emissions.append(temp_model.from_map(k)) if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') self.sub_constitute_items = [] if m.get('subConstituteItems') is not None: for k in m.get('subConstituteItems'): temp_model = ConstituteItem() self.sub_constitute_items.append(temp_model.from_map(k)) return self class EpdInventoryConstituteItem(TeaModel): def __init__(self, carbon_emission=None, factor=None, factor_dataset=None, factor_id=None, factor_type=None, factor_unit=None, inventory_id=None, inventory_unit=None, inventory_value=None, inventory_value_per_product=None, inventory_value_per_product_unit=None, items=None, name=None, num=None, percent=None, quantity=None, resource_type=None, state=None, unit=None): self.carbon_emission = carbon_emission # type: float self.factor = factor # type: str self.factor_dataset = factor_dataset # type: str self.factor_id = factor_id # type: str self.factor_type = factor_type # type: int self.factor_unit = factor_unit # type: str self.inventory_id = inventory_id # type: long self.inventory_unit = inventory_unit # type: str self.inventory_value = inventory_value # type: float self.inventory_value_per_product = inventory_value_per_product # type: float self.inventory_value_per_product_unit = inventory_value_per_product_unit # type: str self.items = items # type: list[EpdInventoryConstituteItem] self.name = name # type: str self.num = num # type: long self.percent = percent # type: float self.quantity = quantity # type: float self.resource_type = resource_type # type: str self.state = state # type: int self.unit = unit # type: str def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(EpdInventoryConstituteItem, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission is not None: result['carbonEmission'] = self.carbon_emission if self.factor is not None: result['factor'] = self.factor if self.factor_dataset is not None: result['factorDataset'] = self.factor_dataset if self.factor_id is not None: result['factorId'] = self.factor_id if self.factor_type is not None: result['factorType'] = self.factor_type if self.factor_unit is not None: result['factorUnit'] = self.factor_unit if self.inventory_id is not None: result['inventoryId'] = self.inventory_id if self.inventory_unit is not None: result['inventoryUnit'] = self.inventory_unit if self.inventory_value is not None: result['inventoryValue'] = self.inventory_value if self.inventory_value_per_product is not None: result['inventoryValuePerProduct'] = self.inventory_value_per_product if self.inventory_value_per_product_unit is not None: result['inventoryValuePerProductUnit'] = self.inventory_value_per_product_unit result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.name is not None: result['name'] = self.name if self.num is not None: result['num'] = self.num if self.percent is not None: result['percent'] = self.percent if self.quantity is not None: result['quantity'] = self.quantity if self.resource_type is not None: result['resourceType'] = self.resource_type if self.state is not None: result['state'] = self.state if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmission') is not None: self.carbon_emission = m.get('carbonEmission') if m.get('factor') is not None: self.factor = m.get('factor') if m.get('factorDataset') is not None: self.factor_dataset = m.get('factorDataset') if m.get('factorId') is not None: self.factor_id = m.get('factorId') if m.get('factorType') is not None: self.factor_type = m.get('factorType') if m.get('factorUnit') is not None: self.factor_unit = m.get('factorUnit') if m.get('inventoryId') is not None: self.inventory_id = m.get('inventoryId') if m.get('inventoryUnit') is not None: self.inventory_unit = m.get('inventoryUnit') if m.get('inventoryValue') is not None: self.inventory_value = m.get('inventoryValue') if m.get('inventoryValuePerProduct') is not None: self.inventory_value_per_product = m.get('inventoryValuePerProduct') if m.get('inventoryValuePerProductUnit') is not None: self.inventory_value_per_product_unit = m.get('inventoryValuePerProductUnit') self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = EpdInventoryConstituteItem() self.items.append(temp_model.from_map(k)) if m.get('name') is not None: self.name = m.get('name') if m.get('num') is not None: self.num = m.get('num') if m.get('percent') is not None: self.percent = m.get('percent') if m.get('quantity') is not None: self.quantity = m.get('quantity') if m.get('resourceType') is not None: self.resource_type = m.get('resourceType') if m.get('state') is not None: self.state = m.get('state') if m.get('unit') is not None: self.unit = m.get('unit') return self class GwpInventoryConstitute(TeaModel): def __init__(self, by_resource_type=None, carbon_emission=None, items=None, name=None, percent=None, resource_type=None, unit=None): self.by_resource_type = by_resource_type # type: list[GwpResourceConstitute] self.carbon_emission = carbon_emission # type: float self.items = items # type: list[GwpInventoryConstitute] self.name = name # type: str self.percent = percent # type: float self.resource_type = resource_type # type: int self.unit = unit # type: str def validate(self): if self.by_resource_type: for k in self.by_resource_type: if k: k.validate() if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GwpInventoryConstitute, self).to_map() if _map is not None: return _map result = dict() result['byResourceType'] = [] if self.by_resource_type is not None: for k in self.by_resource_type: result['byResourceType'].append(k.to_map() if k else None) if self.carbon_emission is not None: result['carbonEmission'] = self.carbon_emission result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.name is not None: result['name'] = self.name if self.percent is not None: result['percent'] = self.percent if self.resource_type is not None: result['resourceType'] = self.resource_type if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() self.by_resource_type = [] if m.get('byResourceType') is not None: for k in m.get('byResourceType'): temp_model = GwpResourceConstitute() self.by_resource_type.append(temp_model.from_map(k)) if m.get('carbonEmission') is not None: self.carbon_emission = m.get('carbonEmission') self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GwpInventoryConstitute() self.items.append(temp_model.from_map(k)) if m.get('name') is not None: self.name = m.get('name') if m.get('percent') is not None: self.percent = m.get('percent') if m.get('resourceType') is not None: self.resource_type = m.get('resourceType') if m.get('unit') is not None: self.unit = m.get('unit') return self class GwpResourceConstitute(TeaModel): def __init__(self, carbon_emission=None, name=None, percent=None, resource_type=None, unit=None): self.carbon_emission = carbon_emission # type: float self.name = name # type: str self.percent = percent # type: str self.resource_type = resource_type # type: int self.unit = unit # type: str def validate(self): pass def to_map(self): _map = super(GwpResourceConstitute, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission is not None: result['carbonEmission'] = self.carbon_emission if self.name is not None: result['name'] = self.name if self.percent is not None: result['percent'] = self.percent if self.resource_type is not None: result['resourceType'] = self.resource_type if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmission') is not None: self.carbon_emission = m.get('carbonEmission') if m.get('name') is not None: self.name = m.get('name') if m.get('percent') is not None: self.percent = m.get('percent') if m.get('resourceType') is not None: self.resource_type = m.get('resourceType') if m.get('unit') is not None: self.unit = m.get('unit') return self class OrgEmissionModuleEmissionList(TeaModel): def __init__(self, carbon_emission_data=None, name=None, name_key=None, ratio=None): self.carbon_emission_data = carbon_emission_data # type: float self.name = name # type: str self.name_key = name_key # type: str self.ratio = ratio # type: float def validate(self): pass def to_map(self): _map = super(OrgEmissionModuleEmissionList, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') return self class OrgEmission(TeaModel): def __init__(self, carbon_emission_data=None, module_emission_list=None, name=None, name_key=None, ratio=None, sub_emission_items=None, weighting_carbon_emission_data=None, weighting_proportion=None, weighting_ratio=None): self.carbon_emission_data = carbon_emission_data # type: float self.module_emission_list = module_emission_list # type: list[OrgEmissionModuleEmissionList] self.name = name # type: str self.name_key = name_key # type: str self.ratio = ratio # type: float self.sub_emission_items = sub_emission_items # type: list[OrgEmission] self.weighting_carbon_emission_data = weighting_carbon_emission_data # type: float self.weighting_proportion = weighting_proportion # type: float self.weighting_ratio = weighting_ratio # type: float def validate(self): if self.module_emission_list: for k in self.module_emission_list: if k: k.validate() if self.sub_emission_items: for k in self.sub_emission_items: if k: k.validate() def to_map(self): _map = super(OrgEmission, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data result['moduleEmissionList'] = [] if self.module_emission_list is not None: for k in self.module_emission_list: result['moduleEmissionList'].append(k.to_map() if k else None) if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio result['subEmissionItems'] = [] if self.sub_emission_items is not None: for k in self.sub_emission_items: result['subEmissionItems'].append(k.to_map() if k else None) if self.weighting_carbon_emission_data is not None: result['weightingCarbonEmissionData'] = self.weighting_carbon_emission_data if self.weighting_proportion is not None: result['weightingProportion'] = self.weighting_proportion if self.weighting_ratio is not None: result['weightingRatio'] = self.weighting_ratio return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') self.module_emission_list = [] if m.get('moduleEmissionList') is not None: for k in m.get('moduleEmissionList'): temp_model = OrgEmissionModuleEmissionList() self.module_emission_list.append(temp_model.from_map(k)) if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') self.sub_emission_items = [] if m.get('subEmissionItems') is not None: for k in m.get('subEmissionItems'): temp_model = OrgEmission() self.sub_emission_items.append(temp_model.from_map(k)) if m.get('weightingCarbonEmissionData') is not None: self.weighting_carbon_emission_data = m.get('weightingCarbonEmissionData') if m.get('weightingProportion') is not None: self.weighting_proportion = m.get('weightingProportion') if m.get('weightingRatio') is not None: self.weighting_ratio = m.get('weightingRatio') return self class GenerateResultRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GenerateResultRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GenerateResultResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The returned data. `true` indicates that the request is successful, `false` indicates that the request fails. self.data = data # type: bool # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(GenerateResultResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: self.data = m.get('data') if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GenerateResultResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GenerateResultResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GenerateResultResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GenerateResultResponseBody() self.body = temp_model.from_map(m['body']) return self class GetAreaElecConstituteRequest(TeaModel): def __init__(self, code=None, year=None): # The enterprise code. self.code = code # type: str # Year. self.year = year # type: int def validate(self): pass def to_map(self): _map = super(GetAreaElecConstituteRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('year') is not None: self.year = m.get('year') return self class GetAreaElecConstituteResponseBodyData(TeaModel): def __init__(self, light=None, nuclear=None, renewing=None, urban=None, water=None, wind=None, zero=None): # Photoelectric power consumption and carbon emission data of each enterprise. self.light = light # type: list[CarbonEmissionElecSummaryItem] # Data on nuclear power consumption and carbon emissions at each enterprise. self.nuclear = nuclear # type: list[CarbonEmissionElecSummaryItem] # Data on renewable electricity consumption and carbon emissions at each enterprise. self.renewing = renewing # type: list[CarbonEmissionElecSummaryItem] # Data on mains electricity consumption and carbon emission of each enterprise. self.urban = urban # type: list[CarbonEmissionElecSummaryItem] # Hydropower consumption and carbon emission data of each enterprise. self.water = water # type: list[CarbonEmissionElecSummaryItem] # Wind power consumption and carbon emission data of each enterprise. self.wind = wind # type: list[CarbonEmissionElecSummaryItem] # Data of zero electricity consumption and carbon emission of each enterprise. self.zero = zero # type: list[CarbonEmissionElecSummaryItem] def validate(self): if self.light: for k in self.light: if k: k.validate() if self.nuclear: for k in self.nuclear: if k: k.validate() if self.renewing: for k in self.renewing: if k: k.validate() if self.urban: for k in self.urban: if k: k.validate() if self.water: for k in self.water: if k: k.validate() if self.wind: for k in self.wind: if k: k.validate() if self.zero: for k in self.zero: if k: k.validate() def to_map(self): _map = super(GetAreaElecConstituteResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['light'] = [] if self.light is not None: for k in self.light: result['light'].append(k.to_map() if k else None) result['nuclear'] = [] if self.nuclear is not None: for k in self.nuclear: result['nuclear'].append(k.to_map() if k else None) result['renewing'] = [] if self.renewing is not None: for k in self.renewing: result['renewing'].append(k.to_map() if k else None) result['urban'] = [] if self.urban is not None: for k in self.urban: result['urban'].append(k.to_map() if k else None) result['water'] = [] if self.water is not None: for k in self.water: result['water'].append(k.to_map() if k else None) result['wind'] = [] if self.wind is not None: for k in self.wind: result['wind'].append(k.to_map() if k else None) result['zero'] = [] if self.zero is not None: for k in self.zero: result['zero'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.light = [] if m.get('light') is not None: for k in m.get('light'): temp_model = CarbonEmissionElecSummaryItem() self.light.append(temp_model.from_map(k)) self.nuclear = [] if m.get('nuclear') is not None: for k in m.get('nuclear'): temp_model = CarbonEmissionElecSummaryItem() self.nuclear.append(temp_model.from_map(k)) self.renewing = [] if m.get('renewing') is not None: for k in m.get('renewing'): temp_model = CarbonEmissionElecSummaryItem() self.renewing.append(temp_model.from_map(k)) self.urban = [] if m.get('urban') is not None: for k in m.get('urban'): temp_model = CarbonEmissionElecSummaryItem() self.urban.append(temp_model.from_map(k)) self.water = [] if m.get('water') is not None: for k in m.get('water'): temp_model = CarbonEmissionElecSummaryItem() self.water.append(temp_model.from_map(k)) self.wind = [] if m.get('wind') is not None: for k in m.get('wind'): temp_model = CarbonEmissionElecSummaryItem() self.wind.append(temp_model.from_map(k)) self.zero = [] if m.get('zero') is not None: for k in m.get('zero'): temp_model = CarbonEmissionElecSummaryItem() self.zero.append(temp_model.from_map(k)) return self class GetAreaElecConstituteResponseBody(TeaModel): def __init__(self, code=None, data=None, request_id=None): # The code returned for the request. A value of Success indicates that the request was successful. Other values indicate that the request failed. You can troubleshoot the error by viewing the error message returned. self.code = code # type: str # The returned data. self.data = data # type: GetAreaElecConstituteResponseBodyData # The request ID. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetAreaElecConstituteResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('data') is not None: temp_model = GetAreaElecConstituteResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetAreaElecConstituteResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetAreaElecConstituteResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetAreaElecConstituteResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetAreaElecConstituteResponseBody() self.body = temp_model.from_map(m['body']) return self class GetCarbonEmissionTrendRequest(TeaModel): def __init__(self, code=None, module_code=None, module_type=None, trend_type=None, year_list=None): # The enterprise code. self.code = code # type: str # Module code. self.module_code = module_code # type: str # Module type. self.module_type = module_type # type: int # Trend Type. self.trend_type = trend_type # type: int # The list of inventory year. self.year_list = year_list # type: list[int] def validate(self): pass def to_map(self): _map = super(GetCarbonEmissionTrendRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.module_code is not None: result['moduleCode'] = self.module_code if self.module_type is not None: result['moduleType'] = self.module_type if self.trend_type is not None: result['trendType'] = self.trend_type if self.year_list is not None: result['yearList'] = self.year_list return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('moduleCode') is not None: self.module_code = m.get('moduleCode') if m.get('moduleType') is not None: self.module_type = m.get('moduleType') if m.get('trendType') is not None: self.trend_type = m.get('trendType') if m.get('yearList') is not None: self.year_list = m.get('yearList') return self class GetCarbonEmissionTrendResponseBodyDataActualEmissionListItems(TeaModel): def __init__(self, carbon_emission_data=None, month=None, year=None): # Carbon emissions. self.carbon_emission_data = carbon_emission_data # type: float # The month. self.month = month # type: int # The year. self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetCarbonEmissionTrendResponseBodyDataActualEmissionListItems, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.month is not None: result['month'] = self.month if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('month') is not None: self.month = m.get('month') if m.get('year') is not None: self.year = m.get('year') return self class GetCarbonEmissionTrendResponseBodyDataActualEmissionList(TeaModel): def __init__(self, items=None, year=None): # Data item list. self.items = items # type: list[GetCarbonEmissionTrendResponseBodyDataActualEmissionListItems] # The year. self.year = year # type: str def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GetCarbonEmissionTrendResponseBodyDataActualEmissionList, self).to_map() if _map is not None: return _map result = dict() result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GetCarbonEmissionTrendResponseBodyDataActualEmissionListItems() self.items.append(temp_model.from_map(k)) if m.get('year') is not None: self.year = m.get('year') return self class GetCarbonEmissionTrendResponseBodyDataTargetEmissionListItems(TeaModel): def __init__(self, carbon_emission_data=None, month=None, year=None): # Carbon emissions. self.carbon_emission_data = carbon_emission_data # type: float # The month. self.month = month # type: int # The year. self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetCarbonEmissionTrendResponseBodyDataTargetEmissionListItems, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.month is not None: result['month'] = self.month if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('month') is not None: self.month = m.get('month') if m.get('year') is not None: self.year = m.get('year') return self class GetCarbonEmissionTrendResponseBodyDataTargetEmissionList(TeaModel): def __init__(self, items=None, year=None): # Data item list. self.items = items # type: list[GetCarbonEmissionTrendResponseBodyDataTargetEmissionListItems] # The year. self.year = year # type: str def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GetCarbonEmissionTrendResponseBodyDataTargetEmissionList, self).to_map() if _map is not None: return _map result = dict() result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GetCarbonEmissionTrendResponseBodyDataTargetEmissionListItems() self.items.append(temp_model.from_map(k)) if m.get('year') is not None: self.year = m.get('year') return self class GetCarbonEmissionTrendResponseBodyData(TeaModel): def __init__(self, actual_emission_list=None, target_emission_list=None): # Actual emission list. self.actual_emission_list = actual_emission_list # type: list[GetCarbonEmissionTrendResponseBodyDataActualEmissionList] # Target Emission List. self.target_emission_list = target_emission_list # type: list[GetCarbonEmissionTrendResponseBodyDataTargetEmissionList] def validate(self): if self.actual_emission_list: for k in self.actual_emission_list: if k: k.validate() if self.target_emission_list: for k in self.target_emission_list: if k: k.validate() def to_map(self): _map = super(GetCarbonEmissionTrendResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['actualEmissionList'] = [] if self.actual_emission_list is not None: for k in self.actual_emission_list: result['actualEmissionList'].append(k.to_map() if k else None) result['targetEmissionList'] = [] if self.target_emission_list is not None: for k in self.target_emission_list: result['targetEmissionList'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.actual_emission_list = [] if m.get('actualEmissionList') is not None: for k in m.get('actualEmissionList'): temp_model = GetCarbonEmissionTrendResponseBodyDataActualEmissionList() self.actual_emission_list.append(temp_model.from_map(k)) self.target_emission_list = [] if m.get('targetEmissionList') is not None: for k in m.get('targetEmissionList'): temp_model = GetCarbonEmissionTrendResponseBodyDataTargetEmissionList() self.target_emission_list.append(temp_model.from_map(k)) return self class GetCarbonEmissionTrendResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetCarbonEmissionTrendResponseBodyData # Id of the request. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetCarbonEmissionTrendResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetCarbonEmissionTrendResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetCarbonEmissionTrendResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetCarbonEmissionTrendResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetCarbonEmissionTrendResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetCarbonEmissionTrendResponseBody() self.body = temp_model.from_map(m['body']) return self class GetDataItemListRequest(TeaModel): def __init__(self, code=None): # The enterprise code. self.code = code # type: str def validate(self): pass def to_map(self): _map = super(GetDataItemListRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') return self class GetDataItemListResponseBodyData(TeaModel): def __init__(self, code=None, name=None, period=None, unit=None): # The identifier of the data item. self.code = code # type: str # The name of the data item. self.name = name # type: str # Data filling method, 1: monthly value 2: annual value. self.period = period # type: int # The data item unit. self.unit = unit # type: str def validate(self): pass def to_map(self): _map = super(GetDataItemListResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.name is not None: result['name'] = self.name if self.period is not None: result['period'] = self.period if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('name') is not None: self.name = m.get('name') if m.get('period') is not None: self.period = m.get('period') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetDataItemListResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # Response parameters. self.data = data # type: list[GetDataItemListResponseBodyData] # The request ID. self.request_id = request_id # type: str def validate(self): if self.data: for k in self.data: if k: k.validate() def to_map(self): _map = super(GetDataItemListResponseBody, self).to_map() if _map is not None: return _map result = dict() result['data'] = [] if self.data is not None: for k in self.data: result['data'].append(k.to_map() if k else None) if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() self.data = [] if m.get('data') is not None: for k in m.get('data'): temp_model = GetDataItemListResponseBodyData() self.data.append(temp_model.from_map(k)) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetDataItemListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetDataItemListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetDataItemListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetDataItemListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetDataQualityAnalysisRequest(TeaModel): def __init__(self, code=None, data_quality_evaluation_type=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # Data quality assessment type: 1 is DQI and 2 is DQR. self.data_quality_evaluation_type = data_quality_evaluation_type # type: long # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetDataQualityAnalysisRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.data_quality_evaluation_type is not None: result['dataQualityEvaluationType'] = self.data_quality_evaluation_type if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('dataQualityEvaluationType') is not None: self.data_quality_evaluation_type = m.get('dataQualityEvaluationType') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetDataQualityAnalysisResponseBodyDataDataQualityScore(TeaModel): def __init__(self, g_1=None, g_2=None, g_3=None, g_4=None): # Data quality evaluation indicator 1: activity data credibility. self.g_1 = g_1 # type: float # Data quality evaluation indicator 2: data factor reliability. self.g_2 = g_2 # type: float # Data quality evaluation indicator 3: time representativeness. self.g_3 = g_3 # type: float # Data quality evaluation indicator 4: geographic representativeness. self.g_4 = g_4 # type: float def validate(self): pass def to_map(self): _map = super(GetDataQualityAnalysisResponseBodyDataDataQualityScore, self).to_map() if _map is not None: return _map result = dict() if self.g_1 is not None: result['g1'] = self.g_1 if self.g_2 is not None: result['g2'] = self.g_2 if self.g_3 is not None: result['g3'] = self.g_3 if self.g_4 is not None: result['g4'] = self.g_4 return result def from_map(self, m=None): m = m or dict() if m.get('g1') is not None: self.g_1 = m.get('g1') if m.get('g2') is not None: self.g_2 = m.get('g2') if m.get('g3') is not None: self.g_3 = m.get('g3') if m.get('g4') is not None: self.g_4 = m.get('g4') return self class GetDataQualityAnalysisResponseBodyDataDataQuality(TeaModel): def __init__(self, inventory=None, score=None): # Inventory name self.inventory = inventory # type: str # Score. The distribution ranges from 1 to 5. A value closer to 1 indicates better data quality. self.score = score # type: GetDataQualityAnalysisResponseBodyDataDataQualityScore def validate(self): if self.score: self.score.validate() def to_map(self): _map = super(GetDataQualityAnalysisResponseBodyDataDataQuality, self).to_map() if _map is not None: return _map result = dict() if self.inventory is not None: result['inventory'] = self.inventory if self.score is not None: result['score'] = self.score.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('inventory') is not None: self.inventory = m.get('inventory') if m.get('score') is not None: temp_model = GetDataQualityAnalysisResponseBodyDataDataQualityScore() self.score = temp_model.from_map(m['score']) return self class GetDataQualityAnalysisResponseBodyDataDataQualityResult(TeaModel): def __init__(self, data_quality_score=None, g_1=None, g_2=None, g_3=None, g_4=None): # The score. This parameter is applicable to DQR results. The distribution ranges from 1 to 5. A value closer to 1 indicates better data quality. The number of valid digits is kept to four decimal places. self.data_quality_score = data_quality_score # type: float # Data quality evaluation indicator 1: activity data credibility. self.g_1 = g_1 # type: float # Data quality evaluation indicator 2: data factor reliability. self.g_2 = g_2 # type: float # Data quality evaluation indicator 3: time representativeness. self.g_3 = g_3 # type: float # Data quality evaluation indicator 4: geographic representativeness. self.g_4 = g_4 # type: float def validate(self): pass def to_map(self): _map = super(GetDataQualityAnalysisResponseBodyDataDataQualityResult, self).to_map() if _map is not None: return _map result = dict() if self.data_quality_score is not None: result['data_quality_score'] = self.data_quality_score if self.g_1 is not None: result['g1'] = self.g_1 if self.g_2 is not None: result['g2'] = self.g_2 if self.g_3 is not None: result['g3'] = self.g_3 if self.g_4 is not None: result['g4'] = self.g_4 return result def from_map(self, m=None): m = m or dict() if m.get('data_quality_score') is not None: self.data_quality_score = m.get('data_quality_score') if m.get('g1') is not None: self.g_1 = m.get('g1') if m.get('g2') is not None: self.g_2 = m.get('g2') if m.get('g3') is not None: self.g_3 = m.get('g3') if m.get('g4') is not None: self.g_4 = m.get('g4') return self class GetDataQualityAnalysisResponseBodyDataSensitivityList(TeaModel): def __init__(self, id=None, inventory=None, reduction_list=None, sensitivity=None): # Inventory id self.id = id # type: str # Name of the inventory item. self.inventory = inventory # type: str # List of emission reduction measures. self.reduction_list = reduction_list # type: list[str] # Sensitivity percentage. self.sensitivity = sensitivity # type: float def validate(self): pass def to_map(self): _map = super(GetDataQualityAnalysisResponseBodyDataSensitivityList, self).to_map() if _map is not None: return _map result = dict() if self.id is not None: result['id'] = self.id if self.inventory is not None: result['inventory'] = self.inventory if self.reduction_list is not None: result['reductionList'] = self.reduction_list if self.sensitivity is not None: result['sensitivity'] = self.sensitivity return result def from_map(self, m=None): m = m or dict() if m.get('id') is not None: self.id = m.get('id') if m.get('inventory') is not None: self.inventory = m.get('inventory') if m.get('reductionList') is not None: self.reduction_list = m.get('reductionList') if m.get('sensitivity') is not None: self.sensitivity = m.get('sensitivity') return self class GetDataQualityAnalysisResponseBodyDataUncertaintyValues(TeaModel): def __init__(self, inventory=None, uncertainty_contribution=None): # The name of the inventory. Format: process name / inventory name. self.inventory = inventory # type: str # Inventory uncertainty absolute contribution size. The impact of the quality of each inventory data on the carbon footprint results in the modeling process, when the uncertain contribution of a list is large, please improve its data quality as much as possible to improve the accuracy of carbon footprint analysis. The meaning of "1.4964" is not determined to contribute 1.4964 kgCO₂ e/unit, where unit is the unit of the product. self.uncertainty_contribution = uncertainty_contribution # type: str def validate(self): pass def to_map(self): _map = super(GetDataQualityAnalysisResponseBodyDataUncertaintyValues, self).to_map() if _map is not None: return _map result = dict() if self.inventory is not None: result['inventory'] = self.inventory if self.uncertainty_contribution is not None: result['uncertaintyContribution'] = self.uncertainty_contribution return result def from_map(self, m=None): m = m or dict() if m.get('inventory') is not None: self.inventory = m.get('inventory') if m.get('uncertaintyContribution') is not None: self.uncertainty_contribution = m.get('uncertaintyContribution') return self class GetDataQualityAnalysisResponseBodyData(TeaModel): def __init__(self, data_quality=None, data_quality_result=None, sensitivity_list=None, uncertainty=None, uncertainty_values=None): # Score of each inventory. self.data_quality = data_quality # type: list[GetDataQualityAnalysisResponseBodyDataDataQuality] # Data quality result. self.data_quality_result = data_quality_result # type: GetDataQualityAnalysisResponseBodyDataDataQualityResult # Sensitivity analysis list self.sensitivity_list = sensitivity_list # type: list[GetDataQualityAnalysisResponseBodyDataSensitivityList] # Uncertainty value. The model\"s overall percentage uncertainty results. "10.00%" symbolizes a 10.00% uncertainty, indicating that the carbon footprint lies within ±10.00%. This is derived from a weighted aggregation of individual inventory uncertainties. self.uncertainty = uncertainty # type: str # Uncertainty list self.uncertainty_values = uncertainty_values # type: list[GetDataQualityAnalysisResponseBodyDataUncertaintyValues] def validate(self): if self.data_quality: for k in self.data_quality: if k: k.validate() if self.data_quality_result: self.data_quality_result.validate() if self.sensitivity_list: for k in self.sensitivity_list: if k: k.validate() if self.uncertainty_values: for k in self.uncertainty_values: if k: k.validate() def to_map(self): _map = super(GetDataQualityAnalysisResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['dataQuality'] = [] if self.data_quality is not None: for k in self.data_quality: result['dataQuality'].append(k.to_map() if k else None) if self.data_quality_result is not None: result['dataQualityResult'] = self.data_quality_result.to_map() result['sensitivityList'] = [] if self.sensitivity_list is not None: for k in self.sensitivity_list: result['sensitivityList'].append(k.to_map() if k else None) if self.uncertainty is not None: result['uncertainty'] = self.uncertainty result['uncertaintyValues'] = [] if self.uncertainty_values is not None: for k in self.uncertainty_values: result['uncertaintyValues'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.data_quality = [] if m.get('dataQuality') is not None: for k in m.get('dataQuality'): temp_model = GetDataQualityAnalysisResponseBodyDataDataQuality() self.data_quality.append(temp_model.from_map(k)) if m.get('dataQualityResult') is not None: temp_model = GetDataQualityAnalysisResponseBodyDataDataQualityResult() self.data_quality_result = temp_model.from_map(m['dataQualityResult']) self.sensitivity_list = [] if m.get('sensitivityList') is not None: for k in m.get('sensitivityList'): temp_model = GetDataQualityAnalysisResponseBodyDataSensitivityList() self.sensitivity_list.append(temp_model.from_map(k)) if m.get('uncertainty') is not None: self.uncertainty = m.get('uncertainty') self.uncertainty_values = [] if m.get('uncertaintyValues') is not None: for k in m.get('uncertaintyValues'): temp_model = GetDataQualityAnalysisResponseBodyDataUncertaintyValues() self.uncertainty_values.append(temp_model.from_map(k)) return self class GetDataQualityAnalysisResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetDataQualityAnalysisResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetDataQualityAnalysisResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetDataQualityAnalysisResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetDataQualityAnalysisResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetDataQualityAnalysisResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetDataQualityAnalysisResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetDataQualityAnalysisResponseBody() self.body = temp_model.from_map(m['body']) return self class GetDeviceInfoRequest(TeaModel): def __init__(self, device_id=None, ds=None, factory_id=None): # The ID of the device. self.device_id = device_id # type: str # The date on which the statistics are collected. self.ds = ds # type: str # The ID of the site. self.factory_id = factory_id # type: str def validate(self): pass def to_map(self): _map = super(GetDeviceInfoRequest, self).to_map() if _map is not None: return _map result = dict() if self.device_id is not None: result['deviceId'] = self.device_id if self.ds is not None: result['ds'] = self.ds if self.factory_id is not None: result['factoryId'] = self.factory_id return result def from_map(self, m=None): m = m or dict() if m.get('deviceId') is not None: self.device_id = m.get('deviceId') if m.get('ds') is not None: self.ds = m.get('ds') if m.get('factoryId') is not None: self.factory_id = m.get('factoryId') return self class GetDeviceInfoResponseBodyDataRecordList(TeaModel): def __init__(self, identifier=None, param_name=None, statistics_date=None, type=None, unit=None, value=None): # The identifier of the device. self.identifier = identifier # type: str # The name of the parameter. self.param_name = param_name # type: str # The date on which the statistics were collected. self.statistics_date = statistics_date # type: str # The type of the measuring point. self.type = type # type: str # The unit of the parameter value. self.unit = unit # type: str # The value of the measuring point. self.value = value # type: float def validate(self): pass def to_map(self): _map = super(GetDeviceInfoResponseBodyDataRecordList, self).to_map() if _map is not None: return _map result = dict() if self.identifier is not None: result['identifier'] = self.identifier if self.param_name is not None: result['paramName'] = self.param_name if self.statistics_date is not None: result['statisticsDate'] = self.statistics_date if self.type is not None: result['type'] = self.type if self.unit is not None: result['unit'] = self.unit if self.value is not None: result['value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('identifier') is not None: self.identifier = m.get('identifier') if m.get('paramName') is not None: self.param_name = m.get('paramName') if m.get('statisticsDate') is not None: self.statistics_date = m.get('statisticsDate') if m.get('type') is not None: self.type = m.get('type') if m.get('unit') is not None: self.unit = m.get('unit') if m.get('value') is not None: self.value = m.get('value') return self class GetDeviceInfoResponseBodyData(TeaModel): def __init__(self, device_id=None, device_name=None, first_type_name=None, record_list=None, second_type_name=None): # The ID of the device. self.device_id = device_id # type: str # The name of the device. self.device_name = device_name # type: str # The level 1 meter type. self.first_type_name = first_type_name # type: str # The device parameters. self.record_list = record_list # type: list[GetDeviceInfoResponseBodyDataRecordList] # The level 2 meter type. self.second_type_name = second_type_name # type: str def validate(self): if self.record_list: for k in self.record_list: if k: k.validate() def to_map(self): _map = super(GetDeviceInfoResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.device_id is not None: result['deviceId'] = self.device_id if self.device_name is not None: result['deviceName'] = self.device_name if self.first_type_name is not None: result['firstTypeName'] = self.first_type_name result['recordList'] = [] if self.record_list is not None: for k in self.record_list: result['recordList'].append(k.to_map() if k else None) if self.second_type_name is not None: result['secondTypeName'] = self.second_type_name return result def from_map(self, m=None): m = m or dict() if m.get('deviceId') is not None: self.device_id = m.get('deviceId') if m.get('deviceName') is not None: self.device_name = m.get('deviceName') if m.get('firstTypeName') is not None: self.first_type_name = m.get('firstTypeName') self.record_list = [] if m.get('recordList') is not None: for k in m.get('recordList'): temp_model = GetDeviceInfoResponseBodyDataRecordList() self.record_list.append(temp_model.from_map(k)) if m.get('secondTypeName') is not None: self.second_type_name = m.get('secondTypeName') return self class GetDeviceInfoResponseBody(TeaModel): def __init__(self, code=None, data=None, http_code=None, request_id=None, success=None): # The code returned for the request. A value of Success indicates that the request was successful. Other values indicate that the request failed. You can troubleshoot the error by viewing the error message returned. self.code = code # type: str # The data returned. self.data = data # type: GetDeviceInfoResponseBodyData # The HTTP status code. self.http_code = http_code # type: int # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request was successful. self.success = success # type: bool def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetDeviceInfoResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.data is not None: result['data'] = self.data.to_map() if self.http_code is not None: result['httpCode'] = self.http_code if self.request_id is not None: result['requestId'] = self.request_id if self.success is not None: result['success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('data') is not None: temp_model = GetDeviceInfoResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('httpCode') is not None: self.http_code = m.get('httpCode') if m.get('requestId') is not None: self.request_id = m.get('requestId') if m.get('success') is not None: self.success = m.get('success') return self class GetDeviceInfoResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetDeviceInfoResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetDeviceInfoResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetDeviceInfoResponseBody() self.body = temp_model.from_map(m['body']) return self class GetDeviceListRequest(TeaModel): def __init__(self, factory_id=None): # The ID of the site. self.factory_id = factory_id # type: str def validate(self): pass def to_map(self): _map = super(GetDeviceListRequest, self).to_map() if _map is not None: return _map result = dict() if self.factory_id is not None: result['factoryId'] = self.factory_id return result def from_map(self, m=None): m = m or dict() if m.get('factoryId') is not None: self.factory_id = m.get('factoryId') return self class GetDeviceListResponseBodyDataDeviceListInfo(TeaModel): def __init__(self, const_kva=None, ct=None, magnification=None, pressure=None, pt=None): # The rated capacity. self.const_kva = const_kva # type: int # The transformation ratio of current. self.ct = ct # type: int # The magnification ratio. self.magnification = magnification # type: int # The high and low voltage. self.pressure = pressure # type: int # The transformation ratio of voltage. self.pt = pt # type: int def validate(self): pass def to_map(self): _map = super(GetDeviceListResponseBodyDataDeviceListInfo, self).to_map() if _map is not None: return _map result = dict() if self.const_kva is not None: result['constKva'] = self.const_kva if self.ct is not None: result['ct'] = self.ct if self.magnification is not None: result['magnification'] = self.magnification if self.pressure is not None: result['pressure'] = self.pressure if self.pt is not None: result['pt'] = self.pt return result def from_map(self, m=None): m = m or dict() if m.get('constKva') is not None: self.const_kva = m.get('constKva') if m.get('ct') is not None: self.ct = m.get('ct') if m.get('magnification') is not None: self.magnification = m.get('magnification') if m.get('pressure') is not None: self.pressure = m.get('pressure') if m.get('pt') is not None: self.pt = m.get('pt') return self class GetDeviceListResponseBodyDataDeviceList(TeaModel): def __init__(self, device_id=None, device_name=None, first_type_name=None, info=None, parent_device=None, second_type_name=None): # The ID of the device. self.device_id = device_id # type: str # The name of the device. self.device_name = device_name # type: str # The level 1 meter type. self.first_type_name = first_type_name # type: str # The information about the device. self.info = info # type: GetDeviceListResponseBodyDataDeviceListInfo # The ID of the parent device. self.parent_device = parent_device # type: str # The level 2 meter type. self.second_type_name = second_type_name # type: str def validate(self): if self.info: self.info.validate() def to_map(self): _map = super(GetDeviceListResponseBodyDataDeviceList, self).to_map() if _map is not None: return _map result = dict() if self.device_id is not None: result['deviceId'] = self.device_id if self.device_name is not None: result['deviceName'] = self.device_name if self.first_type_name is not None: result['firstTypeName'] = self.first_type_name if self.info is not None: result['info'] = self.info.to_map() if self.parent_device is not None: result['parentDevice'] = self.parent_device if self.second_type_name is not None: result['secondTypeName'] = self.second_type_name return result def from_map(self, m=None): m = m or dict() if m.get('deviceId') is not None: self.device_id = m.get('deviceId') if m.get('deviceName') is not None: self.device_name = m.get('deviceName') if m.get('firstTypeName') is not None: self.first_type_name = m.get('firstTypeName') if m.get('info') is not None: temp_model = GetDeviceListResponseBodyDataDeviceListInfo() self.info = temp_model.from_map(m['info']) if m.get('parentDevice') is not None: self.parent_device = m.get('parentDevice') if m.get('secondTypeName') is not None: self.second_type_name = m.get('secondTypeName') return self class GetDeviceListResponseBodyData(TeaModel): def __init__(self, code=None, device_list=None, factory_id=None, http_code=None, success=None): # The code returned for the request. self.code = code # type: str # The devices. self.device_list = device_list # type: list[GetDeviceListResponseBodyDataDeviceList] # The ID of the site. self.factory_id = factory_id # type: str # The HTTP status code. self.http_code = http_code # type: int # Indicates whether the request was successful. self.success = success # type: bool def validate(self): if self.device_list: for k in self.device_list: if k: k.validate() def to_map(self): _map = super(GetDeviceListResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code result['deviceList'] = [] if self.device_list is not None: for k in self.device_list: result['deviceList'].append(k.to_map() if k else None) if self.factory_id is not None: result['factoryId'] = self.factory_id if self.http_code is not None: result['httpCode'] = self.http_code if self.success is not None: result['success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') self.device_list = [] if m.get('deviceList') is not None: for k in m.get('deviceList'): temp_model = GetDeviceListResponseBodyDataDeviceList() self.device_list.append(temp_model.from_map(k)) if m.get('factoryId') is not None: self.factory_id = m.get('factoryId') if m.get('httpCode') is not None: self.http_code = m.get('httpCode') if m.get('success') is not None: self.success = m.get('success') return self class GetDeviceListResponseBody(TeaModel): def __init__(self, code=None, data=None, http_code=None, request_id=None, success=None): # The code returned for the request. self.code = code # type: str # The data returned. self.data = data # type: GetDeviceListResponseBodyData # The HTTP status code. self.http_code = http_code # type: int # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request was successful. self.success = success # type: bool def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetDeviceListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.data is not None: result['data'] = self.data.to_map() if self.http_code is not None: result['httpCode'] = self.http_code if self.request_id is not None: result['requestId'] = self.request_id if self.success is not None: result['success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('data') is not None: temp_model = GetDeviceListResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('httpCode') is not None: self.http_code = m.get('httpCode') if m.get('requestId') is not None: self.request_id = m.get('requestId') if m.get('success') is not None: self.success = m.get('success') return self class GetDeviceListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetDeviceListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetDeviceListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetDeviceListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetElecConstituteRequest(TeaModel): def __init__(self, code=None, year=None): # The enterprise code. self.code = code # type: str # Year. self.year = year # type: int def validate(self): pass def to_map(self): _map = super(GetElecConstituteRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('year') is not None: self.year = m.get('year') return self class GetElecConstituteResponseBodyDataLight(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, name_key=None, ratio=None, raw_data=None): # Carbon emission. self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # The name. self.name = name # type: str # The unique identifier of name. self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(GetElecConstituteResponseBodyDataLight, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class GetElecConstituteResponseBodyDataNuclear(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, name_key=None, ratio=None, raw_data=None): # Carbon emission. self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # The name. self.name = name # type: str # The unique identifier of name. self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(GetElecConstituteResponseBodyDataNuclear, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class GetElecConstituteResponseBodyDataRenewing(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, name_key=None, ratio=None, raw_data=None): # Carbon emission. self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # The name. self.name = name # type: str # The unique identifier of name. self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(GetElecConstituteResponseBodyDataRenewing, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class GetElecConstituteResponseBodyDataUrban(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, name_key=None, ratio=None, raw_data=None): # Carbon emission. self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # The name. self.name = name # type: str # The unique identifier of name. self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(GetElecConstituteResponseBodyDataUrban, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class GetElecConstituteResponseBodyDataWater(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, name_key=None, ratio=None, raw_data=None): # Carbon emission. self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # The name. self.name = name # type: str # The unique identifier of name. self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(GetElecConstituteResponseBodyDataWater, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class GetElecConstituteResponseBodyDataWind(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, name_key=None, ratio=None, raw_data=None): # Carbon emission. self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # The name. self.name = name # type: str # The unique identifier of name. self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(GetElecConstituteResponseBodyDataWind, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class GetElecConstituteResponseBodyDataZero(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, name=None, name_key=None, ratio=None, raw_data=None): # Carbon emission. self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # The name. self.name = name # type: str # The unique identifier of name. self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float def validate(self): pass def to_map(self): _map = super(GetElecConstituteResponseBodyDataZero, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') return self class GetElecConstituteResponseBodyData(TeaModel): def __init__(self, light=None, nuclear=None, renewing=None, urban=None, water=None, wind=None, zero=None): # Photoelectric power consumption and carbon emission data of each enterprise. self.light = light # type: GetElecConstituteResponseBodyDataLight # Data on nuclear power consumption and carbon emissions at each enterprise. self.nuclear = nuclear # type: GetElecConstituteResponseBodyDataNuclear # Data on renewable electricity consumption and carbon emissions at each enterprise. self.renewing = renewing # type: GetElecConstituteResponseBodyDataRenewing # Data on mains power electricity consumption and carbon emission of each enterprise. self.urban = urban # type: GetElecConstituteResponseBodyDataUrban # Hydropower consumption and carbon emission data of each enterprise. self.water = water # type: GetElecConstituteResponseBodyDataWater # Wind power consumption and carbon emission data of each enterprise. self.wind = wind # type: GetElecConstituteResponseBodyDataWind # Data of zero electricity consumption and carbon emission of each enterprise. self.zero = zero # type: GetElecConstituteResponseBodyDataZero def validate(self): if self.light: self.light.validate() if self.nuclear: self.nuclear.validate() if self.renewing: self.renewing.validate() if self.urban: self.urban.validate() if self.water: self.water.validate() if self.wind: self.wind.validate() if self.zero: self.zero.validate() def to_map(self): _map = super(GetElecConstituteResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.light is not None: result['light'] = self.light.to_map() if self.nuclear is not None: result['nuclear'] = self.nuclear.to_map() if self.renewing is not None: result['renewing'] = self.renewing.to_map() if self.urban is not None: result['urban'] = self.urban.to_map() if self.water is not None: result['water'] = self.water.to_map() if self.wind is not None: result['wind'] = self.wind.to_map() if self.zero is not None: result['zero'] = self.zero.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('light') is not None: temp_model = GetElecConstituteResponseBodyDataLight() self.light = temp_model.from_map(m['light']) if m.get('nuclear') is not None: temp_model = GetElecConstituteResponseBodyDataNuclear() self.nuclear = temp_model.from_map(m['nuclear']) if m.get('renewing') is not None: temp_model = GetElecConstituteResponseBodyDataRenewing() self.renewing = temp_model.from_map(m['renewing']) if m.get('urban') is not None: temp_model = GetElecConstituteResponseBodyDataUrban() self.urban = temp_model.from_map(m['urban']) if m.get('water') is not None: temp_model = GetElecConstituteResponseBodyDataWater() self.water = temp_model.from_map(m['water']) if m.get('wind') is not None: temp_model = GetElecConstituteResponseBodyDataWind() self.wind = temp_model.from_map(m['wind']) if m.get('zero') is not None: temp_model = GetElecConstituteResponseBodyDataZero() self.zero = temp_model.from_map(m['zero']) return self class GetElecConstituteResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The returned data. self.data = data # type: GetElecConstituteResponseBodyData # Id of the request. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetElecConstituteResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetElecConstituteResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetElecConstituteResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetElecConstituteResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetElecConstituteResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetElecConstituteResponseBody() self.body = temp_model.from_map(m['body']) return self class GetElecTrendRequest(TeaModel): def __init__(self, code=None, year_list=None): # The enterprise code. self.code = code # type: str # List of years. self.year_list = year_list # type: list[int] def validate(self): pass def to_map(self): _map = super(GetElecTrendRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.year_list is not None: result['yearList'] = self.year_list return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('yearList') is not None: self.year_list = m.get('yearList') return self class GetElecTrendResponseBodyDataLight(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, month=None, name=None, name_key=None, ratio=None, raw_data=None, year=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # Month self.month = month # type: int # Power type name. self.name = name # type: str # Power Type Code self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e. 50%). self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float # Year self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetElecTrendResponseBodyDataLight, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.month is not None: result['month'] = self.month if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('month') is not None: self.month = m.get('month') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') if m.get('year') is not None: self.year = m.get('year') return self class GetElecTrendResponseBodyDataNuclear(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, month=None, name=None, name_key=None, ratio=None, raw_data=None, year=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # The price unit. self.data_unit = data_unit # type: str # Month self.month = month # type: int # Power Type Name self.name = name # type: str # Power Type Code self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float # Year self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetElecTrendResponseBodyDataNuclear, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.month is not None: result['month'] = self.month if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('month') is not None: self.month = m.get('month') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') if m.get('year') is not None: self.year = m.get('year') return self class GetElecTrendResponseBodyDataRenewing(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, month=None, name=None, name_key=None, ratio=None, raw_data=None, year=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # The price unit. self.data_unit = data_unit # type: str # Month self.month = month # type: int # Power Type Name self.name = name # type: str # Power Type Code self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float # Year self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetElecTrendResponseBodyDataRenewing, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.month is not None: result['month'] = self.month if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('month') is not None: self.month = m.get('month') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') if m.get('year') is not None: self.year = m.get('year') return self class GetElecTrendResponseBodyDataUrban(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, month=None, name=None, name_key=None, ratio=None, raw_data=None, year=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # The price unit. self.data_unit = data_unit # type: str # Month self.month = month # type: int # Power Type Name self.name = name # type: str # Power Type Code self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e. 50%). self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float # Year self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetElecTrendResponseBodyDataUrban, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.month is not None: result['month'] = self.month if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('month') is not None: self.month = m.get('month') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') if m.get('year') is not None: self.year = m.get('year') return self class GetElecTrendResponseBodyDataWater(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, month=None, name=None, name_key=None, ratio=None, raw_data=None, year=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # The unit. self.data_unit = data_unit # type: str # Month self.month = month # type: int # Power Type Name self.name = name # type: str # Power Type Code self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e. 50%). self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float # Year self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetElecTrendResponseBodyDataWater, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.month is not None: result['month'] = self.month if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('month') is not None: self.month = m.get('month') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') if m.get('year') is not None: self.year = m.get('year') return self class GetElecTrendResponseBodyDataWind(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, month=None, name=None, name_key=None, ratio=None, raw_data=None, year=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # The price unit. self.data_unit = data_unit # type: str # Month self.month = month # type: int # Power Type Name self.name = name # type: str # Power Type Code self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float # Year self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetElecTrendResponseBodyDataWind, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.month is not None: result['month'] = self.month if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('month') is not None: self.month = m.get('month') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') if m.get('year') is not None: self.year = m.get('year') return self class GetElecTrendResponseBodyDataZero(TeaModel): def __init__(self, carbon_emission_data=None, data_unit=None, month=None, name=None, name_key=None, ratio=None, raw_data=None, year=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # The price unit. self.data_unit = data_unit # type: str # Month self.month = month # type: int # Power Type Name self.name = name # type: str # Power Type Code self.name_key = name_key # type: str # Proportion of electricity consumption to all electricity consumption in the month: example value: 0.5 (i. e., 50%) self.ratio = ratio # type: float # Electricity consumption self.raw_data = raw_data # type: float # Year self.year = year # type: str def validate(self): pass def to_map(self): _map = super(GetElecTrendResponseBodyDataZero, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.data_unit is not None: result['dataUnit'] = self.data_unit if self.month is not None: result['month'] = self.month if self.name is not None: result['name'] = self.name if self.name_key is not None: result['nameKey'] = self.name_key if self.ratio is not None: result['ratio'] = self.ratio if self.raw_data is not None: result['rawData'] = self.raw_data if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('dataUnit') is not None: self.data_unit = m.get('dataUnit') if m.get('month') is not None: self.month = m.get('month') if m.get('name') is not None: self.name = m.get('name') if m.get('nameKey') is not None: self.name_key = m.get('nameKey') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('rawData') is not None: self.raw_data = m.get('rawData') if m.get('year') is not None: self.year = m.get('year') return self class GetElecTrendResponseBodyData(TeaModel): def __init__(self, light=None, nuclear=None, renewing=None, urban=None, water=None, wind=None, zero=None): # Photoelectricity monthly electricity consumption and carbon emissions and other data. self.light = light # type: list[GetElecTrendResponseBodyDataLight] # Monthly electricity consumption and carbon emissions data for nuclear power self.nuclear = nuclear # type: list[GetElecTrendResponseBodyDataNuclear] # Monthly data on renewable electricity consumption and carbon emissions self.renewing = renewing # type: list[GetElecTrendResponseBodyDataRenewing] # Data such as monthly electricity consumption and carbon emissions from the mains. self.urban = urban # type: list[GetElecTrendResponseBodyDataUrban] # Monthly data on electricity consumption and carbon emissions for hydropower. self.water = water # type: list[GetElecTrendResponseBodyDataWater] # Monthly wind power consumption and carbon emission data self.wind = wind # type: list[GetElecTrendResponseBodyDataWind] # Zero electricity monthly electricity consumption and carbon emissions and other data. self.zero = zero # type: list[GetElecTrendResponseBodyDataZero] def validate(self): if self.light: for k in self.light: if k: k.validate() if self.nuclear: for k in self.nuclear: if k: k.validate() if self.renewing: for k in self.renewing: if k: k.validate() if self.urban: for k in self.urban: if k: k.validate() if self.water: for k in self.water: if k: k.validate() if self.wind: for k in self.wind: if k: k.validate() if self.zero: for k in self.zero: if k: k.validate() def to_map(self): _map = super(GetElecTrendResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['light'] = [] if self.light is not None: for k in self.light: result['light'].append(k.to_map() if k else None) result['nuclear'] = [] if self.nuclear is not None: for k in self.nuclear: result['nuclear'].append(k.to_map() if k else None) result['renewing'] = [] if self.renewing is not None: for k in self.renewing: result['renewing'].append(k.to_map() if k else None) result['urban'] = [] if self.urban is not None: for k in self.urban: result['urban'].append(k.to_map() if k else None) result['water'] = [] if self.water is not None: for k in self.water: result['water'].append(k.to_map() if k else None) result['wind'] = [] if self.wind is not None: for k in self.wind: result['wind'].append(k.to_map() if k else None) result['zero'] = [] if self.zero is not None: for k in self.zero: result['zero'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.light = [] if m.get('light') is not None: for k in m.get('light'): temp_model = GetElecTrendResponseBodyDataLight() self.light.append(temp_model.from_map(k)) self.nuclear = [] if m.get('nuclear') is not None: for k in m.get('nuclear'): temp_model = GetElecTrendResponseBodyDataNuclear() self.nuclear.append(temp_model.from_map(k)) self.renewing = [] if m.get('renewing') is not None: for k in m.get('renewing'): temp_model = GetElecTrendResponseBodyDataRenewing() self.renewing.append(temp_model.from_map(k)) self.urban = [] if m.get('urban') is not None: for k in m.get('urban'): temp_model = GetElecTrendResponseBodyDataUrban() self.urban.append(temp_model.from_map(k)) self.water = [] if m.get('water') is not None: for k in m.get('water'): temp_model = GetElecTrendResponseBodyDataWater() self.water.append(temp_model.from_map(k)) self.wind = [] if m.get('wind') is not None: for k in m.get('wind'): temp_model = GetElecTrendResponseBodyDataWind() self.wind.append(temp_model.from_map(k)) self.zero = [] if m.get('zero') is not None: for k in m.get('zero'): temp_model = GetElecTrendResponseBodyDataZero() self.zero.append(temp_model.from_map(k)) return self class GetElecTrendResponseBody(TeaModel): def __init__(self, code=None, data=None, request_id=None): # The code returned for the request. A value of Success indicates that the request was successful. Other values indicate that the request failed. You can troubleshoot the error by viewing the error message returned. self.code = code # type: str # The returned data. self.data = data # type: GetElecTrendResponseBodyData # The request ID. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetElecTrendResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('data') is not None: temp_model = GetElecTrendResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetElecTrendResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetElecTrendResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetElecTrendResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetElecTrendResponseBody() self.body = temp_model.from_map(m['body']) return self class GetEmissionSourceConstituteRequest(TeaModel): def __init__(self, code=None, module_code=None, module_type=None, year=None): # The enterprise code. self.code = code # type: str # Module code. self.module_code = module_code # type: str # Module type. self.module_type = module_type # type: int # Year of inventory. self.year = year # type: int def validate(self): pass def to_map(self): _map = super(GetEmissionSourceConstituteRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.module_code is not None: result['moduleCode'] = self.module_code if self.module_type is not None: result['moduleType'] = self.module_type if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('moduleCode') is not None: self.module_code = m.get('moduleCode') if m.get('moduleType') is not None: self.module_type = m.get('moduleType') if m.get('year') is not None: self.year = m.get('year') return self class GetEmissionSourceConstituteResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # Response parameters self.data = data # type: list[ConstituteItem] # Id of the request self.request_id = request_id # type: str def validate(self): if self.data: for k in self.data: if k: k.validate() def to_map(self): _map = super(GetEmissionSourceConstituteResponseBody, self).to_map() if _map is not None: return _map result = dict() result['data'] = [] if self.data is not None: for k in self.data: result['data'].append(k.to_map() if k else None) if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() self.data = [] if m.get('data') is not None: for k in m.get('data'): temp_model = ConstituteItem() self.data.append(temp_model.from_map(k)) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetEmissionSourceConstituteResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetEmissionSourceConstituteResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetEmissionSourceConstituteResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetEmissionSourceConstituteResponseBody() self.body = temp_model.from_map(m['body']) return self class GetEmissionSummaryRequest(TeaModel): def __init__(self, code=None, module_code=None, module_type=None, year=None): # The enterprise code. self.code = code # type: str # Module code. self.module_code = module_code # type: str # Module type. self.module_type = module_type # type: int # Year of inventory. self.year = year # type: int def validate(self): pass def to_map(self): _map = super(GetEmissionSummaryRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.module_code is not None: result['moduleCode'] = self.module_code if self.module_type is not None: result['moduleType'] = self.module_type if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('moduleCode') is not None: self.module_code = m.get('moduleCode') if m.get('moduleType') is not None: self.module_type = m.get('moduleType') if m.get('year') is not None: self.year = m.get('year') return self class GetEmissionSummaryResponseBodyData(TeaModel): def __init__(self, actual_emission_ratio=None, carbon_save_conversion=None, current_period_carbon_emission_data=None, is_weighting=None, last_period_carbon_emission_data=None, last_period_weighting_carbon_emission_data=None, ratio=None, total_carbon_emission_data=None, weighting_carbon_emission_data=None, weighting_ratio=None): # Percentage of scheduled. self.actual_emission_ratio = actual_emission_ratio # type: float # Carbon emissions reduction. self.carbon_save_conversion = carbon_save_conversion # type: float # Statistical indicators for this cycle. self.current_period_carbon_emission_data = current_period_carbon_emission_data # type: float # Whether to show the weighting ratio carbon emission. self.is_weighting = is_weighting # type: bool # Last period statistical indicators. self.last_period_carbon_emission_data = last_period_carbon_emission_data # type: float # Calculation of carbon emissions based on shareholding ratio in the last cycle. self.last_period_weighting_carbon_emission_data = last_period_weighting_carbon_emission_data # type: float # Year-on-year. self.ratio = ratio # type: float # Total carbon emissions. self.total_carbon_emission_data = total_carbon_emission_data # type: float # Calculate carbon emissions by share ratio self.weighting_carbon_emission_data = weighting_carbon_emission_data # type: float # Year-on-year of weighting ratio carbon emissions. self.weighting_ratio = weighting_ratio # type: float def validate(self): pass def to_map(self): _map = super(GetEmissionSummaryResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.actual_emission_ratio is not None: result['actualEmissionRatio'] = self.actual_emission_ratio if self.carbon_save_conversion is not None: result['carbonSaveConversion'] = self.carbon_save_conversion if self.current_period_carbon_emission_data is not None: result['currentPeriodCarbonEmissionData'] = self.current_period_carbon_emission_data if self.is_weighting is not None: result['isWeighting'] = self.is_weighting if self.last_period_carbon_emission_data is not None: result['lastPeriodCarbonEmissionData'] = self.last_period_carbon_emission_data if self.last_period_weighting_carbon_emission_data is not None: result['lastPeriodWeightingCarbonEmissionData'] = self.last_period_weighting_carbon_emission_data if self.ratio is not None: result['ratio'] = self.ratio if self.total_carbon_emission_data is not None: result['totalCarbonEmissionData'] = self.total_carbon_emission_data if self.weighting_carbon_emission_data is not None: result['weightingCarbonEmissionData'] = self.weighting_carbon_emission_data if self.weighting_ratio is not None: result['weightingRatio'] = self.weighting_ratio return result def from_map(self, m=None): m = m or dict() if m.get('actualEmissionRatio') is not None: self.actual_emission_ratio = m.get('actualEmissionRatio') if m.get('carbonSaveConversion') is not None: self.carbon_save_conversion = m.get('carbonSaveConversion') if m.get('currentPeriodCarbonEmissionData') is not None: self.current_period_carbon_emission_data = m.get('currentPeriodCarbonEmissionData') if m.get('isWeighting') is not None: self.is_weighting = m.get('isWeighting') if m.get('lastPeriodCarbonEmissionData') is not None: self.last_period_carbon_emission_data = m.get('lastPeriodCarbonEmissionData') if m.get('lastPeriodWeightingCarbonEmissionData') is not None: self.last_period_weighting_carbon_emission_data = m.get('lastPeriodWeightingCarbonEmissionData') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('totalCarbonEmissionData') is not None: self.total_carbon_emission_data = m.get('totalCarbonEmissionData') if m.get('weightingCarbonEmissionData') is not None: self.weighting_carbon_emission_data = m.get('weightingCarbonEmissionData') if m.get('weightingRatio') is not None: self.weighting_ratio = m.get('weightingRatio') return self class GetEmissionSummaryResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # Details of summarized data self.data = data # type: GetEmissionSummaryResponseBodyData # Id of the request. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetEmissionSummaryResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetEmissionSummaryResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetEmissionSummaryResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetEmissionSummaryResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetEmissionSummaryResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetEmissionSummaryResponseBody() self.body = temp_model.from_map(m['body']) return self class GetEpdInventoryConstituteRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetEpdInventoryConstituteRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetEpdInventoryConstituteResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # List of environmental impact results. self.data = data # type: list[EpdInventoryConstituteItem] # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: for k in self.data: if k: k.validate() def to_map(self): _map = super(GetEpdInventoryConstituteResponseBody, self).to_map() if _map is not None: return _map result = dict() result['data'] = [] if self.data is not None: for k in self.data: result['data'].append(k.to_map() if k else None) if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() self.data = [] if m.get('data') is not None: for k in m.get('data'): temp_model = EpdInventoryConstituteItem() self.data.append(temp_model.from_map(k)) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetEpdInventoryConstituteResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetEpdInventoryConstituteResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetEpdInventoryConstituteResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetEpdInventoryConstituteResponseBody() self.body = temp_model.from_map(m['body']) return self class GetEpdSummaryRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetEpdSummaryRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetEpdSummaryResponseBodyData(TeaModel): def __init__(self, carbon_emission=None, indicator=None, key=None, method=None, name=None, num=None, pre_unit=None, state=None): # Emissions. The result is maintained up to 31 decimal places for precise intermediate calculation and subsequently truncated for display. It is advised to pair the emissions figure with the unit of the environmental impact result for a comprehensive understanding. self.carbon_emission = carbon_emission # type: float # The evaluation index adopted for the environmental impact self.indicator = indicator # type: str # The category key. The environmental impact category. Currently, a maximum of 19 categories are supported. Enumeration refers to [Carbon Footprint Appendices](https://carbon-doc.oss-cn-hangzhou.aliyuncs.com/CarbonFootprintAppendices-en.pdf). self.key = key # type: str # Calculation method standard self.method = method # type: str # The name of the category. self.name = name # type: str # Category num: the unique serial number of the environmental impact category. A maximum of 19 categories are supported. Enumeration refers to [Carbon Footprint Appendices](https://carbon-doc.oss-cn-hangzhou.aliyuncs.com/CarbonFootprintAppendices-en.pdf). self.num = num # type: long # Environmental impact result Value Unit. self.pre_unit = pre_unit # type: str # The data status. 1 indicates that the calculation is accurate, 2 indicates that the default data is used, and 3 indicates that the missing factor uses the value of 0. self.state = state # type: long def validate(self): pass def to_map(self): _map = super(GetEpdSummaryResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission is not None: result['carbonEmission'] = self.carbon_emission if self.indicator is not None: result['indicator'] = self.indicator if self.key is not None: result['key'] = self.key if self.method is not None: result['method'] = self.method if self.name is not None: result['name'] = self.name if self.num is not None: result['num'] = self.num if self.pre_unit is not None: result['preUnit'] = self.pre_unit if self.state is not None: result['state'] = self.state return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmission') is not None: self.carbon_emission = m.get('carbonEmission') if m.get('indicator') is not None: self.indicator = m.get('indicator') if m.get('key') is not None: self.key = m.get('key') if m.get('method') is not None: self.method = m.get('method') if m.get('name') is not None: self.name = m.get('name') if m.get('num') is not None: self.num = m.get('num') if m.get('preUnit') is not None: self.pre_unit = m.get('preUnit') if m.get('state') is not None: self.state = m.get('state') return self class GetEpdSummaryResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # Response parameters self.data = data # type: list[GetEpdSummaryResponseBodyData] # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: for k in self.data: if k: k.validate() def to_map(self): _map = super(GetEpdSummaryResponseBody, self).to_map() if _map is not None: return _map result = dict() result['data'] = [] if self.data is not None: for k in self.data: result['data'].append(k.to_map() if k else None) if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() self.data = [] if m.get('data') is not None: for k in m.get('data'): temp_model = GetEpdSummaryResponseBodyData() self.data.append(temp_model.from_map(k)) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetEpdSummaryResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetEpdSummaryResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetEpdSummaryResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetEpdSummaryResponseBody() self.body = temp_model.from_map(m['body']) return self class GetFootprintListRequest(TeaModel): def __init__(self, code=None, current_page=None, page_size=None, product_type=None): # The enterprise code. self.code = code # type: str # The pagination parameter. The number of the page that starts from 1. self.current_page = current_page # type: long # The number of entries returned on each page. self.page_size = page_size # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetFootprintListRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.current_page is not None: result['currentPage'] = self.current_page if self.page_size is not None: result['pageSize'] = self.page_size if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('currentPage') is not None: self.current_page = m.get('currentPage') if m.get('pageSize') is not None: self.page_size = m.get('pageSize') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetFootprintListResponseBodyDataRecords(TeaModel): def __init__(self, amount=None, auth_status=None, check_end_time=None, check_start_time=None, code=None, created_by=None, id=None, is_demo_model=None, life_cycle=None, life_cycle_type=None, name=None, type=None, unit=None): # The amount of the product. self.amount = amount # type: float # Authentication status enumeration value, please refer to [link](https://carbon-doc.oss-cn-hangzhou.aliyuncs.com/CarbonFootprintAppendices-en.pdf). self.auth_status = auth_status # type: long # Calculation end time. self.check_end_time = check_end_time # type: str # Calculation start time. self.check_start_time = check_start_time # type: str # The enterprise code. self.code = code # type: str # The user who created it. self.created_by = created_by # type: str # The product ID. self.id = id # type: long # Indicates whether the demo model is a built-in model. A value of 1 indicates a true value and a value of 0 indicates a false value. self.is_demo_model = is_demo_model # type: long # The literal expression corresponding to lifeCycleType, `From Cradle to Gate` and `From Cradle to Grave`. self.life_cycle = life_cycle # type: str # 1 is `From Cradle to Gate`, and 2 is `From Cradle to Grave`. self.life_cycle_type = life_cycle_type # type: long # The product name. self.name = name # type: str # Product category enumeration value, please refer to [Carbon Footprint Appendices](https://carbon-doc.oss-cn-hangzhou.aliyuncs.com/CarbonFootprintAppendices-en.pdf). self.type = type # type: str # Unit enumeration value. Please refer to [Carbon Footprint Appendices](https://carbon-doc.oss-cn-hangzhou.aliyuncs.com/CarbonFootprintAppendices-en.pdf). self.unit = unit # type: str def validate(self): pass def to_map(self): _map = super(GetFootprintListResponseBodyDataRecords, self).to_map() if _map is not None: return _map result = dict() if self.amount is not None: result['amount'] = self.amount if self.auth_status is not None: result['authStatus'] = self.auth_status if self.check_end_time is not None: result['checkEndTime'] = self.check_end_time if self.check_start_time is not None: result['checkStartTime'] = self.check_start_time if self.code is not None: result['code'] = self.code if self.created_by is not None: result['createdBy'] = self.created_by if self.id is not None: result['id'] = self.id if self.is_demo_model is not None: result['isDemoModel'] = self.is_demo_model if self.life_cycle is not None: result['lifeCycle'] = self.life_cycle if self.life_cycle_type is not None: result['lifeCycleType'] = self.life_cycle_type if self.name is not None: result['name'] = self.name if self.type is not None: result['type'] = self.type if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() if m.get('amount') is not None: self.amount = m.get('amount') if m.get('authStatus') is not None: self.auth_status = m.get('authStatus') if m.get('checkEndTime') is not None: self.check_end_time = m.get('checkEndTime') if m.get('checkStartTime') is not None: self.check_start_time = m.get('checkStartTime') if m.get('code') is not None: self.code = m.get('code') if m.get('createdBy') is not None: self.created_by = m.get('createdBy') if m.get('id') is not None: self.id = m.get('id') if m.get('isDemoModel') is not None: self.is_demo_model = m.get('isDemoModel') if m.get('lifeCycle') is not None: self.life_cycle = m.get('lifeCycle') if m.get('lifeCycleType') is not None: self.life_cycle_type = m.get('lifeCycleType') if m.get('name') is not None: self.name = m.get('name') if m.get('type') is not None: self.type = m.get('type') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetFootprintListResponseBodyData(TeaModel): def __init__(self, current_page=None, page_size=None, records=None, total=None, total_page=None): # The page number. self.current_page = current_page # type: long # The number of entries returned on each page. self.page_size = page_size # type: long # Product Detail List. self.records = records # type: list[GetFootprintListResponseBodyDataRecords] # The total number of entries returned. self.total = total # type: long # Total Pages self.total_page = total_page # type: long def validate(self): if self.records: for k in self.records: if k: k.validate() def to_map(self): _map = super(GetFootprintListResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.current_page is not None: result['currentPage'] = self.current_page if self.page_size is not None: result['pageSize'] = self.page_size result['records'] = [] if self.records is not None: for k in self.records: result['records'].append(k.to_map() if k else None) if self.total is not None: result['total'] = self.total if self.total_page is not None: result['totalPage'] = self.total_page return result def from_map(self, m=None): m = m or dict() if m.get('currentPage') is not None: self.current_page = m.get('currentPage') if m.get('pageSize') is not None: self.page_size = m.get('pageSize') self.records = [] if m.get('records') is not None: for k in m.get('records'): temp_model = GetFootprintListResponseBodyDataRecords() self.records.append(temp_model.from_map(k)) if m.get('total') is not None: self.total = m.get('total') if m.get('totalPage') is not None: self.total_page = m.get('totalPage') return self class GetFootprintListResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetFootprintListResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetFootprintListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetFootprintListResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetFootprintListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetFootprintListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetFootprintListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetFootprintListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetGasConstituteRequest(TeaModel): def __init__(self, code=None, module_code=None, module_type=None, year=None): # The enterprise code. self.code = code # type: str # Module code. self.module_code = module_code # type: str # Module type. self.module_type = module_type # type: int # Year self.year = year # type: int def validate(self): pass def to_map(self): _map = super(GetGasConstituteRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.module_code is not None: result['moduleCode'] = self.module_code if self.module_type is not None: result['moduleType'] = self.module_type if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('moduleCode') is not None: self.module_code = m.get('moduleCode') if m.get('moduleType') is not None: self.module_type = m.get('moduleType') if m.get('year') is not None: self.year = m.get('year') return self class GetGasConstituteResponseBodyData(TeaModel): def __init__(self, carbon_emission_data=None, gas_emission_data=None, name=None, ratio=None, type=None): # Carbon emissions self.carbon_emission_data = carbon_emission_data # type: float # Gas emissions self.gas_emission_data = gas_emission_data # type: float # Name of gas self.name = name # type: str # Proportion of carbon emissions. Example value: 0.5 (50%) self.ratio = ratio # type: float # Gas Type self.type = type # type: int def validate(self): pass def to_map(self): _map = super(GetGasConstituteResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission_data is not None: result['carbonEmissionData'] = self.carbon_emission_data if self.gas_emission_data is not None: result['gasEmissionData'] = self.gas_emission_data if self.name is not None: result['name'] = self.name if self.ratio is not None: result['ratio'] = self.ratio if self.type is not None: result['type'] = self.type return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmissionData') is not None: self.carbon_emission_data = m.get('carbonEmissionData') if m.get('gasEmissionData') is not None: self.gas_emission_data = m.get('gasEmissionData') if m.get('name') is not None: self.name = m.get('name') if m.get('ratio') is not None: self.ratio = m.get('ratio') if m.get('type') is not None: self.type = m.get('type') return self class GetGasConstituteResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The data returned. self.data = data # type: list[GetGasConstituteResponseBodyData] # The request ID. self.request_id = request_id # type: str def validate(self): if self.data: for k in self.data: if k: k.validate() def to_map(self): _map = super(GetGasConstituteResponseBody, self).to_map() if _map is not None: return _map result = dict() result['data'] = [] if self.data is not None: for k in self.data: result['data'].append(k.to_map() if k else None) if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() self.data = [] if m.get('data') is not None: for k in m.get('data'): temp_model = GetGasConstituteResponseBodyData() self.data.append(temp_model.from_map(k)) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetGasConstituteResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetGasConstituteResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetGasConstituteResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetGasConstituteResponseBody() self.body = temp_model.from_map(m['body']) return self class GetGwpBenchmarkListRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetGwpBenchmarkListRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetGwpBenchmarkListResponseBodyDataItems(TeaModel): def __init__(self, active_reduction=None, benchmark_emission=None, benchmark_name=None, carbon_emission=None, name=None, percent=None): # `activeReduction=benchmarkEmission-carbonEmission` Generally, baseline emissions are greater than inventory emissions. Maintain four decimal places. Unit pertains to a higher-level unit. self.active_reduction = active_reduction # type: float # Benchmark emissions. Maintain four decimal places. Unit pertains to a higher-level unit. self.benchmark_emission = benchmark_emission # type: float # Benchmark name self.benchmark_name = benchmark_name # type: str # Inventory emissions. Maintain four decimal places. Unit pertains to a higher-level unit. self.carbon_emission = carbon_emission # type: float # name self.name = name # type: str # Unused temporarily. self.percent = percent # type: str def validate(self): pass def to_map(self): _map = super(GetGwpBenchmarkListResponseBodyDataItems, self).to_map() if _map is not None: return _map result = dict() if self.active_reduction is not None: result['activeReduction'] = self.active_reduction if self.benchmark_emission is not None: result['benchmarkEmission'] = self.benchmark_emission if self.benchmark_name is not None: result['benchmarkName'] = self.benchmark_name if self.carbon_emission is not None: result['carbonEmission'] = self.carbon_emission if self.name is not None: result['name'] = self.name if self.percent is not None: result['percent'] = self.percent return result def from_map(self, m=None): m = m or dict() if m.get('activeReduction') is not None: self.active_reduction = m.get('activeReduction') if m.get('benchmarkEmission') is not None: self.benchmark_emission = m.get('benchmarkEmission') if m.get('benchmarkName') is not None: self.benchmark_name = m.get('benchmarkName') if m.get('carbonEmission') is not None: self.carbon_emission = m.get('carbonEmission') if m.get('name') is not None: self.name = m.get('name') if m.get('percent') is not None: self.percent = m.get('percent') return self class GetGwpBenchmarkListResponseBodyData(TeaModel): def __init__(self, items=None, unit=None): # Active carbon reduction ranking list. self.items = items # type: list[GetGwpBenchmarkListResponseBodyDataItems] # unit of emissions. The default value is `kgCO₂e/productUnit`. # The `productUnit` is the unit selected for the product. The unit value is changed to `tCO₂e/productUnit` or `gCO₂e/productUnit`. For more information, see the remarks in the quantity column. self.unit = unit # type: str def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GetGwpBenchmarkListResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GetGwpBenchmarkListResponseBodyDataItems() self.items.append(temp_model.from_map(k)) if m.get('unit') is not None: self.unit = m.get('unit') return self class GetGwpBenchmarkListResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetGwpBenchmarkListResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetGwpBenchmarkListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetGwpBenchmarkListResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetGwpBenchmarkListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetGwpBenchmarkListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetGwpBenchmarkListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetGwpBenchmarkListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetGwpBenchmarkSummaryRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetGwpBenchmarkSummaryRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetGwpBenchmarkSummaryResponseBodyDataItems(TeaModel): def __init__(self, name=None, percent=None, quantity=None, unit=None): # Name of carbon reduction details. self.name = name # type: str # Percentage of emissions. The value is of the string type. Two decimal places are reserved for numbers. For example, "99.01" indicates the 99.01% of this type of emissions to the total emissions. Note that the returned string itself does not contain a percent sign. self.percent = percent # type: str # Emission amount is presented with four decimal places. Normally, modeling doesn\"t result in negative values, but users can represent carbon reductions as negatives. The amount, paired with the unit, defines the emissions. Both are dynamically adjusted. If emissions exceed `1000 kgCO₂e/productUnit`, they convert to `tCO₂e/productUnit`. If they fall below `1 kgCO₂e/productUnit`, they convert to `gCO₂e/productUnit`. Otherwise, they stay in `kgCO₂e/productUnit`. self.quantity = quantity # type: long # Unit of emissions. The default value is `kgCO₂e/productUnit.` `productUnit` is the unit selected for the product. The unit value is changed to `tCO₂e/productUnit` or `gCO₂e/productUnit`. For more information, see the remarks in the quantity column. self.unit = unit # type: str def validate(self): pass def to_map(self): _map = super(GetGwpBenchmarkSummaryResponseBodyDataItems, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['name'] = self.name if self.percent is not None: result['percent'] = self.percent if self.quantity is not None: result['quantity'] = self.quantity if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() if m.get('name') is not None: self.name = m.get('name') if m.get('percent') is not None: self.percent = m.get('percent') if m.get('quantity') is not None: self.quantity = m.get('quantity') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetGwpBenchmarkSummaryResponseBodyData(TeaModel): def __init__(self, items=None, quantity=None, unit=None): # Carbon Reduction Contribution Top4 Details. self.items = items # type: list[GetGwpBenchmarkSummaryResponseBodyDataItems] # Emission amount is presented with four decimal places. Normally, modeling doesn\"t result in negative values, but users can represent carbon reductions as negatives. The amount, paired with the unit, defines the emissions. Both are dynamically adjusted. If emissions exceed `1000 kgCO₂e/productUnit`, they convert to `tCO₂e/productUnit`. If they fall below `1 kgCO₂e/productUnit`, they convert to `gCO₂e/productUnit`. Otherwise, they stay in `kgCO₂e/productUnit`. self.quantity = quantity # type: long # Unit of emissions. The default value is `kgCO₂e/productUnit.` `productUnit` is the unit selected for the product. The unit value is changed to `tCO₂e/productUnit` or `gCO₂e/productUnit`. For more information, see the remarks in the quantity column. self.unit = unit # type: str def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GetGwpBenchmarkSummaryResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.quantity is not None: result['quantity'] = self.quantity if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GetGwpBenchmarkSummaryResponseBodyDataItems() self.items.append(temp_model.from_map(k)) if m.get('quantity') is not None: self.quantity = m.get('quantity') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetGwpBenchmarkSummaryResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetGwpBenchmarkSummaryResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetGwpBenchmarkSummaryResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetGwpBenchmarkSummaryResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetGwpBenchmarkSummaryResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetGwpBenchmarkSummaryResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetGwpBenchmarkSummaryResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetGwpBenchmarkSummaryResponseBody() self.body = temp_model.from_map(m['body']) return self class GetGwpInventoryConstituteRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetGwpInventoryConstituteRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetGwpInventoryConstituteResponseBodyData(TeaModel): def __init__(self, by_resource_type=None, carbon_emission=None, items=None, name=None, unit=None): # Aggregated by resource type of an inventory. self.by_resource_type = by_resource_type # type: list[GwpInventoryConstitute] # Emission quantity: may be positive, negative, or 0. To ensure the calculation accuracy, 24 decimal places are reserved for the calculation process. We recommend that you intercept data based on your business requirements. self.carbon_emission = carbon_emission # type: float # Organized by hierarchy from high to low, according to the flow-> process-> inventory hierarchy. self.items = items # type: list[GwpInventoryConstitute] # The name. self.name = name # type: str # Emission Unit. self.unit = unit # type: str def validate(self): if self.by_resource_type: for k in self.by_resource_type: if k: k.validate() if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GetGwpInventoryConstituteResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['byResourceType'] = [] if self.by_resource_type is not None: for k in self.by_resource_type: result['byResourceType'].append(k.to_map() if k else None) if self.carbon_emission is not None: result['carbonEmission'] = self.carbon_emission result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.name is not None: result['name'] = self.name if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() self.by_resource_type = [] if m.get('byResourceType') is not None: for k in m.get('byResourceType'): temp_model = GwpInventoryConstitute() self.by_resource_type.append(temp_model.from_map(k)) if m.get('carbonEmission') is not None: self.carbon_emission = m.get('carbonEmission') self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GwpInventoryConstitute() self.items.append(temp_model.from_map(k)) if m.get('name') is not None: self.name = m.get('name') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetGwpInventoryConstituteResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetGwpInventoryConstituteResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetGwpInventoryConstituteResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetGwpInventoryConstituteResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetGwpInventoryConstituteResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetGwpInventoryConstituteResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetGwpInventoryConstituteResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetGwpInventoryConstituteResponseBody() self.body = temp_model.from_map(m['body']) return self class GetGwpInventorySummaryRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetGwpInventorySummaryRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetGwpInventorySummaryResponseBodyDataItems(TeaModel): def __init__(self, name=None, percent=None, quantity=None, unit=None): # Inventory resource type name. self.name = name # type: str # Percentage. self.percent = percent # type: str # Quantity. self.quantity = quantity # type: float # The unit. self.unit = unit # type: str def validate(self): pass def to_map(self): _map = super(GetGwpInventorySummaryResponseBodyDataItems, self).to_map() if _map is not None: return _map result = dict() if self.name is not None: result['name'] = self.name if self.percent is not None: result['percent'] = self.percent if self.quantity is not None: result['quantity'] = self.quantity if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() if m.get('name') is not None: self.name = m.get('name') if m.get('percent') is not None: self.percent = m.get('percent') if m.get('quantity') is not None: self.quantity = m.get('quantity') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetGwpInventorySummaryResponseBodyData(TeaModel): def __init__(self, items=None, quantity=None, result_generate_time=None, unit=None): # Top 4 types of carbon footprint contribution. self.items = items # type: list[GetGwpInventorySummaryResponseBodyDataItems] # The emission quantity. self.quantity = quantity # type: float # The time when the result was generated, in the millisecond timestamp format. self.result_generate_time = result_generate_time # type: long # Emission Unit. self.unit = unit # type: str def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GetGwpInventorySummaryResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.quantity is not None: result['quantity'] = self.quantity if self.result_generate_time is not None: result['resultGenerateTime'] = self.result_generate_time if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GetGwpInventorySummaryResponseBodyDataItems() self.items.append(temp_model.from_map(k)) if m.get('quantity') is not None: self.quantity = m.get('quantity') if m.get('resultGenerateTime') is not None: self.result_generate_time = m.get('resultGenerateTime') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetGwpInventorySummaryResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The returned results. self.data = data # type: GetGwpInventorySummaryResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetGwpInventorySummaryResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetGwpInventorySummaryResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetGwpInventorySummaryResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetGwpInventorySummaryResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetGwpInventorySummaryResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetGwpInventorySummaryResponseBody() self.body = temp_model.from_map(m['body']) return self class GetInventoryListRequest(TeaModel): def __init__(self, code=None, emission_type=None, group=None, method_type=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # Type of emission # # > Valid values: footprint | emission. Meaning: footprint: all inventories are involved in the calculation; emission: only inventories with positive and zero emissions are involved in the calculation, and negative numbers are not involved in the calculation. self.emission_type = emission_type # type: str # Group by # # > Valid values: resource | process | resourceType | processType. Meaning: resource: aggregation by inventory group, process: aggregation by operation group, resourceType: aggregation by inventory type, processType: aggregation by phase group self.group = group # type: str # The type of the obtained environmental impact: gwp indicates the carbon footprint of climate change. For more information, see the type value of the enumerated values. self.method_type = method_type # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetInventoryListRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.emission_type is not None: result['emissionType'] = self.emission_type if self.group is not None: result['group'] = self.group if self.method_type is not None: result['methodType'] = self.method_type if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('emissionType') is not None: self.emission_type = m.get('emissionType') if m.get('group') is not None: self.group = m.get('group') if m.get('methodType') is not None: self.method_type = m.get('methodType') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetInventoryListResponseBodyDataItems(TeaModel): def __init__(self, carbon_emission=None, name=None, percent=None, process_name=None): # Emission quantity: may be positive, negative, or 0. To ensure the calculation accuracy, 24 decimal places are reserved for the calculation process. We recommend that you intercept data based on your business requirements. self.carbon_emission = carbon_emission # type: float # Name # # > The name is related to the request parameters group. Request parameters: resource, return name parameter meaning: list name; request parameters: process, return name parameter meaning: process name; request parameters: resourceType, return name parameter meaning: inventory resource type name; request parameters: processType, return name parameter meaning: flow name. self.name = name # type: str # Percentage self.percent = percent # type: str # Process Name: It is only meaningful when the request parameters group is resource. self.process_name = process_name # type: str def validate(self): pass def to_map(self): _map = super(GetInventoryListResponseBodyDataItems, self).to_map() if _map is not None: return _map result = dict() if self.carbon_emission is not None: result['carbonEmission'] = self.carbon_emission if self.name is not None: result['name'] = self.name if self.percent is not None: result['percent'] = self.percent if self.process_name is not None: result['processName'] = self.process_name return result def from_map(self, m=None): m = m or dict() if m.get('carbonEmission') is not None: self.carbon_emission = m.get('carbonEmission') if m.get('name') is not None: self.name = m.get('name') if m.get('percent') is not None: self.percent = m.get('percent') if m.get('processName') is not None: self.process_name = m.get('processName') return self class GetInventoryListResponseBodyData(TeaModel): def __init__(self, items=None, product_unit=None, unit=None): # Inventory detail. self.items = items # type: list[GetInventoryListResponseBodyDataItems] # Unit of product. self.product_unit = product_unit # type: str # Emission Unit: The default value is kgCO₂ /productUnit. productUnit is the unit selected for the product. The unit value is changed to tCO₂ e/productUnit or gCO₂ e/productUnit based on the emission quantity. For more information, see the quantity column. self.unit = unit # type: str def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super(GetInventoryListResponseBodyData, self).to_map() if _map is not None: return _map result = dict() result['items'] = [] if self.items is not None: for k in self.items: result['items'].append(k.to_map() if k else None) if self.product_unit is not None: result['productUnit'] = self.product_unit if self.unit is not None: result['unit'] = self.unit return result def from_map(self, m=None): m = m or dict() self.items = [] if m.get('items') is not None: for k in m.get('items'): temp_model = GetInventoryListResponseBodyDataItems() self.items.append(temp_model.from_map(k)) if m.get('productUnit') is not None: self.product_unit = m.get('productUnit') if m.get('unit') is not None: self.unit = m.get('unit') return self class GetInventoryListResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetInventoryListResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetInventoryListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetInventoryListResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetInventoryListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetInventoryListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetInventoryListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetInventoryListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetOrgAndFactoryResponseBodyDataFactoryList(TeaModel): def __init__(self, factory_id=None, factory_name=None): # The ID of the site. self.factory_id = factory_id # type: str # The name of the site. self.factory_name = factory_name # type: str def validate(self): pass def to_map(self): _map = super(GetOrgAndFactoryResponseBodyDataFactoryList, self).to_map() if _map is not None: return _map result = dict() if self.factory_id is not None: result['factoryId'] = self.factory_id if self.factory_name is not None: result['factoryName'] = self.factory_name return result def from_map(self, m=None): m = m or dict() if m.get('factoryId') is not None: self.factory_id = m.get('factoryId') if m.get('factoryName') is not None: self.factory_name = m.get('factoryName') return self class GetOrgAndFactoryResponseBodyData(TeaModel): def __init__(self, aliyun_pk=None, factory_list=None, organization_id=None, organization_name=None): # The ID of the Alibaba Cloud account. self.aliyun_pk = aliyun_pk # type: str # The sites. self.factory_list = factory_list # type: list[GetOrgAndFactoryResponseBodyDataFactoryList] # The ID of the organization. self.organization_id = organization_id # type: str # The name of the organization. self.organization_name = organization_name # type: str def validate(self): if self.factory_list: for k in self.factory_list: if k: k.validate() def to_map(self): _map = super(GetOrgAndFactoryResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.aliyun_pk is not None: result['aliyunPk'] = self.aliyun_pk result['factoryList'] = [] if self.factory_list is not None: for k in self.factory_list: result['factoryList'].append(k.to_map() if k else None) if self.organization_id is not None: result['organizationId'] = self.organization_id if self.organization_name is not None: result['organizationName'] = self.organization_name return result def from_map(self, m=None): m = m or dict() if m.get('aliyunPk') is not None: self.aliyun_pk = m.get('aliyunPk') self.factory_list = [] if m.get('factoryList') is not None: for k in m.get('factoryList'): temp_model = GetOrgAndFactoryResponseBodyDataFactoryList() self.factory_list.append(temp_model.from_map(k)) if m.get('organizationId') is not None: self.organization_id = m.get('organizationId') if m.get('organizationName') is not None: self.organization_name = m.get('organizationName') return self class GetOrgAndFactoryResponseBody(TeaModel): def __init__(self, code=None, data=None, http_code=None, request_id=None, success=None): # The code returned for the request. self.code = code # type: str # data self.data = data # type: list[GetOrgAndFactoryResponseBodyData] # The HTTP status code. self.http_code = http_code # type: int # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request was successful. self.success = success # type: bool def validate(self): if self.data: for k in self.data: if k: k.validate() def to_map(self): _map = super(GetOrgAndFactoryResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code result['data'] = [] if self.data is not None: for k in self.data: result['data'].append(k.to_map() if k else None) if self.http_code is not None: result['httpCode'] = self.http_code if self.request_id is not None: result['requestId'] = self.request_id if self.success is not None: result['success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') self.data = [] if m.get('data') is not None: for k in m.get('data'): temp_model = GetOrgAndFactoryResponseBodyData() self.data.append(temp_model.from_map(k)) if m.get('httpCode') is not None: self.http_code = m.get('httpCode') if m.get('requestId') is not None: self.request_id = m.get('requestId') if m.get('success') is not None: self.success = m.get('success') return self class GetOrgAndFactoryResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetOrgAndFactoryResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetOrgAndFactoryResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetOrgAndFactoryResponseBody() self.body = temp_model.from_map(m['body']) return self class GetOrgConstituteRequest(TeaModel): def __init__(self, code=None, module_code=None, module_type=None, year=None): # The enterprise code. self.code = code # type: str # Module code. self.module_code = module_code # type: str # Module type. self.module_type = module_type # type: int # Year. self.year = year # type: int def validate(self): pass def to_map(self): _map = super(GetOrgConstituteRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.module_code is not None: result['moduleCode'] = self.module_code if self.module_type is not None: result['moduleType'] = self.module_type if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('moduleCode') is not None: self.module_code = m.get('moduleCode') if m.get('moduleType') is not None: self.module_type = m.get('moduleType') if m.get('year') is not None: self.year = m.get('year') return self class GetOrgConstituteResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The data returned. self.data = data # type: OrgEmission # The request ID. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetOrgConstituteResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = OrgEmission() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetOrgConstituteResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetOrgConstituteResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetOrgConstituteResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetOrgConstituteResponseBody() self.body = temp_model.from_map(m['body']) return self class GetPcrInfoRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: str # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetPcrInfoRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetPcrInfoResponseBodyData(TeaModel): def __init__(self, create_time=None, name=None, url=None): # The timestamp when the report was created. The timestamp is in milliseconds. self.create_time = create_time # type: str # Report name self.name = name # type: str # Download url link. self.url = url # type: str def validate(self): pass def to_map(self): _map = super(GetPcrInfoResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.create_time is not None: result['createTime'] = self.create_time if self.name is not None: result['name'] = self.name if self.url is not None: result['url'] = self.url return result def from_map(self, m=None): m = m or dict() if m.get('createTime') is not None: self.create_time = m.get('createTime') if m.get('name') is not None: self.name = m.get('name') if m.get('url') is not None: self.url = m.get('url') return self class GetPcrInfoResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: GetPcrInfoResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetPcrInfoResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetPcrInfoResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetPcrInfoResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetPcrInfoResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetPcrInfoResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetPcrInfoResponseBody() self.body = temp_model.from_map(m['body']) return self class GetReductionProposalRequest(TeaModel): def __init__(self, code=None, data_quality_evaluation_type=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The type of the data quality evaluation. 1 is DQI and 2 is DQR. self.data_quality_evaluation_type = data_quality_evaluation_type # type: int # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(GetReductionProposalRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.data_quality_evaluation_type is not None: result['dataQualityEvaluationType'] = self.data_quality_evaluation_type if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('dataQualityEvaluationType') is not None: self.data_quality_evaluation_type = m.get('dataQualityEvaluationType') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class GetReductionProposalResponseBodyData(TeaModel): def __init__(self, reduction=None, reduction_evaluation=None): # Proactive carbon reduction recommendations and advice. self.reduction = reduction # type: str # Active carbon reduction assessment. self.reduction_evaluation = reduction_evaluation # type: str def validate(self): pass def to_map(self): _map = super(GetReductionProposalResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.reduction is not None: result['reduction'] = self.reduction if self.reduction_evaluation is not None: result['reductionEvaluation'] = self.reduction_evaluation return result def from_map(self, m=None): m = m or dict() if m.get('reduction') is not None: self.reduction = m.get('reduction') if m.get('reductionEvaluation') is not None: self.reduction_evaluation = m.get('reductionEvaluation') return self class GetReductionProposalResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The returned data. self.data = data # type: GetReductionProposalResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(GetReductionProposalResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = GetReductionProposalResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class GetReductionProposalResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetReductionProposalResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetReductionProposalResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetReductionProposalResponseBody() self.body = temp_model.from_map(m['body']) return self class IsCompletedRequest(TeaModel): def __init__(self, code=None, product_id=None, product_type=None): # The enterprise code. self.code = code # type: str # The product id. self.product_id = product_id # type: long # Product type: 1 indicates that the carbon footprint of the product is requested, and 5 indicates that the carbon footprint of the supply chain is requested. self.product_type = product_type # type: long def validate(self): pass def to_map(self): _map = super(IsCompletedRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.product_id is not None: result['productId'] = self.product_id if self.product_type is not None: result['productType'] = self.product_type return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('productId') is not None: self.product_id = m.get('productId') if m.get('productType') is not None: self.product_type = m.get('productType') return self class IsCompletedResponseBodyData(TeaModel): def __init__(self, modified_time=None, task_key=None, task_short_result=None, task_status=None): # Modified time in milliseconds, e.g. 1711438780000. self.modified_time = modified_time # type: long # The unique key of this generation task. self.task_key = task_key # type: str # Unused temporarily. self.task_short_result = task_short_result # type: str # The status of the report generation task. The possible values are `running`, `success`, and `error`, which mean generating, generating succeeded, and generating failed, respectively. If you encounter a result generation failure, check the model, correct the model, and then generate the result again. self.task_status = task_status # type: str def validate(self): pass def to_map(self): _map = super(IsCompletedResponseBodyData, self).to_map() if _map is not None: return _map result = dict() if self.modified_time is not None: result['modifiedTime'] = self.modified_time if self.task_key is not None: result['taskKey'] = self.task_key if self.task_short_result is not None: result['taskShortResult'] = self.task_short_result if self.task_status is not None: result['taskStatus'] = self.task_status return result def from_map(self, m=None): m = m or dict() if m.get('modifiedTime') is not None: self.modified_time = m.get('modifiedTime') if m.get('taskKey') is not None: self.task_key = m.get('taskKey') if m.get('taskShortResult') is not None: self.task_short_result = m.get('taskShortResult') if m.get('taskStatus') is not None: self.task_status = m.get('taskStatus') return self class IsCompletedResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The response parameters. self.data = data # type: IsCompletedResponseBodyData # The ID of the request. The value is unique for each request. This facilitates subsequent troubleshooting. self.request_id = request_id # type: str def validate(self): if self.data: self.data.validate() def to_map(self): _map = super(IsCompletedResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data.to_map() if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: temp_model = IsCompletedResponseBodyData() self.data = temp_model.from_map(m['data']) if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class IsCompletedResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: IsCompletedResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(IsCompletedResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = IsCompletedResponseBody() self.body = temp_model.from_map(m['body']) return self class PushDeviceDataRequestDevices(TeaModel): def __init__(self, data=None, device_id=None, record_time=None): # Measuring point information To avoid accuracy problems, the measurement point data is uniformly transmitted to the string. The function of missing required fields cannot be used normally. Some functions may be affected due to the lack of recommend fields. For details, please refer to the notes of equipment measuring points in the appendix. [Reference Point Definition](https://carbon-doc.oss-cn-hangzhou.aliyuncs.com/Deviceappendixes-en.pdf # ) self.data = data # type: dict[str, any] # If the deviceType parameter is set to 12, 13, or 17, you must set the system_id parameter. The field name is still device_id. If the deviceType parameter is set to 15 or 16, no Other situations will be transmitted. self.device_id = device_id # type: str # Data generation time of measuring point. self.record_time = record_time # type: str def validate(self): pass def to_map(self): _map = super(PushDeviceDataRequestDevices, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data if self.device_id is not None: result['deviceId'] = self.device_id if self.record_time is not None: result['recordTime'] = self.record_time return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: self.data = m.get('data') if m.get('deviceId') is not None: self.device_id = m.get('deviceId') if m.get('recordTime') is not None: self.record_time = m.get('recordTime') return self class PushDeviceDataRequest(TeaModel): def __init__(self, device_type=None, devices=None): # The type of the device. [View device type definitions](https://carbon-doc.oss-cn-hangzhou.aliyuncs.com/Deviceappendixes-en.pdf) self.device_type = device_type # type: str # List of devices to which data is pushed. self.devices = devices # type: list[PushDeviceDataRequestDevices] def validate(self): if self.devices: for k in self.devices: if k: k.validate() def to_map(self): _map = super(PushDeviceDataRequest, self).to_map() if _map is not None: return _map result = dict() if self.device_type is not None: result['deviceType'] = self.device_type result['devices'] = [] if self.devices is not None: for k in self.devices: result['devices'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('deviceType') is not None: self.device_type = m.get('deviceType') self.devices = [] if m.get('devices') is not None: for k in m.get('devices'): temp_model = PushDeviceDataRequestDevices() self.devices.append(temp_model.from_map(k)) return self class PushDeviceDataResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # Whether the data is pushed successfully. Success is returned. self.data = data # type: str # The request ID. self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(PushDeviceDataResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: self.data = m.get('data') if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class PushDeviceDataResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: PushDeviceDataResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(PushDeviceDataResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = PushDeviceDataResponseBody() self.body = temp_model.from_map(m['body']) return self class PushItemDataRequestItems(TeaModel): def __init__(self, code=None, month=None, value=None): # The data item code. self.code = code # type: str # The month. self.month = month # type: str # The value of the data item. self.value = value # type: float def validate(self): pass def to_map(self): _map = super(PushItemDataRequestItems, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.month is not None: result['month'] = self.month if self.value is not None: result['value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('month') is not None: self.month = m.get('month') if m.get('value') is not None: self.value = m.get('value') return self class PushItemDataRequest(TeaModel): def __init__(self, code=None, items=None, year=None): # The enterprise code. self.code = code # type: str # Push data list. self.items = items # type: PushItemDataRequestItems # The year of the data created. self.year = year # type: str def validate(self): if self.items: self.items.validate() def to_map(self): _map = super(PushItemDataRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.items is not None: result['items'] = self.items.to_map() if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('items') is not None: temp_model = PushItemDataRequestItems() self.items = temp_model.from_map(m['items']) if m.get('year') is not None: self.year = m.get('year') return self class PushItemDataResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # Whether the data is pushed successfully. self.data = data # type: bool # The request ID. self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(PushItemDataResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: self.data = m.get('data') if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class PushItemDataResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: PushItemDataResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(PushItemDataResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = PushItemDataResponseBody() self.body = temp_model.from_map(m['body']) return self class RecalculateCarbonEmissionRequest(TeaModel): def __init__(self, code=None, year=None): # The enterprise code. self.code = code # type: str # Year of inventory. self.year = year # type: str def validate(self): pass def to_map(self): _map = super(RecalculateCarbonEmissionRequest, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['code'] = self.code if self.year is not None: result['year'] = self.year return result def from_map(self, m=None): m = m or dict() if m.get('code') is not None: self.code = m.get('code') if m.get('year') is not None: self.year = m.get('year') return self class RecalculateCarbonEmissionResponseBody(TeaModel): def __init__(self, data=None, request_id=None): # The returned data. A value of true indicates that the request is successful. A value of false indicates that the request fails. self.data = data # type: bool # The request ID. self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(RecalculateCarbonEmissionResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.data is not None: result['data'] = self.data if self.request_id is not None: result['requestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('data') is not None: self.data = m.get('data') if m.get('requestId') is not None: self.request_id = m.get('requestId') return self class RecalculateCarbonEmissionResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: RecalculateCarbonEmissionResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(RecalculateCarbonEmissionResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = RecalculateCarbonEmissionResponseBody() self.body = temp_model.from_map(m['body']) return self