IUserTicketOrderService.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package com.qs.mp.user.service;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.qs.mp.admin.domain.param.IndexTicketBoxTopQueryParam;
  4. import com.qs.mp.admin.domain.param.UserTicketOrderQueryParam;
  5. import com.qs.mp.admin.domain.vo.IndexVO;
  6. import com.qs.mp.admin.domain.vo.TicketCntVO;
  7. import com.qs.mp.admin.domain.vo.UserTicketOrderDetailVO;
  8. import com.qs.mp.admin.domain.vo.UserTicketOrderListVO;
  9. import com.qs.mp.channel.domain.ChannelOrder;
  10. import com.qs.mp.channel.domain.ChannelOrderDetail;
  11. import com.qs.mp.pay.domain.PayOrder;
  12. import com.qs.mp.user.domain.UserDeliverOrder;
  13. import com.qs.mp.user.domain.UserTicketOrder;
  14. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  15. import com.baomidou.mybatisplus.extension.service.IService;
  16. import com.qs.mp.user.domain.UserTicketOrderItem;
  17. import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
  18. import com.qs.mp.user.domain.vo.UserShareVO;
  19. import java.util.List;
  20. import org.apache.ibatis.annotations.Param;
  21. /**
  22. * <p>
  23. * 用户盲票订单 服务类
  24. * </p>
  25. *
  26. * @author quanshu
  27. * @since 2022-03-07
  28. */
  29. public interface IUserTicketOrderService extends IService<UserTicketOrder> {
  30. /**
  31. * 提交盲票购买订单
  32. * @param userId
  33. * @param orderSettleVO
  34. * @param userShareVO
  35. * @return
  36. */
  37. String submitOrder(Long userId, TicketOrderSettleVO orderSettleVO, UserShareVO userShareVO);
  38. /**
  39. * 批量取消一个票组(线上)的订单(恢复优惠券、票组销量)
  40. * @param boxId
  41. * @param orderIds
  42. * @return
  43. */
  44. boolean batchCancelOrder(String boxId, List<String> orderIds);
  45. /**
  46. * 取消订单(恢复优惠券、票组销量)
  47. * @param orderId
  48. * @return
  49. */
  50. boolean cancelOrder(String orderId);
  51. /**
  52. * 支付成功回调
  53. * @param payOrder
  54. * @return
  55. */
  56. boolean paySuccess(PayOrder payOrder);
  57. /**
  58. * 给渠道分润
  59. * @param orderId
  60. * @param resource 订单来源1用户,2经销商
  61. * @return
  62. */
  63. boolean commToChannel(String orderId,Integer resource);
  64. /**
  65. * 统计交易金额
  66. * @param wrapper
  67. * @return
  68. */
  69. List<IndexVO> selectIndexPayAmtList(Wrapper<UserTicketOrder> wrapper);
  70. /**
  71. * 统计交易用户数
  72. * @param wrapper
  73. * @return
  74. */
  75. List<IndexVO> selectIndexPayUserCntList(Wrapper<UserTicketOrder> wrapper);
  76. /**
  77. * 统计实时交易数据
  78. * @param wrapper
  79. * @return
  80. */
  81. List<IndexVO> selectIndexDailyInfoList(Wrapper<UserTicketOrder> wrapper);
  82. /**
  83. * 统计票组销售TOP10
  84. * @param wrapper
  85. * @return
  86. */
  87. List<IndexVO> selectIndexTicketBoxTop(Wrapper<UserTicketOrder> wrapper);
  88. /**
  89. * 统计经销商交易额TOP10
  90. * @param wrapper
  91. * @return
  92. */
  93. List<IndexVO> selectIndexTicketSiteTop(Wrapper<UserTicketOrder> wrapper);
  94. /**
  95. * 查询子渠道全部的盲票销售张数
  96. * @param channelNo
  97. * @return
  98. */
  99. int getChannelTotalTicketNumCnt(String channelNo);
  100. /**
  101. * 查询子渠道全部的盲票销售张数
  102. * @param channelNo
  103. * @return
  104. */
  105. int getSaleSiteTotalTicketNumCnt(Long channelId);
  106. /**
  107. * 统计经销商盲票销量线下和线上
  108. * @param channelId
  109. * @return
  110. */
  111. TicketCntVO getTicketSaleCnt(Long channelId);
  112. /**
  113. * 查询统计经销商盲票销量数据线下和线上
  114. * @param queryWrapper
  115. * @return
  116. */
  117. List<TicketCntVO> listTicketSaleCnt(Wrapper<UserTicketOrder> queryWrapper);
  118. /**
  119. * 获取用户盲票订单列表
  120. * @return
  121. */
  122. List<UserTicketOrderListVO> listUserTicketOrder(QueryWrapper<UserTicketOrder> queryWrapper);
  123. /**
  124. * 查询用户订单详情
  125. * @param orderId
  126. * @return
  127. */
  128. UserTicketOrderDetailVO detail(String orderId);
  129. /**
  130. * 统计用户订单数量
  131. * @return
  132. */
  133. int countUserTicketOrder(QueryWrapper<UserTicketOrder> queryWrapper);
  134. /**
  135. * 统计盲票组销量
  136. * @param queryWrapper
  137. * @param channelOrderQueryWrapper
  138. * @return
  139. */
  140. List<IndexVO> selectIndexTicketBoxTopByTicketOrderAndChannelOrder(IndexTicketBoxTopQueryParam indexTicketBoxTopQueryParam );
  141. }