|
@@ -6,20 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
|
|
|
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
|
|
|
-import com.qs.mp.admin.domain.Ticket;
|
|
|
-import com.qs.mp.admin.domain.TicketAwardsPrize;
|
|
|
-import com.qs.mp.admin.domain.TicketBox;
|
|
|
-import com.qs.mp.admin.domain.TicketPackage;
|
|
|
+import com.qs.mp.admin.domain.*;
|
|
|
import com.qs.mp.admin.domain.param.TicketBoxParam;
|
|
|
import com.qs.mp.admin.domain.param.TicketParam;
|
|
|
-import com.qs.mp.admin.domain.vo.TicketBoxListVO;
|
|
|
-import com.qs.mp.admin.domain.vo.TicketBoxVO;
|
|
|
-import com.qs.mp.admin.domain.vo.TicketListVO;
|
|
|
-import com.qs.mp.admin.domain.vo.TicketVO;
|
|
|
-import com.qs.mp.admin.service.ITicketAwardsPrizeService;
|
|
|
-import com.qs.mp.admin.service.ITicketBoxService;
|
|
|
-import com.qs.mp.admin.service.ITicketPackageService;
|
|
|
-import com.qs.mp.admin.service.ITicketService;
|
|
|
+import com.qs.mp.admin.domain.vo.*;
|
|
|
+import com.qs.mp.admin.service.*;
|
|
|
import com.qs.mp.common.core.domain.AjaxResult;
|
|
|
import com.qs.mp.common.core.page.TableDataInfo;
|
|
|
import com.qs.mp.common.enums.*;
|
|
@@ -29,6 +20,7 @@ import com.qs.mp.common.utils.StringUtils;
|
|
|
import com.qs.mp.framework.security.handle.HostHolder;
|
|
|
import com.qs.mp.user.domain.UserHitPrize;
|
|
|
import com.qs.mp.user.domain.UserTicketOrderItem;
|
|
|
+import com.qs.mp.user.domain.vo.TicketAwardsLabelVO;
|
|
|
import com.qs.mp.user.domain.vo.TicketHitPrizeBarrageVO;
|
|
|
import com.qs.mp.user.service.IUserExchangeOrderService;
|
|
|
import com.qs.mp.user.service.IUserHitPrizeService;
|
|
@@ -39,6 +31,8 @@ import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
|
import java.lang.reflect.Array;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
import java.util.*;
|
|
@@ -88,6 +82,9 @@ public class UserTicketController extends BaseApiController {
|
|
|
@Autowired
|
|
|
private IUserExchangeOrderService userExchangeOrderService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ITicketAwardsService ticketAwardsService;
|
|
|
+
|
|
|
/**
|
|
|
* 盲票进货列表
|
|
|
*/
|
|
@@ -125,7 +122,28 @@ public class UserTicketController extends BaseApiController {
|
|
|
}
|
|
|
TicketBox ticketBox = ticketBoxService.getById(param.getBoxId());
|
|
|
TicketBoxVO ticketBoxVO = mapperFacade.map(ticketBox, TicketBoxVO.class);
|
|
|
- ticketBoxVO.setPrizeList(ticketAwardsPrizeService.listPrizeVO(ticketBox.getBoxId()));
|
|
|
+ // 设置奖项标签信息
|
|
|
+ List<TicketAwardsLabelVO> ticketAwardsLabelVOS = new ArrayList<>();
|
|
|
+ for (AwardsLabelEnum awardsLabelEnum : AwardsLabelEnum.values()) {
|
|
|
+ TicketAwardsLabelVO ticketAwardsLabelVO = new TicketAwardsLabelVO();
|
|
|
+ ticketAwardsLabelVO.setLabelTitle(awardsLabelEnum.getValue());
|
|
|
+ ticketAwardsLabelVO.setPicUrl(awardsLabelEnum.getPicUrl());
|
|
|
+ Integer quantity = ticketBox.getQuantity();
|
|
|
+ QueryWrapper<TicketAwards> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("awards_label",awardsLabelEnum.getValue());
|
|
|
+ queryWrapper.eq("box_id",ticketBox.getBoxId());
|
|
|
+ Integer num = ticketAwardsService.groupSumQuantityByQueryWrapper(queryWrapper);
|
|
|
+ if (Objects.isNull(num) || num == 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ ticketAwardsLabelVO.setHitRate(new BigDecimal(num).divide(new BigDecimal(quantity),1,RoundingMode.HALF_UP));
|
|
|
+
|
|
|
+ ticketAwardsLabelVOS.add(ticketAwardsLabelVO);
|
|
|
+ }
|
|
|
+ ticketBoxVO.setTicketAwardsLabelList(ticketAwardsLabelVOS);
|
|
|
+
|
|
|
+ List<TicketAwardsPrizeVO> ticketAwardsPrizeVOS = ticketAwardsPrizeService.listPrizeVO(ticketBox.getBoxId());
|
|
|
+ ticketBoxVO.setPrizeList(ticketAwardsPrizeVOS);
|
|
|
return AjaxResult.success(ticketBoxVO);
|
|
|
}
|
|
|
|