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

fix(app): 修复课程销量统计问题

- 更新 AppHomeServiceImpl 中的课程销量统计方法
- 在 CoachServiceImpl 中添加相同的查询条件以保持一致性
- 排除特定类型和订单状态的记录,以准确计算销量
SheepHy пре 1 недеља
родитељ
комит
fc669f971b

+ 16 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/AppHomeServiceImpl.java

@@ -405,7 +405,7 @@ public class AppHomeServiceImpl implements IAppHomeService {
                     .map(course -> {
                         SearchVO.SearchCoursesVO vo = new SearchVO.SearchCoursesVO();
                         BeanUtils.copyProperties(course, vo);
-                        vo.setSales(666);
+                        vo.setSales(getCourseSalesCount(course.getId()));
                         return vo;
                     })
                     .collect(Collectors.toList());
@@ -429,6 +429,11 @@ public class AppHomeServiceImpl implements IAppHomeService {
         return Math.toIntExact(appOrderProInfoMapper.selectCount(
                 Wrappers.<AppOrderProInfo>lambdaQuery()
                         .eq(AppOrderProInfo::getProductId, id)
+                        .ne(AppOrderProInfo::getType,6)
+                        .ne(AppOrderProInfo::getOrderStatus,0)
+                        .ne(AppOrderProInfo::getOrderStatus,4)
+                        .ne(AppOrderProInfo::getOrderStatus,5)
+                        .ne(AppOrderProInfo::getOrderStatus,6)
         ));
     }
 
@@ -451,6 +456,11 @@ public class AppHomeServiceImpl implements IAppHomeService {
         return Math.toIntExact(appOrderProInfoMapper.selectCount(
                 Wrappers.<AppOrderProInfo>lambdaQuery()
                         .eq(AppOrderProInfo::getStatus,0)
+                        .ne(AppOrderProInfo::getType,6)
+                        .ne(AppOrderProInfo::getOrderStatus,0)
+                        .ne(AppOrderProInfo::getOrderStatus,4)
+                        .ne(AppOrderProInfo::getOrderStatus,5)
+                        .ne(AppOrderProInfo::getOrderStatus,6)
                         .eq(AppOrderProInfo::getDelFlag,0)
                         .in(AppOrderProInfo::getProductId, courseIds)
         ));
@@ -477,6 +487,11 @@ public class AppHomeServiceImpl implements IAppHomeService {
                         Wrappers.<AppOrderProInfo>lambdaQuery()
                                 .select(AppOrderProInfo::getFamilyUserId)
                                 .in(AppOrderProInfo::getProductId, courseIds)
+                                .ne(AppOrderProInfo::getType,6)
+                                .ne(AppOrderProInfo::getOrderStatus,0)
+                                .ne(AppOrderProInfo::getOrderStatus,4)
+                                .ne(AppOrderProInfo::getOrderStatus,5)
+                                .ne(AppOrderProInfo::getOrderStatus,6)
                                 .eq(AppOrderProInfo::getStatus, 0)
                                 .eq(AppOrderProInfo::getDelFlag, 0)
                                 .isNotNull(AppOrderProInfo::getFamilyUserId)

+ 20 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/CoachServiceImpl.java

@@ -124,6 +124,11 @@ public class CoachServiceImpl implements ICoachService {
         return Math.toIntExact(appOrderProInfoMapper.selectCount(
                 Wrappers.<AppOrderProInfo>lambdaQuery()
                         .eq(AppOrderProInfo::getStatus,0)
+                        .ne(AppOrderProInfo::getType,6)
+                        .ne(AppOrderProInfo::getOrderStatus,0)
+                        .ne(AppOrderProInfo::getOrderStatus,4)
+                        .ne(AppOrderProInfo::getOrderStatus,5)
+                        .ne(AppOrderProInfo::getOrderStatus,6)
                         .eq(AppOrderProInfo::getDelFlag,0)
                         .in(AppOrderProInfo::getProductId, courseIds)
         ));
@@ -150,6 +155,11 @@ public class CoachServiceImpl implements ICoachService {
                         Wrappers.<AppOrderProInfo>lambdaQuery()
                                 .select(AppOrderProInfo::getFamilyUserId)
                                 .in(AppOrderProInfo::getProductId, courseIds)
+                                .ne(AppOrderProInfo::getType,6)
+                                .ne(AppOrderProInfo::getOrderStatus,0)
+                                .ne(AppOrderProInfo::getOrderStatus,4)
+                                .ne(AppOrderProInfo::getOrderStatus,5)
+                                .ne(AppOrderProInfo::getOrderStatus,6)
                                 .eq(AppOrderProInfo::getStatus, 0)
                                 .eq(AppOrderProInfo::getDelFlag, 0)
                                 .isNotNull(AppOrderProInfo::getFamilyUserId)
@@ -177,6 +187,11 @@ public class CoachServiceImpl implements ICoachService {
                 Wrappers.<AppOrderProInfo>lambdaQuery()
                         .eq(AppOrderProInfo::getProductId, id)
                         .eq(AppOrderProInfo::getStatus,0)
+                        .ne(AppOrderProInfo::getType,6)
+                        .ne(AppOrderProInfo::getOrderStatus,0)
+                        .ne(AppOrderProInfo::getOrderStatus,4)
+                        .ne(AppOrderProInfo::getOrderStatus,5)
+                        .ne(AppOrderProInfo::getOrderStatus,6)
                         .eq(AppOrderProInfo::getDelFlag,0)
                         .ge(AppOrderProInfo::getCreateTime, Date.from(startOfYear.atZone(ZoneId.systemDefault()).toInstant())) // >= 2025-01-01
                         .lt(AppOrderProInfo::getCreateTime, Date.from(endOfYear.atZone(ZoneId.systemDefault()).toInstant())) // < 2026-01-01
@@ -194,6 +209,11 @@ public class CoachServiceImpl implements ICoachService {
         return Math.toIntExact(appOrderProInfoMapper.selectCount(
                 Wrappers.<AppOrderProInfo>lambdaQuery()
                         .eq(AppOrderProInfo::getProductId, id)
+                        .ne(AppOrderProInfo::getType,6)
+                        .ne(AppOrderProInfo::getOrderStatus,0)
+                        .ne(AppOrderProInfo::getOrderStatus,4)
+                        .ne(AppOrderProInfo::getOrderStatus,5)
+                        .ne(AppOrderProInfo::getOrderStatus,6)
         ));
     }