cup 2 ani în urmă
părinte
comite
a4ef8c8904

+ 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());