Przeglądaj źródła

修改活动状态bug

zc 2 miesięcy temu
rodzic
commit
0c53dad0f3

+ 8 - 6
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -3441,11 +3441,11 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
      * 关联条件:store_operational_activity.id = store_img.business_id
      */
     public List<StoreImg> getBannerUrl(String storeId) {
-        // 先查询符合条件的运营活动(只查询进行中的活动,status=5
+        // 先查询符合条件的运营活动(包含未开始/已售罄/进行中/已结束
         LambdaQueryWrapper<StoreOperationalActivity> activityWrapper = new LambdaQueryWrapper<StoreOperationalActivity>()
                 .eq(StoreOperationalActivity::getStoreId, Integer.parseInt(storeId))
                 .eq(StoreOperationalActivity::getDeleteFlag, 0)
-                .eq(StoreOperationalActivity::getStatus, 5);
+                .in(StoreOperationalActivity::getStatus, 2, 5);
         List<StoreOperationalActivity> activities = storeOperationalActivityMapper.selectList(activityWrapper);
 
         // 如果没有活动,返回空列表
@@ -3460,11 +3460,13 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
                     if (activity == null) {
                         return false;
                     }
-                    if (!"MARKETING".equals(activity.getActivityType())) {
-                        return true;
-                    }
                     Integer status = activity.getStatus();
-                    if (status == null || (status != 2 && status != 4 && status != 5 && status != 7)) {
+                    String activityType = activity.getActivityType();
+                    if (!"MARKETING".equals(activityType)) {
+                        // 非MARKETING且未开始,不展示
+                        return status == null || status != 2;
+                    }
+                    if (status == null || (status != 2 && status != 5)) {
                         return false;
                     }
                     Date signupStartTime = activity.getSignupStartTime();

+ 1 - 1
alien-store/src/main/java/shop/alien/store/service/impl/StoreOperationalActivityServiceImpl.java

@@ -473,7 +473,7 @@ public class StoreOperationalActivityServiceImpl implements StoreOperationalActi
         Integer auditStatus = item.getSignupAuditStatus();
         Date startTime = item.getStartTime();
         Date endTime = item.getEndTime();
-        boolean ended = (activityStatus != null && activityStatus == 7)
+        boolean ended = (activityStatus != null && (activityStatus == 7 || activityStatus == 6))
                 || (endTime != null && now.after(endTime));
         if (ended) {
             return hasAchievement ? 2 : 1;