|
|
@@ -6,22 +6,19 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.kym.common.utils.CommUtil;
|
|
|
import com.kym.common.utils.IDGenerator;
|
|
|
-import com.kym.entity.admin.Activity;
|
|
|
-import com.kym.entity.admin.ActivityStation;
|
|
|
-import com.kym.entity.admin.RechargeRights;
|
|
|
-import com.kym.entity.admin.Station;
|
|
|
+import com.kym.entity.admin.*;
|
|
|
+import com.kym.entity.admin.delay.DelayActivity;
|
|
|
import com.kym.entity.admin.queryParams.ActivityQueryParam;
|
|
|
import com.kym.entity.admin.vo.ActivityVo;
|
|
|
import com.kym.entity.common.PageBean;
|
|
|
import com.kym.entity.miniapp.UserRechargeRights;
|
|
|
import com.kym.mapper.admin.ActivityMapper;
|
|
|
-import com.kym.service.admin.ActivityService;
|
|
|
-import com.kym.service.admin.ActivityStationService;
|
|
|
-import com.kym.service.admin.RechargeRightsService;
|
|
|
-import com.kym.service.admin.StationService;
|
|
|
+import com.kym.service.admin.*;
|
|
|
+import com.kym.service.jobs.DelayService;
|
|
|
import com.kym.service.miniapp.UserRechargeRightsService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -57,12 +54,18 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
|
|
|
private final RechargeRightsService rechargeRightsService;
|
|
|
private final UserRechargeRightsService userRechargeRightsService;
|
|
|
private final StationService stationService;
|
|
|
+ private final DelayService<DelayActivity> activityDelayService;
|
|
|
+ private final BannerService bannerService;
|
|
|
|
|
|
- public ActivityServiceImpl(ActivityStationService activityStationService, RechargeRightsService rechargeRightsService, UserRechargeRightsService userRechargeRightsService, StationService stationService) {
|
|
|
+ public ActivityServiceImpl(ActivityStationService activityStationService, RechargeRightsService rechargeRightsService,
|
|
|
+ UserRechargeRightsService userRechargeRightsService, StationService stationService,
|
|
|
+ @Lazy DelayService<DelayActivity> activityDelayService, BannerService bannerService) {
|
|
|
this.activityStationService = activityStationService;
|
|
|
this.rechargeRightsService = rechargeRightsService;
|
|
|
this.userRechargeRightsService = userRechargeRightsService;
|
|
|
this.stationService = stationService;
|
|
|
+ this.activityDelayService = activityDelayService;
|
|
|
+ this.bannerService = bannerService;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -95,6 +98,10 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
|
|
|
rechargeRightsService.saveBatch(rechargeRightsList);
|
|
|
activityVo.setRechargeRightsList(rechargeRightsList);
|
|
|
}
|
|
|
+
|
|
|
+ // 加入活动延迟启停队列
|
|
|
+ activityDelayService.addToDelayQueue(new DelayActivity(activity.getId(), activity.getName(), activity.getStartTime(), DelayActivity.TYPE_启动));
|
|
|
+ activityDelayService.addToDelayQueue(new DelayActivity(activity.getId(), activity.getName(), activity.getEndTime(), DelayActivity.TYPE_结束));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -149,6 +156,8 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
|
|
|
public void terminateActivity(String activityId) {
|
|
|
lambdaUpdate().set(Activity::getStatus, Activity.STATUS_已结束).eq(Activity::getId, activityId).update();
|
|
|
rechargeRightsService.lambdaUpdate().set(RechargeRights::getStatus, Activity.STATUS_已结束).eq(RechargeRights::getActivityId, activityId).update();
|
|
|
+ // 修改banner状态为失效
|
|
|
+ bannerService.lambdaUpdate().set(Banner::getStatus, Banner.STATUS_有效).eq(Banner::getActivityId, activityId).update();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -160,7 +169,7 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
|
|
|
@Override
|
|
|
@Async
|
|
|
public void handleRechargeActivity(long userId, int rechargeAmount) {
|
|
|
- asyncHandleRechargeActivity(userId,rechargeAmount);
|
|
|
+ asyncHandleRechargeActivity(userId, rechargeAmount);
|
|
|
// executor.execute(new RechargeActivityTask(userId, rechargeAmount));
|
|
|
}
|
|
|
|
|
|
@@ -175,7 +184,7 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
|
|
|
if (activity != null) {
|
|
|
var rechargeRights = rechargeRightsService.lambdaQuery().eq(RechargeRights::getActivityId, activity.getId())
|
|
|
.le(RechargeRights::getAmountMin, rechargeAmount)
|
|
|
- .gt(RechargeRights::getAmountMax, rechargeAmount)
|
|
|
+ .gt(RechargeRights::getAmountMax, rechargeAmount)
|
|
|
.one();
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
if (rechargeRights != null) {
|