Bläddra i källkod

fix(recommend): 购买态订单查询改用paid等真实状态枚举

RecommendationRuleService/RepurchaseMiningService 的已支付过滤从中文字面量改为 in(paid,pending_receipt,shipped,completed)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Sisyphus 4 dagar sedan
förälder
incheckning
7b5105f628

+ 3 - 3
cfc-backend/src/main/java/com/etotem/cfc/service/RecommendationRuleService.java

@@ -52,7 +52,7 @@ public class RecommendationRuleService extends ServiceImpl<RecommendationRuleMap
         List<ProductOrder> orders = productOrderMapper.selectList(
                 new LambdaQueryWrapper<ProductOrder>()
                         .eq(ProductOrder::getFamilyId, familyId)
-                        .eq(ProductOrder::getStatus, "已支付")
+                        .in(ProductOrder::getStatus, "paid", "pending_receipt", "shipped", "completed")
                         .gt(ProductOrder::getPaidAt, cutoff)
         );
         for (ProductOrder order : orders) {
@@ -65,7 +65,7 @@ public class RecommendationRuleService extends ServiceImpl<RecommendationRuleMap
             List<ProductOrder> orders2 = productOrderMapper.selectList(
                     new LambdaQueryWrapper<ProductOrder>()
                             .eq(ProductOrder::getBuyerId, memberId)
-                            .eq(ProductOrder::getStatus, "已支付")
+                            .in(ProductOrder::getStatus, "paid", "pending_receipt", "shipped", "completed")
                             .gt(ProductOrder::getPaidAt, cutoff)
             );
             for (ProductOrder order : orders2) {
@@ -91,7 +91,7 @@ public class RecommendationRuleService extends ServiceImpl<RecommendationRuleMap
         List<ProductOrder> orders = productOrderMapper.selectList(
                 new LambdaQueryWrapper<ProductOrder>()
                         .eq(ProductOrder::getBuyerId, userId)
-                        .eq(ProductOrder::getStatus, "已支付")
+                        .in(ProductOrder::getStatus, "paid", "pending_receipt", "shipped", "completed")
                         .gt(ProductOrder::getPaidAt, cutoff)
         );
         for (ProductOrder order : orders) {

+ 2 - 2
cfc-backend/src/main/java/com/etotem/cfc/service/RepurchaseMiningService.java

@@ -63,7 +63,7 @@ public class RepurchaseMiningService {
         LocalDate thirtyDaysAgo = today.minus(30, ChronoUnit.DAYS);
 
         LambdaQueryWrapper<ProductOrder> qw = new LambdaQueryWrapper<ProductOrder>()
-                .eq(ProductOrder::getStatus, "已支付")
+                .in(ProductOrder::getStatus, "paid", "pending_receipt", "shipped", "completed")
                 .ge(ProductOrder::getCreatedAt, java.sql.Date.valueOf(thirtyDaysAgo))
                 .last("LIMIT 10000"); // 防止数据量过大,分页处理
 
@@ -131,7 +131,7 @@ public class RepurchaseMiningService {
     @Transactional(rollbackFor = Exception.class)
     private void mineRepurchaseAssociations() {
         LambdaQueryWrapper<ProductOrder> qw = new LambdaQueryWrapper<ProductOrder>()
-                .eq(ProductOrder::getStatus, "已支付")
+                .in(ProductOrder::getStatus, "paid", "pending_receipt", "shipped", "completed")
                 .last("LIMIT 5000");
 
         List<ProductOrder> allOrders = productOrderMapper.selectList(qw);