cup 2 년 전
부모
커밋
a4ef8c8904
1개의 변경된 파일12개의 추가작업 그리고 7개의 파일을 삭제
  1. 12 7
      mp-service/src/main/java/com/qs/mp/user/service/impl/UserHitPrizeServiceImpl.java

+ 12 - 7
mp-service/src/main/java/com/qs/mp/user/service/impl/UserHitPrizeServiceImpl.java

@@ -128,7 +128,7 @@ public class UserHitPrizeServiceImpl extends ServiceImpl<UserHitPrizeMapper, Use
         List<TicketAwardsPrize> ticketAwardsPrizeList = ticketAwardsPrizeService.list(new LambdaQueryWrapper<TicketAwardsPrize>()
                 .eq(TicketAwardsPrize::getBoxId, param.getBoxId()));
 
-        List<List<TicketAwardsPrize>> params = new ArrayList<>();
+        List<List<TicketAwardsPrize>> awardsPrizeList =  new ArrayList<>();
         int index = 0;
         for (int i = 0; i < 16; i++) {
             List<TicketAwardsPrize> list = new ArrayList<>();
@@ -142,17 +142,22 @@ public class UserHitPrizeServiceImpl extends ServiceImpl<UserHitPrizeMapper, Use
                 }
                 index++;
             }
-            params.add(list);
+            awardsPrizeList.add(list);
 
         }
-        userHitPrizeDetailVO.setTicketAwardsPrizeList(params);
+        userHitPrizeDetailVO.setTicketAwardsPrizeList(awardsPrizeList);
         if (param.getIsTry() == 1) {
-            List<TicketAwards> list = ticketAwardsService.list(new LambdaQueryWrapper<TicketAwards>()
+            List<TicketAwards> awardsList = ticketAwardsService.list(new LambdaQueryWrapper<TicketAwards>()
                     .eq(TicketAwards::getBoxId,param.getBoxId())
                     .orderByAsc(TicketAwards::getSort));
-            List<TicketAwardsPrize> prizeList = ticketAwardsPrizeService.list(new LambdaQueryWrapper<TicketAwardsPrize>()
-                    .eq(TicketAwardsPrize::getBoxId, param.getBoxId())
-                    .in(TicketAwardsPrize::getAwardsId, list.get(0).getAwardsId(),list.get(1).getAwardsId()));
+            LambdaQueryWrapper<TicketAwardsPrize> prizeListQueryWrapper = new LambdaQueryWrapper<TicketAwardsPrize>()
+                    .eq(TicketAwardsPrize::getBoxId, param.getBoxId());
+            if (awardsList.size() > 1) {
+                prizeListQueryWrapper.in(TicketAwardsPrize::getAwardsId, awardsList.get(0).getAwardsId(), awardsList.get(1).getAwardsId());
+            }else {
+                prizeListQueryWrapper.in(TicketAwardsPrize::getAwardsId, awardsList.get(0).getAwardsId());
+            }
+            List<TicketAwardsPrize> prizeList = ticketAwardsPrizeService.list(prizeListQueryWrapper);
             TicketAwardsPrize ticketAwardsPrize = prizeList.get(new Random().nextInt(prizeList.size()));
             userHitPrizeDetailVO.setPrizeId(ticketAwardsPrize.getPrizeId());
             userHitPrizeDetailVO.setPicUrl(ticketAwardsPrize.getPicUrl());