From 8059e9b991c15edbac508e6b658a0d9571d11b1c Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 01 八月 2025 12:46:00 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java | 261 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 168 insertions(+), 93 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java index f7beca2..c85351c 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java @@ -16,12 +16,13 @@ import com.ruoyi.goods.domain.vo.*; import com.ruoyi.goods.mapper.lottery.LotteryEventMapper; import com.ruoyi.goods.service.lottery.*; +import com.ruoyi.system.api.domain.dto.IntegralChangeDto; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.system.api.domain.poji.shop.Shop; -import com.ruoyi.system.api.service.RemoteCouponService; -import com.ruoyi.system.api.service.RemoteMemberService; -import com.ruoyi.system.api.service.RemoteShopService; +import com.ruoyi.system.api.model.AddIntegralRecordVo; +import com.ruoyi.system.api.model.AddOrderVo; +import com.ruoyi.system.api.service.*; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.stereotype.Service; @@ -39,7 +40,7 @@ * @Date 2025/5/8 18:05 */ @Service -public class LotteryEventServiceImpl extends ServiceImpl<LotteryEventMapper, LotteryEvent> implements ILotteryEventService { +public class LotteryEventServiceImpl extends ServiceImpl<LotteryEventMapper, TLotteryEvent> implements ILotteryEventService { @Resource private IUserLotteryEventService userLotteryEventService; @@ -67,6 +68,9 @@ @Resource private ILotteryEventQuestionsService lotteryEventQuestionsService; + + @Resource + private RemoteOrderService remoteOrderService; /** * 根据id查询抽奖活动信息 @@ -75,26 +79,22 @@ * @return */ @Override - public LotteryEventVo getLotteryEvent(String id) { + public LotteryEventVo getLotteryEvent(String id, String orderId) { Long userId = SecurityUtils.getUserId(); - LotteryEvent lotteryEvent = this.getById(id); + TLotteryEvent lotteryEvent = this.getById(id); //构建返回结果 LotteryEventVo vo = new LotteryEventVo(); vo.setId(lotteryEvent.getId()); vo.setName(lotteryEvent.getName()); vo.setActivityProfile(lotteryEvent.getActivityProfile()); - List<UserLotteryEvent> userLotteryEvents = userLotteryEventService.list(new QueryWrapper<UserLotteryEvent>().eq("lottery_event_id", id)); - vo.setLaveTimes(lotteryEvent.getTimes() - userLotteryEvents.size()); - //查询抽检活动奖品 - List<LotteryEventPrize> lotteryEventPrizeList = lotteryEventPrizeService.list(new QueryWrapper<LotteryEventPrize>().eq("lottery_event_id", id)); - vo.setPrizeList(lotteryEventPrizeList); - //答题正确率 - if (5 == lotteryEvent.getActivityType()) { - UserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsAnswersService.getOne(new QueryWrapper<UserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId)); - if (null == questionsServiceOne) { - vo.setCorrectAnswerRate(questionsServiceOne.getCorrectAnswerRate()); - } + QueryWrapper<TUserLotteryEvent> wrapper = new QueryWrapper<TUserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId); + //下单抽奖 + if(2 == lotteryEvent.getActivityType()){ + wrapper.eq("order_id", orderId); } + List<TUserLotteryEvent> userLotteryEvents = userLotteryEventService.list(wrapper); + vo.setLaveTimes(lotteryEvent.getTimes() - userLotteryEvents.size()); + //构建我的奖品明细 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm"); List<UserLotteryEventVo> collect = userLotteryEvents.stream().map(s -> { @@ -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()) { @@ -115,6 +117,17 @@ return userLotteryEventVo; }).collect(Collectors.toList()); vo.setYourPrizeList(collect); + + //查询抽奖活动奖品 + List<TLotteryEventPrize> lotteryEventPrizeList = lotteryEventPrizeService.list(new QueryWrapper<TLotteryEventPrize>().eq("lottery_event_id", id)); + vo.setPrizeList(lotteryEventPrizeList); + //答题正确率 + if (5 == lotteryEvent.getActivityType()) { + TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsAnswersService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId)); + if (null != questionsServiceOne) { + vo.setCorrectAnswerRate(questionsServiceOne.getCorrectAnswerRate()); + } + } return vo; } @@ -126,13 +139,13 @@ * @return */ @Override - public R lotteryDraw(String id) { + public R<TLotteryEventPrize> lotteryDraw(String id, String orderId) { Long userId = SecurityUtils.getUserId(); Member member = remoteMemberService.getMember(userId).getData(); - LotteryEvent lotteryEvent = this.getById(id); + TLotteryEvent lotteryEvent = this.getById(id); //判断答题抽奖是否满足抽奖条件 if (lotteryEvent.getActivityType() == 5) { - UserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsAnswersService.getOne(new QueryWrapper<UserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId)); + TUserLotteryEventQuestions questionsServiceOne = userLotteryEventQuestionsAnswersService.getOne(new QueryWrapper<TUserLotteryEventQuestions>().eq("lottery_event_id", id).eq("user_id", userId)); if (questionsServiceOne.getCorrectAnswerRate().compareTo(lotteryEvent.getAccuracy()) < 0) { return R.fail("答题抽奖失败,答题正确率低于活动要求"); } @@ -144,17 +157,17 @@ boolean tryLock = lock.tryLock(30, TimeUnit.SECONDS); if (tryLock) { //判断抽奖次数是否用完 - int count = userLotteryEventService.count(new QueryWrapper<UserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId)); + int count = userLotteryEventService.count(new QueryWrapper<TUserLotteryEvent>().eq("lottery_event_id", id).eq("user_id", userId).eq("order_id", orderId)); if (lotteryEvent.getTimes() <= count) { return R.fail("抽奖次数已用完"); } - List<LotteryEventPrize> lotteryEventPrizeList = lotteryEventPrizeService.list(new QueryWrapper<LotteryEventPrize>().eq("lottery_event_id", id)); + List<TLotteryEventPrize> lotteryEventPrizeList = lotteryEventPrizeService.list(new QueryWrapper<TLotteryEventPrize>().eq("lottery_event_id", id)); //开始抽奖,根据中奖概率来抽奖 - List<LotteryEventPrize> list = new ArrayList<>(); - for (LotteryEventPrize lotteryEventPrize : lotteryEventPrizeList) { + List<TLotteryEventPrize> list = new ArrayList<>(); + for (TLotteryEventPrize lotteryEventPrize : lotteryEventPrizeList) { int winRate = lotteryEventPrize.getWinRate().intValue(); for (int i = 0; i < winRate; i++) { - LotteryEventPrize event = new LotteryEventPrize(); + TLotteryEventPrize event = new TLotteryEventPrize(); BeanUtil.copyProperties(lotteryEventPrize, event); list.add(event); } @@ -163,9 +176,9 @@ Collections.shuffle(list); //开始获取随机数 int random = new Random().nextInt(list.size()); - LotteryEventPrize lotteryEventPrize = lotteryEventPrizeList.get(random); + TLotteryEventPrize lotteryEventPrize = list.get(random); //添加中奖商品 - UserLotteryEvent userLotteryEvent = new UserLotteryEvent(); + TUserLotteryEvent userLotteryEvent = new TUserLotteryEvent(); userLotteryEvent.setId(IdUtils.simpleUUID()); userLotteryEvent.setUserId(userId); userLotteryEvent.setLotteryEventId(id); @@ -174,13 +187,22 @@ userLotteryEvent.setObjectId(lotteryEventPrize.getObjectId()); userLotteryEvent.setObjectName(lotteryEventPrize.getObjectName()); userLotteryEvent.setNumber(lotteryEventPrize.getNumber()); + userLotteryEvent.setOrderId(orderId); //中奖优惠券 if (1 == lotteryEventPrize.getPrizeType()) { - remoteCouponService.addMemberCoupon(lotteryEventPrize.getObjectId(), lotteryEventPrize.getNumber(), userId); + AddMemberCoupon addMemberCoupon = new AddMemberCoupon(); + addMemberCoupon.setCouponId(lotteryEventPrize.getObjectId()); + addMemberCoupon.setNumber(lotteryEventPrize.getNumber()); + addMemberCoupon.setUserId(userId); + remoteCouponService.addMemberCoupon(addMemberCoupon); } //中奖积分 if (4 == lotteryEventPrize.getPrizeType()) { - remoteMemberService.addIntegralRecord(lotteryEventPrize.getNumber(), userId, id); + AddIntegralRecordVo addIntegralRecordVo = new AddIntegralRecordVo(); + addIntegralRecordVo.setIntegral(lotteryEventPrize.getNumber()); + addIntegralRecordVo.setUserId(userId); + addIntegralRecordVo.setOrderId(id); + remoteMemberService.addIntegralRecord(addIntegralRecordVo); } userLotteryEvent.setCreateTime(LocalDateTime.now()); userLotteryEventService.save(userLotteryEvent); @@ -192,33 +214,56 @@ memberGiftRecord.setGiftId(userLotteryEvent.getId()); memberGiftRecord.setGiftFrom(1); memberGiftRecord.setShopId(member.getRelationShopId()); + memberGiftRecord.setVerifyStatus(1); switch (lotteryEventPrize.getPrizeType()) { case 1: memberGiftRecord.setGiftType(1); memberGiftRecord.setCouponId(userLotteryEvent.getObjectId()); memberGiftRecord.setCouponNumber(userLotteryEvent.getNumber()); + memberGiftRecord.setCouponName(userLotteryEvent.getObjectName()); + memberGiftRecord.setVerifyStatus(2); + memberGiftRecord.setVerifyTime(new Date()); break; case 2: memberGiftRecord.setGiftType(2); memberGiftRecord.setGoodsId(userLotteryEvent.getObjectId()); - memberGiftRecord.setGiftName(userLotteryEvent.getObjectName()); memberGiftRecord.setGoodsNumber(userLotteryEvent.getNumber()); + memberGiftRecord.setGoodsName(userLotteryEvent.getObjectName()); + //添加待核销订单 + AddOrderVo orderVo = new AddOrderVo(); + orderVo.setShopId(member.getRelationShopId()); + orderVo.setUserId(member.getUserId()); + orderVo.setId(userLotteryEvent.getId()); + orderVo.setGoodsId(userLotteryEvent.getObjectId()); + orderVo.setGoodsNum(userLotteryEvent.getNumber()); + remoteOrderService.addOrder(orderVo); break; case 3: memberGiftRecord.setGiftType(4); memberGiftRecord.setGiftName(userLotteryEvent.getObjectName()); memberGiftRecord.setGiftNumber(userLotteryEvent.getNumber()); + //添加待核销订单 + AddOrderVo orderVo1 = new AddOrderVo(); + orderVo1.setShopId(member.getRelationShopId()); + orderVo1.setUserId(member.getUserId()); + orderVo1.setId(userLotteryEvent.getId()); + orderVo1.setGoodsName(userLotteryEvent.getObjectName()); + orderVo1.setGoodsNum(userLotteryEvent.getNumber()); + remoteOrderService.addOrder(orderVo1); break; case 4: memberGiftRecord.setGiftType(5); memberGiftRecord.setIntegralNumber(userLotteryEvent.getNumber()); + memberGiftRecord.setVerifyStatus(2); + memberGiftRecord.setVerifyTime(new Date()); break; } memberGiftRecord.setPrizeFrom(2); memberGiftRecord.setCreateTime(new Date()); - memberGiftRecord.setVerifyStatus(1); - remoteMemberService.saveMemberGiftRecord(memberGiftRecord); - return R.ok(); + if(5 != lotteryEventPrize.getPrizeType()){ + remoteMemberService.saveMemberGiftRecord(memberGiftRecord); + } + return R.ok(lotteryEventPrize); } } catch (Exception e) { e.printStackTrace(); @@ -258,12 +303,14 @@ @Transactional public R editLotteryEvent(MgtLotteryEventEditDTO dto) { //先检查开始-结束时间范围内,系统中是否有该活动 - List<LotteryEvent> lotteryEvents = this.baseMapper.selectList(new LambdaQueryWrapper<LotteryEvent>() - .eq(LotteryEvent::getDelFlag, 0)//未删除的 - .eq(LotteryEvent::getActivityType, dto.getActivityType())//类型相同的 - .between(LotteryEvent::getStartTime, dto.getStartTime(), dto.getEndTime())//开始时间在这个活动的(开始-结束)范围内的 + List<TLotteryEvent> lotteryEvents = this.baseMapper.selectList(new LambdaQueryWrapper<TLotteryEvent>() + .eq(TLotteryEvent::getDelFlag, 0)//未删除的 + .eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的 + .between(TLotteryEvent::getStartTime, dto.getStartTime(), dto.getEndTime())//开始时间在这个活动的(开始-结束)范围内的 .or() - .between(LotteryEvent::getEndTime, dto.getStartTime(), dto.getEndTime())//结束时间在这个活动的(开始-结束)范围内的 + .eq(TLotteryEvent::getDelFlag, 0)//未删除的 + .eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的 + .between(TLotteryEvent::getEndTime, dto.getStartTime(), dto.getEndTime())//结束时间在这个活动的(开始-结束)范围内的 ); if (null != lotteryEvents && !lotteryEvents.isEmpty()) { // 新增记录时直接返回错误 @@ -277,55 +324,56 @@ return R.fail("编辑抽奖活动与现有其他活动时间范围冲突"); } } - LotteryEvent lotteryEvent = new LotteryEvent(); + TLotteryEvent lotteryEvent = new TLotteryEvent(); if (null != dto.getId()) { //编辑 lotteryEvent=this.baseMapper.selectById(dto.getId()); - if (null == lotteryEvent||lotteryEvent.getDelFlag() != 0) { + if (null == lotteryEvent || lotteryEvent.getDelFlag() != 0) { return R.fail("该抽奖活动已被删除"); } if (!lotteryEvent.getActivityType().equals(dto.getActivityType())) { return R.fail("编辑抽奖活动不能修改开启方式"); } - if(!lotteryEvent.getName().equals(dto.getName())) { + if (!lotteryEvent.getName().equals(dto.getName())) { return R.fail("编辑抽奖活动不能修改抽奖名称"); } //答题类型 - if (lotteryEvent.getActivityType().equals(5)){ - //将之前的题干数据、答案选项数据删除 + if (lotteryEvent.getActivityType().equals(5)) { + //将之前的题干数据、答案选项数据删除 //先删除答案选项数据 - lotteryEventQuestionsAnswersService.remove(new LambdaQueryWrapper<LotteryEventQuestionsAnswers>() - .eq(LotteryEventQuestionsAnswers::getLotteryEventId,lotteryEvent.getId())); + lotteryEventQuestionsAnswersService.remove(new LambdaQueryWrapper<TLotteryEventQuestionsAnswers>() + .eq(TLotteryEventQuestionsAnswers::getLotteryEventId, lotteryEvent.getId())); //再删除题干数据 - lotteryEventQuestionsService.remove(new LambdaQueryWrapper<LotteryEventQuestions>() - .eq(LotteryEventQuestions::getLotteryEventId,lotteryEvent.getId())); + lotteryEventQuestionsService.remove(new LambdaQueryWrapper<TLotteryEventQuestions>() + .eq(TLotteryEventQuestions::getLotteryEventId, lotteryEvent.getId())); } //奖品数据删除 - /*lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>() - .eq(LotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/ + /*lotteryEventPrizeService.remove(new LambdaQueryWrapper<TLotteryEventPrize>() + .eq(TLotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/ lotteryEventPrizeService.deleteByLotteryEventId(lotteryEvent.getId()); } //新增 BeanUtils.copyProperties(dto, lotteryEvent); + lotteryEvent.setDelFlag(0); if (dto.getId() == null) { lotteryEvent.setId(IdUtils.simpleUUID()); lotteryEvent.setCreateTime(LocalDateTime.now()); lotteryEvent.setCreateUserId(dto.getUserId()); - }else { + } else { lotteryEvent.setUpdateTime(LocalDateTime.now()); lotteryEvent.setUpdateUserId(dto.getUserId()); } //保存抽奖活动 this.saveOrUpdate(lotteryEvent); // 保存奖品数据 - LotteryEvent finalLotteryEvent = lotteryEvent;//jdk8及之后 变量在初始化后确实没有被重新赋值,可直接引用,无需显式声明为 final - List<LotteryEventPrize> prizeList = dto.getMgtLotteryEventPrizeDTOList().stream() + TLotteryEvent finalLotteryEvent = lotteryEvent;//jdk8及之后 变量在初始化后确实没有被重新赋值,可直接引用,无需显式声明为 final + List<TLotteryEventPrize> prizeList = dto.getMgtLotteryEventPrizeDTOList().stream() .map(prizeDTO -> { - LotteryEventPrize prize = new LotteryEventPrize(); + TLotteryEventPrize prize = new TLotteryEventPrize(); prize.setId(IdUtils.simpleUUID()); prize.setLotteryEventId(finalLotteryEvent.getId()); prize.setPrizeType(prizeDTO.getPrizeType()); - if (null != prizeDTO.getObjectId()){ + if (null != prizeDTO.getObjectId()) { prize.setObjectId(prizeDTO.getObjectId()); } prize.setObjectName(prizeDTO.getObjectName()); @@ -339,20 +387,20 @@ if (dto.getActivityType().equals(5)) { //保存题干数据 for (MgtLotteryEventQuestionDTO questionDTO : dto.getMgtLotteryQuestionDTOList()) { - LotteryEventQuestions question = new LotteryEventQuestions(); + TLotteryEventQuestions question = new TLotteryEventQuestions(); question.setId(IdUtils.simpleUUID()); question.setLotteryEventId(finalLotteryEvent.getId()); question.setName(questionDTO.getName()); question.setSort(questionDTO.getSort()); lotteryEventQuestionsService.save(question); //保存答案选项数据 - List<LotteryEventQuestionsAnswers> answersList = questionDTO.getAnswersDTOList().stream() + List<TLotteryEventQuestionsAnswers> answersList = questionDTO.getAnswersDTOList().stream() .map(answersDTO -> { - LotteryEventQuestionsAnswers answer = new LotteryEventQuestionsAnswers(); + TLotteryEventQuestionsAnswers answer = new TLotteryEventQuestionsAnswers(); answer.setId(IdUtils.simpleUUID()); answer.setLotteryEventId(finalLotteryEvent.getId()); answer.setLotteryEventQuestionsId(question.getId()); - answer.setAnswer(answersDTO.getAnswer()); + answer.setAnswers(answersDTO.getAnswers()); answer.setIsRight(answersDTO.getIsRight()); return answer; }).collect(Collectors.toList()); @@ -363,11 +411,17 @@ } @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){ //根据 条件-创建对象 模糊查找门店集合 - List<Shop> shopList=remoteShopService.getShopListByShopName(dto.getCreateObject()); + shopList=remoteShopService.getShopListByShopName(dto.getCreateObject()); if (null != shopList && !shopList.isEmpty()) { List<Long> shopIds = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); dto.setShopIds(shopIds); @@ -383,53 +437,66 @@ } 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 { //线下抽奖,获取门店名称 - x.setCreateObject(map.get(Long.valueOf(x.getShopId())).getShopName()); + x.setActivityType(6); + if(map.containsKey(Long.valueOf(x.getShopId()))){ + x.setCreateObject(map.get(Long.valueOf(x.getShopId())).getShopName()); + }else { + Shop shop = remoteShopService.getShop(Long.valueOf(x.getShopId())).getData(); + if (null != shop){ + x.setCreateObject(shop.getShopName()); + } + } + } }); - return voList; + page.setRecords(voList); + return page; } @Override public R<MgtLotteryEventDetailVO> getLotteryEventDetailById(String id) { - LotteryEvent lotteryEvent = this.getById(id); + TLotteryEvent lotteryEvent = this.getById(id); if (null == lotteryEvent) { return R.fail("该抽奖活动不存在"); } MgtLotteryEventDetailVO vo = new MgtLotteryEventDetailVO(); BeanUtils.copyProperties(lotteryEvent, vo); - if (lotteryEvent.getActivityType()==6){ - //线下抽奖 取商户名称 - Shop data = remoteShopService.getShop(Long.valueOf(lotteryEvent.getShopId())).getData(); - if (null != data){ - vo.setShopName(data.getShopName()); - } + + if(lotteryEvent.getActivityType()==5){ //题干数据 - List<LotteryEventQuestions> questionsList = lotteryEventQuestionsService.getBaseMapper().selectList(new LambdaQueryWrapper<LotteryEventQuestions>().eq(LotteryEventQuestions::getLotteryEventId, lotteryEvent.getId())); + List<TLotteryEventQuestions> questionsList = lotteryEventQuestionsService.getBaseMapper().selectList(new LambdaQueryWrapper<TLotteryEventQuestions>().eq(TLotteryEventQuestions::getLotteryEventId, lotteryEvent.getId())); List<MgtLotteryEventQuestionVO> questionsVOList = questionsList.stream().map(question -> { MgtLotteryEventQuestionVO questionVO = new MgtLotteryEventQuestionVO(); BeanUtils.copyProperties(question, questionVO); //答案选项数据 - List<LotteryEventQuestionsAnswers> answersList = lotteryEventQuestionsAnswersService.getBaseMapper().selectList(new LambdaQueryWrapper<LotteryEventQuestionsAnswers>() - .eq(LotteryEventQuestionsAnswers::getLotteryEventId, lotteryEvent.getId()) - .eq(LotteryEventQuestionsAnswers::getLotteryEventQuestionsId, questionVO.getLotteryEventId())); + List<TLotteryEventQuestionsAnswers> answersList = lotteryEventQuestionsAnswersService.getBaseMapper().selectList(new LambdaQueryWrapper<TLotteryEventQuestionsAnswers>() + .eq(TLotteryEventQuestionsAnswers::getLotteryEventId, lotteryEvent.getId()) + .eq(TLotteryEventQuestionsAnswers::getLotteryEventQuestionsId, questionVO.getId())); questionVO.setAnswersVOList(answersList); return questionVO; }).collect(Collectors.toList()); //题干数据排序 // 自定义 Comparator 实现 - Comparator<LotteryEventQuestions> sortComparator = new Comparator<LotteryEventQuestions>() { + Comparator<TLotteryEventQuestions> sortComparator = new Comparator<TLotteryEventQuestions>() { @Override - public int compare(LotteryEventQuestions q1, LotteryEventQuestions q2) { + public int compare(TLotteryEventQuestions q1, TLotteryEventQuestions q2) { return Integer.compare(q1.getSort(), q2.getSort()); } }; @@ -438,32 +505,40 @@ vo.setMgtLotteryQuestionVOList(questionsVOList); } //奖项信息 - List<LotteryEventPrize> prizeList = lotteryEventPrizeService.getBaseMapper().selectList(new LambdaQueryWrapper<LotteryEventPrize>() - .eq(LotteryEventPrize::getLotteryEventId, lotteryEvent.getId())); + /*List<TLotteryEventPrize> prizeList = lotteryEventPrizeService.getBaseMapper().selectList(new LambdaQueryWrapper<TLotteryEventPrize>() + .eq(TLotteryEventPrize::getLotteryEventId, lotteryEvent.getId()));*/ + List<TLotteryEventPrize> prizeList = lotteryEventPrizeService.getPrizeListByLotteryEventId(lotteryEvent.getId()); vo.setLotteryEventPrizeList(prizeList); - + if(null!=lotteryEvent.getShopId()){ + //线下抽奖 取商户名称 + Shop data = remoteShopService.getShop(Long.valueOf(lotteryEvent.getShopId())).getData(); + if (null != data) { + vo.setShopName(data.getShopName()); + } + } return R.ok(vo); } @Override public R deleteMgtLotteryEvent(String id) { - LotteryEvent lotteryEvent = this.getById(id); + TLotteryEvent lotteryEvent = this.getById(id); if (null == lotteryEvent || lotteryEvent.getDelFlag()!=0) { return R.ok(); } //1.奖品数据删除 -/* lotteryEventPrizeService.remove(new LambdaQueryWrapper<LotteryEventPrize>() - .eq(LotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/ +/* lotteryEventPrizeService.remove(new LambdaQueryWrapper<TLotteryEventPrize>() + .eq(TLotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/ + lotteryEventPrizeService.deleteByLotteryEventId(lotteryEvent.getId()); //2.答题类型 - if (lotteryEvent.getActivityType().equals(5)){ + if (lotteryEvent.getActivityType().equals(5)) { //先删除答案选项数据 - lotteryEventQuestionsAnswersService.remove(new LambdaQueryWrapper<LotteryEventQuestionsAnswers>() - .eq(LotteryEventQuestionsAnswers::getLotteryEventId,lotteryEvent.getId())); + lotteryEventQuestionsAnswersService.remove(new LambdaQueryWrapper<TLotteryEventQuestionsAnswers>() + .eq(TLotteryEventQuestionsAnswers::getLotteryEventId, lotteryEvent.getId())); //再删除题干数据 - lotteryEventQuestionsService.remove(new LambdaQueryWrapper<LotteryEventQuestions>() - .eq(LotteryEventQuestions::getLotteryEventId,lotteryEvent.getId())); + lotteryEventQuestionsService.remove(new LambdaQueryWrapper<TLotteryEventQuestions>() + .eq(TLotteryEventQuestions::getLotteryEventId, lotteryEvent.getId())); } //3.抽奖活动删除 lotteryEvent.setDelFlag(1); @@ -473,7 +548,7 @@ @Override public R endImmediatelyLotteryEvent(String id) { - LotteryEvent lotteryEvent = this.getById(id); + TLotteryEvent lotteryEvent = this.getById(id); if (null == lotteryEvent || lotteryEvent.getDelFlag()!=0) { return R.fail("该抽奖活动不存在"); } -- Gitblit v1.7.1