diff --git a/web/calculators/__init__.py b/web/calculators/__init__.py index 6aff7c0..6c74197 100644 --- a/web/calculators/__init__.py +++ b/web/calculators/__init__.py @@ -150,7 +150,7 @@ class Calculator: return price, fluctuating def _get_ss_price(self): - query = SanmingSteel.get_query(self.year, self.month, name='高线', spec='φ10mm') + query = SanmingSteel.get_query(self.year, self.month, material=self.material_id) data = query.first() price = int(data.price) if data else 0 fluctuating = int(self._get_fluctuating('price_ss', price)) diff --git a/web/commons/models/sanming_steel.py b/web/commons/models/sanming_steel.py index 0593579..d09fffc 100644 --- a/web/commons/models/sanming_steel.py +++ b/web/commons/models/sanming_steel.py @@ -32,7 +32,7 @@ class SanmingSteel(db.Model, Model, BaseModelMixin): return result @classmethod - def get_query(cls, year, month, name, spec): + def get_query(cls, year, month, name=None, spec=None, material=None): start_date = datetime.date(year, month, 1) end_date = start_date + relativedelta(months=1) query = cls.query @@ -42,4 +42,6 @@ class SanmingSteel(db.Model, Model, BaseModelMixin): query = query.filter(cls.name == name) if spec: query = query.filter(cls.spec == spec) + if material: + query = query.filter(cls.material == material) return query