skyline пре 1 година
родитељ
комит
5e976757c7

+ 1 - 1
entity/pom.xml

@@ -33,7 +33,7 @@
         <dependency>
             <groupId>com.github.yulichang</groupId>
             <artifactId>mybatis-plus-join-boot-starter</artifactId>
-            <version>1.4.13</version>
+            <version>1.5.2</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 5 - 0
entity/src/main/java/com/kym/entity/admin/vo/ActivityVo.java

@@ -24,6 +24,11 @@ public class ActivityVo extends BaseEntity {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 活动id
+     */
+    private Long activityId;
+
     /**
      * 活动名称
      */

+ 2 - 2
mapper/src/main/java/com/kym/mapper/admin/ActivityStationMapper.java

@@ -1,7 +1,7 @@
 package com.kym.mapper.admin;
 
-import com.github.yulichang.base.MPJBaseMapper;
 import com.kym.entity.admin.ActivityStation;
+import com.kym.mapper.mybatisplus.MyBaseMapper;
 
 /**
  * <p>
@@ -11,6 +11,6 @@ import com.kym.entity.admin.ActivityStation;
  * @author skyline
  * @since 2023-10-18
  */
-public interface ActivityStationMapper extends MPJBaseMapper<ActivityStation> {
+public interface ActivityStationMapper extends MyBaseMapper<ActivityStation> {
 
 }

+ 4 - 0
service/src/main/java/com/kym/service/admin/ActivityStationService.java

@@ -2,6 +2,9 @@ package com.kym.service.admin;
 
 import com.github.yulichang.base.MPJBaseService;
 import com.kym.entity.admin.ActivityStation;
+import com.kym.entity.admin.vo.ActivityVo;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.kym.entity.admin.ActivityStation;
  */
 public interface ActivityStationService extends MPJBaseService<ActivityStation> {
 
+    List<ActivityVo> getActivityVoList(List<Long> activityIdList);
 }

+ 25 - 2
service/src/main/java/com/kym/service/admin/impl/ActivityStationServiceImpl.java

@@ -1,11 +1,17 @@
 package com.kym.service.admin.impl;
 
-import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.kym.entity.admin.ActivityStation;
+import com.kym.entity.admin.Station;
+import com.kym.entity.admin.vo.ActivityVo;
 import com.kym.mapper.admin.ActivityStationMapper;
 import com.kym.service.admin.ActivityStationService;
+import com.kym.service.mybatisplus.MyBaseServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 活动站点关联表 服务实现类
@@ -15,6 +21,23 @@ import org.springframework.stereotype.Service;
  * @since 2023-10-18
  */
 @Service
-public class ActivityStationServiceImpl extends MPJBaseServiceImpl<ActivityStationMapper, ActivityStation> implements ActivityStationService {
+public class ActivityStationServiceImpl extends MyBaseServiceImpl<ActivityStationMapper, ActivityStation> implements ActivityStationService {
+
+    /**
+     * 根据活动id查询活动站点关联表
+     *
+     * @param activityIdList
+     * @return
+     */
+    @Override
+    public List<ActivityVo> getActivityVoList(List<Long> activityIdList) {
+        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));
+        return selectJoinList(ActivityVo.class, wrapper);
+    }
+
 
 }

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

@@ -15,6 +15,7 @@ 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;
@@ -27,6 +28,7 @@ import com.kym.entity.wechat.WxPhoneNum;
 import com.kym.mapper.miniapp.MpRelationMapper;
 import com.kym.mapper.miniapp.UserMapper;
 import com.kym.service.admin.ActivityService;
+import com.kym.service.admin.ActivityStationService;
 import com.kym.service.admin.BannerService;
 import com.kym.service.admin.RechargeRightsService;
 import com.kym.service.miniapp.AccountService;
@@ -67,13 +69,15 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
     private final CarsService carsService;
     private final RechargeRightsService rechargeRightsService;
     private final ActivityService activityService;
+
+    private final ActivityStationService activityStationService;
     private final BannerService bannerService;
 
     private final MpRelationMapper mpRelationMapper;
 
 
     public UserServiceImpl(WxConfig wxConfig, @Lazy AccountService accountService, RefundLogService refundLogService,
-                           CarsService carsService, RechargeRightsService rechargeRightsService, @Lazy ActivityService activityService,
+                           CarsService carsService, RechargeRightsService rechargeRightsService, @Lazy ActivityService activityService, ActivityStationService activityStationService,
                            BannerService bannerService, MpRelationMapper mpRelationMapper) {
         this.wxConfig = wxConfig;
         this.accountService = accountService;
@@ -81,6 +85,7 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
         this.carsService = carsService;
         this.rechargeRightsService = rechargeRightsService;
         this.activityService = activityService;
+        this.activityStationService = activityStationService;
         this.bannerService = bannerService;
         this.mpRelationMapper = mpRelationMapper;
     }
@@ -162,12 +167,14 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
         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));
         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);