puzhibing
2 天以前 c7ac989e5a693bf29efb4fbaee16770442ea41a0
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/LotteryEventController.java
@@ -1,12 +1,18 @@
package com.ruoyi.goods.controller.concole;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TUserLotteryEvent;
import com.ruoyi.goods.service.lottery.ILotteryEventService;
import com.ruoyi.goods.service.lottery.IUserLotteryEventService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
@@ -19,21 +25,35 @@
   
   @Resource
   private ILotteryEventService lotteryEventService;
   @Resource
   private IUserLotteryEventService userLotteryEventService;
   
   
   /**
    * 根据开启方式获取活动列表
    *
    * @param activityType
    * @param getLotteryEventList
    * @return
    */
   @ResponseBody
   @PostMapping("/getLotteryEventList")
   public R<List<TLotteryEvent>> getLotteryEventList(@RequestParam("activityType") Integer activityType) {
      List<TLotteryEvent> list = lotteryEventService.list(new LambdaQueryWrapper<TLotteryEvent>().eq(TLotteryEvent::getActivityType, activityType)
   public R<List<TLotteryEvent>> getLotteryEventList(@RequestBody GetLotteryEventList getLotteryEventList) {
        Integer activityType = getLotteryEventList.getActivityType();
        Long userId = getLotteryEventList.getUserId();
        List<TLotteryEvent> list = lotteryEventService.list(new LambdaQueryWrapper<TLotteryEvent>().eq(TLotteryEvent::getActivityType, activityType)
            .eq(TLotteryEvent::getDelFlag, 0).last(" and now() between start_time and end_time"));
      //分享抽奖,需要判断最后一次抽奖间隔时间
      if(activityType == 3 && !list.isEmpty()){
         TLotteryEvent lotteryEvent = list.get(0);
         Integer intervalTime = lotteryEvent.getIntervalTime();
         TUserLotteryEvent one = userLotteryEventService.getOne(new QueryWrapper<TUserLotteryEvent>().eq("user_id", userId).eq("lottery_event_id", lotteryEvent.getId()).last(" order by create_time desc limit 0, 1"));
         //当前时间小于间隔时间
         if(null != one && one.getCreateTime().plusDays(intervalTime).compareTo(LocalDateTime.now()) > 0){
            return R.ok(new ArrayList<>());
         }
      }
      return R.ok(list);
   }
   
}