Преглед изворни кода

fix: 用户标签统计口径包含 PARTIAL_REFUND,避免回头客显示为未消费

batchCountPaidOrdersByUserIds / batchCountRecentPaidOrdersByUserIds
只查 pay_status='PAID',退款重构后部分退款订单变为 PARTIAL_REFUND,
不被计入,导致已多次消费的用户标签变成 POTENTIAL(未消费)。
改为 IN ('PAID', 'PARTIAL_REFUND'),部分退款也是真实消费。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
skyline пре 2 недеља
родитељ
комит
31f1973b36
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      haha-mapper/src/main/java/com/haha/mapper/OrderMapper.java

+ 2 - 2
haha-mapper/src/main/java/com/haha/mapper/OrderMapper.java

@@ -101,7 +101,7 @@ public interface OrderMapper extends BaseMapper<Order> {
      */
     @Select("<script>" +
             "SELECT user_id, COUNT(*) as order_count FROM t_order " +
-            "WHERE pay_status = 'PAID' AND user_id IN " +
+            "WHERE pay_status IN ('PAID', 'PARTIAL_REFUND') AND user_id IN " +
             "<foreach collection='userIds' item='id' open='(' separator=',' close=')'>" +
             "#{id}" +
             "</foreach>" +
@@ -118,7 +118,7 @@ public interface OrderMapper extends BaseMapper<Order> {
      */
     @Select("<script>" +
             "SELECT user_id, COUNT(*) as order_count FROM t_order " +
-            "WHERE pay_status = 'PAID' AND pay_time &gt;= #{thirtyDaysAgo} AND user_id IN " +
+            "WHERE pay_status IN ('PAID', 'PARTIAL_REFUND') AND pay_time &gt;= #{thirtyDaysAgo} AND user_id IN " +
             "<foreach collection='userIds' item='id' open='(' separator=',' close=')'>" +
             "#{id}" +
             "</foreach>" +