chunping 3 жил өмнө
parent
commit
40167549b1

+ 11 - 4
mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketBoxServiceImpl.java

@@ -114,13 +114,20 @@ public class TicketBoxServiceImpl extends ServiceImpl<TicketBoxMapper, TicketBox
     // 创建奖级
     List<TicketAwards> ticketAwardsList = new ArrayList<>();
     List<TicketAwardsPrize> awardsPrizeList = new ArrayList<>();
-    for (TicketAwardsParam awardsParam : param.getAwardsList()) {
+    BigDecimal sumHitRate = BigDecimal.ZERO;
+    for (int i = 0; i < param.getAwardsList().size(); i ++) {
+      TicketAwardsParam awardsParam = param.getAwardsList().get(i);
       TicketAwards ticketAwards = mapperFacade.map(awardsParam, TicketAwards.class);
       ticketAwards.setAwardsId(bizIdGenerator.newId());
       ticketAwards.setBoxId(ticketBox.getBoxId());
-      BigDecimal hitRate = new BigDecimal(awardsParam.getQuantity()).divide(
-          new BigDecimal(ticketBox.getQuantity()), 4, RoundingMode.DOWN);
-      ticketAwards.setHitRate(hitRate);
+      if (i == param.getAwardsList().size() - 1) {
+        ticketAwards.setHitRate(new BigDecimal(100).subtract(sumHitRate));
+      } else {
+        BigDecimal hitRate = new BigDecimal(awardsParam.getQuantity() * 100).divide(
+            new BigDecimal(ticketBox.getQuantity()), 4, RoundingMode.DOWN);
+        sumHitRate.add(hitRate);
+        ticketAwards.setHitRate(hitRate);
+      }
       ticketAwardsList.add(ticketAwards);
 
       for (TicketAwardsPrizeParam prizeParam : awardsParam.getPrizeList()) {

+ 1 - 1
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderItemServiceImpl.java

@@ -38,7 +38,7 @@ public class UserTicketOrderItemServiceImpl extends ServiceImpl<UserTicketOrderI
 
     return getBaseMapper().listMyTicketVO(new QueryWrapper<UserTicketOrderItem>()
         .eq("t1.user_id", userId).eq("t2.status", UserTicketOrderStatusEnum.FINISHED)
-        .eq("t3.status", status));
+        .eq("t3.status", status).orderByDesc("t1.created_time"));
   }
 
   @Override