Pu Zhibing
14 小时以前 2cf783a1480050c0f13907c5fde625edee8fce62
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java
@@ -91,7 +91,7 @@
      //答题正确率
      if (5 == lotteryEvent.getActivityType()) {
         TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsAnswersService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId));
         if (null == questionsServiceOne) {
         if (null != questionsServiceOne) {
            vo.setCorrectAnswerRate(questionsServiceOne.getCorrectAnswerRate());
         }
      }
@@ -102,10 +102,12 @@
         userLotteryEventVo.setName(s.getObjectName());
         userLotteryEventVo.setPrizeType(s.getPrizeType());
         userLotteryEventVo.setNumber(s.getNumber());
         MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrizeByGiftId(s.getId()).getData();
         userLotteryEventVo.setVerifyCode("3-" + memberGiftRecord.getPrizeId());
         userLotteryEventVo.setIsVerify(1 == memberGiftRecord.getVerifyStatus() ? 0 : 1);
         userLotteryEventVo.setVerifyTime(null == memberGiftRecord.getVerifyTime() ? "" : sdf.format(memberGiftRecord.getVerifyTime()));
         if (Arrays.asList(2, 3).contains(s.getPrizeType())) {
            MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrizeByGiftId(s.getId()).getData();
            userLotteryEventVo.setVerifyCode("3-" + memberGiftRecord.getPrizeId());
            userLotteryEventVo.setIsVerify(1 == memberGiftRecord.getVerifyStatus() ? 0 : 1);
            userLotteryEventVo.setVerifyTime(null == memberGiftRecord.getVerifyTime() ? "" : sdf.format(memberGiftRecord.getVerifyTime()));
         }
         Member member = remoteMemberService.getMember(userId).getData();
         userLotteryEventVo.setVerifyShop("全部门店");
         if (null != member && null != member.getRelationShopId()) {
@@ -126,7 +128,7 @@
    * @return
    */
   @Override
   public R lotteryDraw(String id) {
   public R<TLotteryEventPrize> lotteryDraw(String id) {
      Long userId = SecurityUtils.getUserId();
      Member member = remoteMemberService.getMember(userId).getData();
      TLotteryEvent lotteryEvent = this.getById(id);
@@ -163,7 +165,7 @@
            Collections.shuffle(list);
            //开始获取随机数
            int random = new Random().nextInt(list.size());
            TLotteryEventPrize lotteryEventPrize = lotteryEventPrizeList.get(random);
            TLotteryEventPrize lotteryEventPrize = list.get(random);
            //添加中奖商品
            TUserLotteryEvent userLotteryEvent = new TUserLotteryEvent();
            userLotteryEvent.setId(IdUtils.simpleUUID());
@@ -218,7 +220,7 @@
            memberGiftRecord.setCreateTime(new Date());
            memberGiftRecord.setVerifyStatus(1);
            remoteMemberService.saveMemberGiftRecord(memberGiftRecord);
            return R.ok();
            return R.ok(lotteryEventPrize);
         }
      } catch (Exception e) {
         e.printStackTrace();
@@ -263,6 +265,8 @@
            .eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的
            .between(TLotteryEvent::getStartTime, dto.getStartTime(), dto.getEndTime())//开始时间在这个活动的(开始-结束)范围内的
            .or()
            .eq(TLotteryEvent::getDelFlag, 0)//未删除的
            .eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的
            .between(TLotteryEvent::getEndTime, dto.getStartTime(), dto.getEndTime())//结束时间在这个活动的(开始-结束)范围内的
      );
      if (null != lotteryEvents && !lotteryEvents.isEmpty()) {
@@ -364,9 +368,14 @@
   }
   @Override
   public List<MgtLotteryEventPageVo> pageMgtLotteryEvent(Page<MgtLotteryEventPageVo> page, MgtLotteryEventPageDto dto) {
   public Page<MgtLotteryEventPageVo> pageMgtLotteryEvent( MgtLotteryEventPageDto dto) {
      Map<Long,Shop> map;
      List<Shop> shopList;
      Page<MgtLotteryEventPageVo> page = new Page<>();
      page.setSize(dto.getPageSize());
      page.setCurrent(dto.getPageNum());
      page.setOptimizeCountSql(false);
      if (dto.getCreateObject()!=null){
         //根据 条件-创建对象 模糊查找门店集合
         shopList=remoteShopService.getShopListByShopName(dto.getCreateObject());
@@ -385,12 +394,17 @@
      } else {
            map = new HashMap<>();
        }
      //获取分页数据
      Long total=this.baseMapper.pageMgtLotteryEventCount( dto);
      page.setTotal(total);
      page.setCurrent(dto.getPageNum());
      page.setPages(total/dto.getPageSize());
        //获取分页信息
      List<MgtLotteryEventPageVo> voList = this.baseMapper.pageMgtLotteryEvent(page, dto);
      dto.setOffset((dto.getPageNum() - 1) * dto.getPageSize());
      List<MgtLotteryEventPageVo> voList = this.baseMapper.pageMgtLotteryEvent(dto);
      //填充创建对象
      voList.forEach(x->{
         if (x.getActivityType()!=6){
         if (null == x.getShopId()){
            x.setCreateObject("平台创建");
         }else {
            //线下抽奖,获取门店名称
@@ -406,7 +420,8 @@
         }
      });
      return voList;
      page.setRecords(voList);
      return page;
   }
   @Override
@@ -469,6 +484,7 @@
      //1.奖品数据删除
/*      lotteryEventPrizeService.remove(new LambdaQueryWrapper<TLotteryEventPrize>()
            .eq(TLotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/
      lotteryEventPrizeService.deleteByLotteryEventId(lotteryEvent.getId());
      //2.答题类型
      if (lotteryEvent.getActivityType().equals(5)) {