FengChaoYu 3 tygodni temu
rodzic
commit
b5c1055901

+ 0 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/order/OrderLogic.java

@@ -919,7 +919,6 @@ public class OrderLogic {
         orderInfo.setCheckById(adminUser.getAdminUserId());
         orderInfo.setOrderStatus(OrderStatusEnum.DJH.toString());
         orderInfo.updateById();
-
         // 确认订单减少物料库存
 //        final List<OrderDetail> orderDetailList = orderDetailService.lambdaQuery()
 //                .eq(OrderDetail::getOrderId, orderInfo.getOrderId())

+ 14 - 9
mall-server-api/src/main/resources/mapper/CustomGoodsMapper.xml

@@ -71,17 +71,22 @@
     </select>
 
     <select id="list" resultType="com.gree.mall.manager.bean.goods.GoodsSpecBean">
-        SELECT t1.*,
-               t1.goods_name                                                     AS goodsName,
-               sum(IF(t2.del = 0 AND t2.sold_num IS NOT NULL, t2.sold_num, 0))   AS soldNum,
-               sum(IF(t2.del = 0 AND t2.stock_num IS NOT NULL, t2.stock_num, 0)) AS stockNum
+        SELECT
+            t1.*,
+            COALESCE(t2.agg_sold_num, 0) AS soldNum,
+            COALESCE(t2.agg_stock_num, 0) AS stockNum
         FROM goods_template gt
-                 LEFT JOIN goods t1 ON gt.goods_id = t1.goods_id
-                 LEFT JOIN goods_spec t2 ON t1.goods_id = t2.goods_id
+                 INNER JOIN goods t1 ON gt.goods_id = t1.goods_id AND t1.del = 0
+                 LEFT JOIN (
+            SELECT
+                goods_id,
+                SUM(IF(del = 0, sold_num, 0)) AS agg_sold_num,
+                SUM(IF(del = 0, stock_num, 0)) AS agg_stock_num
+            FROM goods_spec
+            GROUP BY goods_id
+        ) t2 ON t1.goods_id = t2.goods_id
         WHERE gt.template_id = #{commonTemplateId}
-          and t1.del = 0
-        GROUP BY t1.goods_id
-        ORDER BY t1.sort_num DESC
+        ORDER BY t1.sort_num DESC;
     </select>