Переглянути джерело

perf(national-motion-system): 优化查询预订数量的 SQL 语句

- 重构了 queryBookedCount 查询,使用更高效的连接方式
- 添加了 bookedCount 别名,提高查询结果的可读性
- 优化了表连接顺序,先连接主表再进行左连接
SheepHy 3 тижнів тому
батько
коміт
605e02de7a

+ 7 - 7
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppOrderMapper.xml

@@ -83,15 +83,15 @@
         </if>
     </select>
     <select id="queryBookedCount" resultType="java.lang.Integer">
-        SELECT
-            COUNT(a.id)
-        FROM
-            nm_order a LEFT JOIN nm_site_price_rules b ON a.product_ids = b.id
-        WHERE
-            b.site_place_id = #{placeId}
+        SELECT COUNT(opi.id) AS bookedCount
+        FROM nm_order a
+                 JOIN nm_site_price_rules b ON a.product_ids = b.id
+                 LEFT JOIN nm_order_pro_info opi ON a.id = opi.order_id
+        WHERE b.site_place_id = #{placeId}
           AND b.date_of_sale = #{date}
           AND b.start_time = #{startTime}
-          AND b.end_time = #{endTime} AND b.del_flag = 0
+          AND b.end_time = #{endTime}
+          AND b.del_flag = 0;
     </select>
     <select id="pageOrders" resultType="org.jeecg.modules.app.vo.PageOrdersVO">
         SELECT