chunping преди 3 години
родител
ревизия
20bfe39888

+ 50 - 135
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java

@@ -14,32 +14,19 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.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.ITicketService;
-import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
-import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.PrizeStorageStatusEnum;
-import com.qs.mp.common.enums.TicketBoxStatusEnum;
 import com.qs.mp.common.enums.TicketStatusEnum;
-import com.qs.mp.common.enums.UserCouponStatusEnum;
-import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.user.domain.UserCoin;
+import com.qs.mp.user.domain.UserCoinLog;
 import com.qs.mp.user.domain.UserCoupon;
 import com.qs.mp.user.domain.UserPrizeStorage;
-import com.qs.mp.user.domain.UserTicketOrderItem;
+import com.qs.mp.user.domain.vo.UserCouponVO;
+import com.qs.mp.user.service.IUserCoinLogService;
 import com.qs.mp.user.service.IUserCoinService;
-import com.qs.mp.user.service.IUserHitPrizeService;
+import com.qs.mp.user.service.IUserCouponService;
 import com.qs.mp.user.service.IUserPrizeStorageService;
 import com.qs.mp.user.service.IUserTicketOrderItemService;
 import com.qs.mp.utils.SecurityUtils;
@@ -65,25 +52,19 @@ public class UserMineController extends BaseApiController {
 
 
   @Autowired
-  private ITicketBoxService ticketBoxService;
-
-  @Autowired
-  private ITicketAwardsPrizeService ticketAwardsPrizeService;
+  private IUserTicketOrderItemService userTicketOrderItemService;
 
   @Autowired
-  private ITicketService ticketService;
+  private IUserPrizeStorageService userPrizeStorageService;
 
   @Autowired
-  private IUserTicketOrderItemService userTicketOrderItemService;
+  private IUserCoinService userCoinService;
 
   @Autowired
-  private IUserHitPrizeService userHitPrizeService;
+  private IUserCouponService userCouponService;
 
   @Autowired
-  private IUserPrizeStorageService userPrizeStorageService;
-
-  @Autowired
-  private IUserCoinService userCoinService;
+  private IUserCoinLogService userCoinLogService;
 
   @Autowired
   private MapperFacade mapperFacade;
@@ -92,11 +73,12 @@ public class UserMineController extends BaseApiController {
    * 我的票包
    */
   @PostMapping("/mine/ticket/list")
-  @ApiOperation(value = "我的盲票列表" , notes = "获取我的盲票列表")
+  @ApiOperation(value = "我的盲票列表", notes = "获取我的盲票列表")
   public TableDataInfo listTicket(@RequestBody Ticket param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
     startPage();
-    List<TicketListVO> ticketListVOS = userTicketOrderItemService.listMyTicketVO(userId, param.getStatus());
+    List<TicketListVO> ticketListVOS = userTicketOrderItemService.listMyTicketVO(userId,
+        param.getStatus());
     return getDataTable(ticketListVOS);
   }
 
@@ -104,12 +86,42 @@ public class UserMineController extends BaseApiController {
    * 我的优惠券
    */
   @PostMapping("/mine/coupon/list")
-  @ApiOperation(value = "我的优惠券列表" , notes = "获取我的优惠券列表")
+  @ApiOperation(value = "我的优惠券列表", notes = "获取我的优惠券列表")
   public TableDataInfo listCoupon(@RequestBody UserCoupon param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
     startPage();
-//    List<TicketListVO> ticketListVOS = userTicketOrderItemService.listMyTicketVO(userId, param.getStatus());
-    return getDataTable(null);
+    List<UserCouponVO> userCouponVOList = userCouponService.listCoupon(userId, param.getStatus());
+    return getDataTable(userCouponVOList);
+  }
+
+  /**
+   * 我的盲豆
+   */
+  @PostMapping("/mine/coin/log/list")
+  @ApiOperation(value = "我的盲豆记录", notes = "获取我的盲豆记录")
+  public TableDataInfo listCoinLog(@RequestBody JSONObject param) {
+    Long userId = SecurityUtils.getLoginUser().getUserId();
+    startPage();
+    List<UserCoinLog> userCoinLogList = userCoinLogService.list(
+        new LambdaQueryWrapper<UserCoinLog>()
+            .eq(UserCoinLog::getUserId, userId).orderByDesc(UserCoinLog::getBizTime));
+    return getDataTable(userCoinLogList);
+  }
+
+  /**
+   * 我的实物奖品库
+   */
+  @PostMapping("/mine/prize/list")
+  @ApiOperation(value = "我的实物奖品库", notes = "获取我的实物奖品库")
+  public TableDataInfo listPrize(@RequestBody JSONObject param) {
+    Long userId = SecurityUtils.getLoginUser().getUserId();
+    startPage();
+    List<UserPrizeStorage> userPrizeStorageList = userPrizeStorageService.list(
+        new LambdaQueryWrapper<UserPrizeStorage>()
+            .eq(UserPrizeStorage::getUserId, userId)
+            .eq(UserPrizeStorage::getStatus, PrizeStorageStatusEnum.NOT_DISTRIBUTED)
+            .orderByDesc(UserPrizeStorage::getCreatedTime));
+    return getDataTable(userPrizeStorageList);
   }
 
 
@@ -117,12 +129,13 @@ public class UserMineController extends BaseApiController {
    * 我的
    */
   @PostMapping("/mine/init")
-  @ApiOperation(value = "查看我的" , notes = "查看我的")
+  @ApiOperation(value = "查看我的", notes = "查看我的")
   public AjaxResult getInfo(@RequestBody JSONObject param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
-    Map<String, Object> storageMap = userPrizeStorageService.getMap(new QueryWrapper<UserPrizeStorage>()
-        .select("IFNULL(goods_num,0) as total")
-        .eq("userId", userId).eq("status", PrizeStorageStatusEnum.NOT_DISTRIBUTED));
+    Map<String, Object> storageMap = userPrizeStorageService.getMap(
+        new QueryWrapper<UserPrizeStorage>()
+            .select("IFNULL(goods_num,0) as total")
+            .eq("userId", userId).eq("status", PrizeStorageStatusEnum.NOT_DISTRIBUTED));
     JSONObject result = new JSONObject();
     result.put("prizeNum", Integer.valueOf(String.valueOf(storageMap.get("total"))));
 
@@ -133,103 +146,5 @@ public class UserMineController extends BaseApiController {
     result.put("coinNum", null != userCoin ? userCoin.getCoin() : 0);
     return AjaxResult.success(result);
   }
-/*
-  *//**
-   * 扫码查看盲票幸运数字
-   *//*
-  @PostMapping("/ticket/queryLuckyNum")
-  @ApiOperation(value = "查看盲票幸运数字" , notes = "根据盲票组ID,获取盲票幸运数字")
-  public AjaxResult queryLuckyNum(@RequestBody TicketParam param) {
-    Long userId = SecurityUtils.getLoginUser().getUserId();
-    if (StringUtils.isBlank(param.getTicketId())) {
-      return AjaxResult.error("参数异常,盲票ID缺失");
-    }
-
-    Ticket ticket = ticketService.getById(param.getTicketId());
-    if (null == ticket) {
-      return AjaxResult.error("参数异常,盲票不存在");
-    }
-
-    if (ticket.getStatus() == TicketStatusEnum.CASHED) {
-      return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1017);
-    }
-
-    // 已付款的盲票,需要校验当前用户是否有权限查看
-    if (ticket.getStatus() == TicketStatusEnum.ACTIVATED) {
-      UserTicketOrderItem orderItem = userTicketOrderItemService.queryFinishedOrderItem(userId, param.getTicketId());
-      if (null == orderItem) {
-        return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1018);
-      }
-    }
-
-    TicketBox ticketBox = ticketBoxService.getById(ticket.getBoxId());
-
-    TicketVO ticketVO = new TicketVO();
-    ticketVO.setPrizeList(ticketAwardsPrizeService.listPrizeVO(new QueryWrapper<TicketAwardsPrize>()
-        .eq("t1.box_id", ticketBox.getBoxId()).orderByAsc("t1.sort").orderByDesc("t2.value")));
-    ticketVO.setTicketId(ticket.getTicketId());
-    ticketVO.setBoxId(ticket.getBoxId());
-    ticketVO.setTitle(ticketBox.getTitle());
-    ticketVO.setSerialNo(ticket.getSerialNo());
-    ticketVO.setFacePrice(ticket.getFacePrice());
-    ticketVO.setSalePrice(ticketBox.getSalePrice());
-    ticketVO.setPlainLuckyNum(ticket.getPlainLuckyNum());
-    ticketVO.setStatus(ticket.getStatus().getValue());
-
-    return AjaxResult.success(ticketVO);
-  }
-
-  *//**
-   * 查看能兑奖的奖品
-   *//*
-  @PostMapping("/ticket/queryHitPrizeList")
-  @ApiOperation(value = "查看兑奖奖品" , notes = "根据盲票ID,查看兑奖奖品")
-  public AjaxResult queryHitPrizeList(@RequestBody TicketParam param) {
-    Long userId = SecurityUtils.getLoginUser().getUserId();
-    if (StringUtils.isBlank(param.getTicketId())) {
-      return AjaxResult.error("参数异常,盲票ID缺失");
-    }
-
-    Ticket ticket = ticketService.getById(param.getTicketId());
-    if (null == ticket) {
-      return AjaxResult.error("参数异常,盲票不存在");
-    }
-    if (ticket.getStatus() == TicketStatusEnum.CASHED) {
-      return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1017);
-    }
-    if (ticket.getStatus() != TicketStatusEnum.ACTIVATED) {
-      return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1019);
-    }
-
-    List<TicketAwardsPrize> ticketAwardsPrizes = userHitPrizeService.listPrize(ticket, userId);
-    return AjaxResult.success(ticketAwardsPrizes);
-  }
-
-  *//**
-   * 兑奖
-   *//*
-  @PostMapping("/ticket/cashPrize")
-  @ApiOperation(value = "兑奖" , notes = "选择奖品兑奖")
-  public AjaxResult cashPrize(@RequestBody TicketParam param) {
-    Long userId = SecurityUtils.getLoginUser().getUserId();
-    if (StringUtils.isBlank(param.getTicketId()) || StringUtils.isBlank(param.getAwardsId())
-    || StringUtils.isBlank(param.getPrizeId())) {
-      return AjaxResult.error("参数缺失");
-    }
-
-    Ticket ticket = ticketService.getById(param.getTicketId());
-    if (null == ticket) {
-      return AjaxResult.error("参数异常,盲票不存在");
-    }
-    if (ticket.getStatus() == TicketStatusEnum.CASHED) {
-      return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1017);
-    }
-    if (ticket.getStatus() != TicketStatusEnum.ACTIVATED) {
-      return AjaxResult.error(ErrorCodeEnum.ERROR_CODE_1019);
-    }
-
-    userHitPrizeService.cashPrize(ticket, userId, param.getAwardsId(), param.getPrizeId());
-    return AjaxResult.success();
-  }*/
 
 }

+ 8 - 0
mp-service/src/main/java/com/qs/mp/user/service/IUserCouponService.java

@@ -1,5 +1,6 @@
 package com.qs.mp.user.service;
 
+import com.qs.mp.common.enums.UserCouponStatusEnum;
 import com.qs.mp.user.domain.UserCoupon;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qs.mp.user.domain.vo.UserCouponVO;
@@ -28,4 +29,11 @@ public interface IUserCouponService extends IService<UserCoupon> {
    * @return
    */
   List<UserCouponVO> listTicketOrderCouponByIds(List<String> userCouponIds);
+
+  /**
+   * 查询用户当前可用于盲票购买的优惠券,按优惠大小排序
+   * @param userId
+   * @return
+   */
+  List<UserCouponVO> listCoupon(Long userId, UserCouponStatusEnum status);
 }

+ 18 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserCouponServiceImpl.java

@@ -39,4 +39,22 @@ public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCou
         .in("t1.id", userCouponIds));
     return userCouponVOList;
   }
+
+  @Override
+  public List<UserCouponVO> listCoupon(Long userId, UserCouponStatusEnum status) {
+    QueryWrapper<UserCoupon> queryWrapper = new QueryWrapper<UserCoupon>()
+        .eq("t1.user_id", userId)
+        .orderByAsc("t1.valid_end");
+    if (status == UserCouponStatusEnum.UNUSED) {
+      queryWrapper.eq("t1.status", UserCouponStatusEnum.UNUSED)
+          .le("t1.valid_start", DateUtils.getToday()).ge("t1.valid_end", DateUtils.getToday());
+    } else if (status == UserCouponStatusEnum.OVERDUE) {
+      queryWrapper.eq("t1.status", UserCouponStatusEnum.UNUSED)
+          .lt("t1.valid_end", DateUtils.getToday());
+    } else if (status == UserCouponStatusEnum.USED) {
+      queryWrapper.eq("t1.status", UserCouponStatusEnum.UNUSED);
+    }
+    List<UserCouponVO> userCouponVOList = getBaseMapper().listUserCouponVO(queryWrapper);
+    return userCouponVOList;
+  }
 }