zhangkaikai 2 жил өмнө
parent
commit
7051470b82

+ 42 - 28
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java

@@ -392,24 +392,6 @@ public class UserTicketController extends BaseApiController {
         return getDataTable(ticketBoxList);
     }
 
-
-    @PostMapping("/ticket/list/underChannel")
-    @ApiOperation("查询门店下盲票组列表")
-    @ApiResponses(
-            @ApiResponse(code = 200, message = "查询成功", response = TicketBox.class)
-    )
-    public TableDataInfo listUnderChannel(@RequestBody TicketBoxQueryParam ticketBoxQueryParam) {
-        startPage();
-        QueryWrapper<TicketBox> ticketBoxQueryWrapper = new QueryWrapper<>();
-        ticketBoxQueryWrapper.eq("t1.status", TicketBoxStatusEnum.PUT_ON)
-                .eq("t1.sale_channel_type", TicketBoxSaleChannelTypeEnum.SHOP.getValue())
-                .eq("t2.channel_id", ticketBoxQueryParam.getChannelId());
-
-        List<TicketBox> ticketBoxList = ticketBoxService.listBySaleChannel(ticketBoxQueryWrapper);
-        return getDataTable(ticketBoxList);
-    }
-
-
     @PostMapping("/ticket/prize/list/{boxId}")
     @ApiOperation("查询盲票下奖品列表")
     public TableDataInfo listPrize(@PathVariable("boxId") String boxId) {
@@ -443,26 +425,60 @@ public class UserTicketController extends BaseApiController {
         if (null == ticket) {
             return AjaxResult.error("参数异常,盲票不存在");
         }
-
         TicketBox ticketBox = ticketBoxService.getById(ticket.getBoxId());
         if (ticketBox.getIsEncrypt() == 1 && match) {
             LogUtil.error(logger, "非法访问,serialNo:{0},param:{1}", serialNo, param);
             return AjaxResult.error("非法访问!");
         }
-
-
-    /*if (ticket.getStatus() == TicketStatusEnum.CASHED) {
-      return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1017);
-    }*/
         TicketPackage ticketPackage = ticketPackageService.getById(ticket.getPkgId());
-        if (ticketPackage.getStatus() != TicketPkgStatusEnum.SOLD) {
+        //盲票状态:2已激活、3已兑奖、4付款中'
+        //处理线下票停售(type线下票。status已上架或已下架)
+        //判断盲票是否付款
+        // 未付款
+        AjaxResult ajaxResult = null;
+        if(ticket.getStatus().equals(TicketStatusEnum.STOP)){
+            LogUtil.warn(logger, "该盲票已停售", new Object[]{ticket.getSerialNo(), ticket.getPkgId()});
+            return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1027);
+        }
+        //未激活
+        if (ticketPackage.getStatus() == TicketPkgStatusEnum.FOR_SALE) {
             LogUtil.warn(logger, "盲票未激活。sn:{0},pkgId:{1}", new Object[]{ticket.getSerialNo(), ticket.getPkgId()});
+            if(ticketBox.getStatus().equals(TicketBoxStatusEnum.STOP)){
+                LogUtil.warn(logger, "该盲票已停售", new Object[]{ticket.getSerialNo(), ticket.getPkgId()});
+                return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1027);
+            }
             return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1023);
+        }else if(ticketPackage.getStatus() == TicketPkgStatusEnum.SOLD){
+            //盲票已激活
+            LogUtil.warn(logger, "盲票已激活", new Object[]{ticket.getSerialNo(), ticket.getPkgId()});
+            if(ticket.getStatus().equals(TicketStatusEnum.NOT_PAY)){
+                if(ticketBox.getStatus().equals(TicketBoxStatusEnum.STOP)){
+                    LogUtil.warn(logger, "该盲票已停售", new Object[]{ticket.getSerialNo(), ticket.getPkgId()});
+                    return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1027);
+                }
+                ajaxResult = queryLuckyNumTrue(ticketPackage, ticket, ticketBox);
+            }else if(ticket.getStatus().equals(TicketStatusEnum.STOP)){
+                return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1027);
+            }else{
+                ajaxResult = queryLuckyNumTrue(ticketPackage, ticket, ticketBox);
+            }
         }
+        return ajaxResult;
+    }
 
+    /**
+     * 正常查询幸运数字的逻辑
+     * @param ticketPackage
+     * @param ticket
+     * @param ticketBox
+     * @return
+     */
+    private AjaxResult queryLuckyNumTrue(TicketPackage ticketPackage,Ticket ticket,TicketBox ticketBox) {
+        /*if (ticket.getStatus() == TicketStatusEnum.CASHED) {
+          return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1017);
+        }*/
         ChannelOrderDetail channelOrderDetail = channelOrderDetailService.getOne(
             new LambdaQueryWrapper<ChannelOrderDetail>().eq(ChannelOrderDetail::getPkgId, ticketPackage.getPkgId()));
-
         TicketVO ticketVO = new TicketVO();
         ticketVO.setPrizeList(ticketAwardsPrizeService.listPrizeVO(ticket.getBoxId()));
         ticketVO.setTicketId(ticket.getTicketId());
@@ -477,7 +493,6 @@ public class UserTicketController extends BaseApiController {
         if (channelOrderDetail != null) {
             ticketVO.setChannelId(channelOrderDetail.getChannelId());
         }
-
         // 设置奖项名
         if (Objects.nonNull(ticket.getPlainLuckyNum())) {
             List<TicketDrawNumDTO> drawNumDTOList = JSONObject.parseArray(ticket.getDrawNum(), TicketDrawNumDTO.class);
@@ -492,7 +507,6 @@ public class UserTicketController extends BaseApiController {
             // 预付票设置售价为0
             ticketVO.setSalePrice(0);
         }
-
         return AjaxResult.success(ticketVO);
     }