Prechádzať zdrojové kódy

fix: 修复 get_product_by_id 的分页开销

- 改用 fetch_one 查询单条记录
- 返回单行 DataFrame 保持接口一致
Sherlock 2 dní pred
rodič
commit
23c43dafc2
1 zmenil súbory, kde vykonal 4 pridanie a 5 odobranie
  1. 4 5
      database/dao/mysql_dao.py

+ 4 - 5
database/dao/mysql_dao.py

@@ -91,16 +91,15 @@ class MySqlDao:
     
     def get_product_by_id(self, city_uuid, product_id):
         """根据city_uuid 和 product_id 从表中获取拼柜信息"""
-        query = f"""
+        query = text(f"""
             SELECT *
             FROM {self._product_tablename}
             WHERE city_uuid = :city_uuid
             AND product_code = :product_id
-        """
+        """)
         params = {"city_uuid": city_uuid, "product_id": product_id}
-        data = self.db_helper.load_data_with_page(query, params)
-        
-        return data
+        result = self.db_helper.fetch_one(query, params)
+        return pd.DataFrame([dict(result._mapping)] if result else [])
     
     def get_cust_by_ids(self, city_uuid, cust_id_list):
         """根据零售户列表查询其信息"""