Bläddra i källkod

fix 无活动时SQL异常

skyline 1 år sedan
förälder
incheckning
b9591d4ec4

+ 1 - 1
entity/src/main/java/com/kym/entity/common/PageParams.java

@@ -9,6 +9,6 @@ import lombok.Data;
  */
 @Data
 public class PageParams {
-    private int PageNum = 1;
+    private int pageNum = 1;
     private int pageSize = 10;
 }

+ 5 - 1
service/src/main/java/com/kym/service/admin/impl/ActivityStationServiceImpl.java

@@ -31,11 +31,15 @@ public class ActivityStationServiceImpl extends MyBaseServiceImpl<ActivityStatio
      */
     @Override
     public List<ActivityVo> getActivityVoList(List<Long> activityIdList) {
+        if(activityIdList.isEmpty()){
+            return null;
+        }
         MPJLambdaWrapper<ActivityStation> wrapper = JoinWrappers.lambda(ActivityStation.class)
                 .selectCollection(Station.class, ActivityVo::getStationList)
                 .selectAs(ActivityStation::getActivityId, ActivityVo::getActivityId)
                 .innerJoin(Station.class, on ->
-                        on.eq(ActivityStation::getStationId, Station::getStationId).in(ActivityStation::getActivityId, activityIdList));
+                        on.eq(ActivityStation::getStationId, Station::getStationId))
+                .in(ActivityStation::getActivityId, activityIdList);
         return selectJoinList(ActivityVo.class, wrapper);
     }
 

+ 14 - 14
service/src/main/java/com/kym/service/miniapp/impl/UserServiceImpl.java

@@ -15,7 +15,6 @@ import com.kym.common.exception.BusinessException;
 import com.kym.common.utils.CommUtil;
 import com.kym.common.utils.HttpUtil;
 import com.kym.entity.admin.Activity;
-import com.kym.entity.admin.ActivityStation;
 import com.kym.entity.admin.RechargeRights;
 import com.kym.entity.admin.queryParams.CommonQueryParam;
 import com.kym.entity.admin.vo.ActivityVo;
@@ -164,21 +163,22 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
 
         // 可以参加的活动-充值权益
         DynamicDataSourceContextHolder.push("db-admin");
-        var bannerList = bannerService.list();
-        var rechargeRight = rechargeRightsService.lambdaQuery().eq(RechargeRights::getStatus, Activity.STATUS_进行中).list();
         var activityList = activityService.lambdaQuery().eq(Activity::getStatus, Activity.STATUS_进行中).list();
-        var activity2Station = activityStationService.getActivityVoList(activityList.stream().map(Activity::getId).toList()).stream().collect(Collectors.toMap(ActivityVo::getActivityId,ActivityVo::getStationList));
+        if (CommUtil.isNotEmptyAndNull(activityList)) {
+            var rechargeRight = rechargeRightsService.lambdaQuery().eq(RechargeRights::getStatus, Activity.STATUS_进行中).list();
+            var bannerList = bannerService.list();
+            var activity2Station = activityStationService.getActivityVoList(activityList.stream().map(Activity::getId).toList()).stream().collect(Collectors.toMap(ActivityVo::getActivityId, ActivityVo::getStationList));
+            var voList = activityList.stream().map(activity -> {
+                var vo = new ActivityVo();
+                BeanUtils.copyProperties(activity, vo);
+                vo.setRechargeRightsList(rechargeRight.stream().filter(rights -> rights.getActivityId().equals(activity.getId())).toList());
+                vo.setBannerList(bannerList.stream().filter(banner -> banner.getActivityId().equals(activity.getId())).toList());
+                vo.setStationList(activity2Station.get(activity.getId()));
+                return vo;
+            }).toList();
+            userVo.setActivityList(voList);
+        }
         DynamicDataSourceContextHolder.poll();
-        var voList = activityList.stream().map(activity -> {
-            var vo = new ActivityVo();
-            BeanUtils.copyProperties(activity, vo);
-            vo.setRechargeRightsList(rechargeRight.stream().filter(rights -> rights.getActivityId().equals(activity.getId())).toList());
-            vo.setBannerList(bannerList.stream().filter(banner -> banner.getActivityId().equals(activity.getId())).toList());
-            vo.setStationList(activity2Station.get(activity.getId()));
-            return vo;
-        }).toList();
-        userVo.setActivityList(voList);
-
         return userVo;
     }