后台服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

230 line
6.3 KiB

  1. package com.iformall.service;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.github.pagehelper.PageInfo;
  4. import com.iformall.common.ResultData;
  5. import com.iformall.domain.po.*;
  6. import com.iformall.domain.po.base.TenantEntity;
  7. import com.iformall.domain.vo.*;
  8. import com.iformall.enums.EnumCouponVerifyType;
  9. import com.iformall.enums.EnumPayVersion;
  10. import com.iformall.enums.EnumPayWay;
  11. import com.iformall.service.order.entity.WxComposeOrder;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14. import java.util.Date;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. public interface WxCouponOrderService {
  19. /**
  20. * 根据实体查询分页列表
  21. *
  22. * @param record
  23. * @param pageIndex
  24. * @param pageSize
  25. * @return
  26. */
  27. PageInfo<WxCouponOrder> listAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize);
  28. /**
  29. * 根据Id获得实体
  30. *
  31. * @param id
  32. * @return
  33. */
  34. WxCouponOrder getById(Long id,String tenantId);
  35. /**
  36. * 保存或更新实体
  37. *
  38. * @param record
  39. */
  40. void saveOrUpdate(WxCouponOrder record);
  41. /**
  42. * 根据Id删除实体
  43. *
  44. * @param id
  45. */
  46. //void deleteById(Long id);
  47. /**
  48. * 根据主键couponOrderId(券码)核销
  49. *
  50. * @param couponOrder
  51. * @param bUser 核销人(登录用户)
  52. */
  53. WxCouponOrder verify(WxCouponOrder couponOrder, WxMerchantBUser bUser, EnumCouponVerifyType couponVerifyType);
  54. /**
  55. * 核销后发送消息
  56. */
  57. void sendInsideCouponVerifyMsg(Long couponOrderId, TenantEntity couponOrderTenantEntity, Long merchantId, TenantEntity mallTenantEntity);
  58. /**
  59. * 核销后处理
  60. *
  61. * @param couponOrder
  62. * @param bmerchant 核销商户
  63. */
  64. void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant);
  65. /**
  66. * 核销发券
  67. * @param couponOrder
  68. */
  69. boolean sendCouponAfterVerify(WxCouponOrder couponOrder);
  70. /**
  71. * B端刷卡支付发券
  72. * @param tenantEntity
  73. * @param orderId
  74. * @param cUserId
  75. */
  76. boolean sendCouponAfterMicroPay(TenantEntity tenantEntity, Long orderId, Long cUserId);
  77. /**
  78. * 核销分账
  79. * @param couponOrder
  80. */
  81. void shareAfterVerify(WxCouponOrder couponOrder, WxMerchant wxMerchant,boolean mulityShare);
  82. WxMerchantSubsidy recordAfterVerified(WxOrder order, WxMerchant wxMerchant);
  83. /**
  84. * 核销后补贴
  85. * @param couponOrder
  86. */
  87. void subsidyAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant);
  88. /**
  89. * 核销模板消息
  90. * @param couponOrder
  91. * @param merchant
  92. */
  93. void sendVerifyMsg(WxCouponOrder couponOrder, WxMerchant merchant, boolean hadSentCoupon);
  94. /**
  95. * 根据日期 b用户查券list
  96. *
  97. * @param bUserId B端用户)
  98. */
  99. ResultData listOnDateAsPage(Long bUserId, String date, Integer pageIndex, Integer pageSize, boolean isVerified);
  100. /**
  101. * C用户查券list
  102. *@deprecated
  103. * @param record C端用户
  104. */
  105. //PageInfo<WxCouponOrderCVo> listCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize);
  106. /**
  107. * C用户查券list
  108. *
  109. * @param record C端用户
  110. */
  111. PageInfo<WxCouponOrderCVo> listCUserVoAsPageOptimize(WxCouponOrder record, Integer pageIndex, Integer pageSize);
  112. /**
  113. * C用户查券详情
  114. *
  115. */
  116. WxCouponOrderCVo detailCUserVo(String couponOrderId,TenantEntity tenantinfo);
  117. WxCouponOrderCVo simpleDetailCUserVo(String couponOrderId,TenantEntity tenantinfo);
  118. /**
  119. * C用户查券carlist
  120. *
  121. * @param record C端用户
  122. */
  123. ResultData carListCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize);
  124. List<WxCouponOrderCarCVo> carListCUserVo(WxCouponOrder record,boolean getMerchant);
  125. /**
  126. * A端查询分页列表
  127. *
  128. * @param wxCouponOrder
  129. * @param pageIndex
  130. * @param pageSize
  131. * @return
  132. */
  133. ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrder, Integer pageIndex, Integer pageSize);
  134. ResultData detailAdminVo(Long couponOrderId,TenantEntity tenantinfo);
  135. /**
  136. * 日期分组 消费总数
  137. * @param tenantEntity
  138. * @param startTime
  139. * @param endTime
  140. * @return
  141. */
  142. List<CUserDateAmountVo> queryPriceTotalGroup(TenantEntity tenantEntity, Date startTime, Date endTime);
  143. /**
  144. * 查询消费额
  145. * @return
  146. */
  147. int queryPriceTotal(WxCouponOrder wxCouponOrder);
  148. ////// ------- 卡
  149. /**
  150. * C用户查卡list
  151. *
  152. * @param record C端用户
  153. */
  154. ResultData listCardVoAsPage(WxCardCVo record, Integer pageIndex, Integer pageSize);
  155. /**
  156. * C用户查卡详情
  157. *
  158. * @param ownerId C端用户
  159. */
  160. ResultData cardDetailCUserVo(Long ownerId, TenantEntity tenantinfo,String couponOrderId);
  161. ResultData cardAccept(WxCouponOrder wxCouponOrder);
  162. ResultData queryCardStatus(WxCouponOrder wxCouponOrder);
  163. void exportData(boolean cUserEntry,WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response);
  164. /**
  165. * B端-收银台-支持优惠券
  166. */
  167. JSONArray queryMicroPayCouponOrder(WxMerchantBUser user, WxCUserBasicInfo cUser, Integer price);
  168. WxPayOrder microPayPreVerify(WxComposeOrder composeOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer price, EnumPayWay payWay,EnumPayVersion payVersion,String ipstr,String authCode);
  169. Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId,EnumPayWay payWay,EnumPayVersion payVersion);
  170. /**
  171. * 尚安停车
  172. */
  173. Integer shangAnVerify(Long couponOrderId,TenantEntity tenantinfo);
  174. int findCount(WxCouponOrder wxCouponOrder);
  175. void statisticsWriteOff(WxCouponOrder wxCouponOrder, Map<String, Object> resultMap);
  176. PageInfo<WxCouponOrderBVo> goodsListAsPage(WxCouponOrderBVo couponOrderBvo, Integer pageNum, Integer pageSize);
  177. List<MarkingCouponDataReportVo> couponDataMap(TenantEntity tenantEntity,Date startTime,Date endTime);
  178. List<WxCouponOrderCVo> findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId);
  179. PageInfo<WxMerchantTradeDetailVo> userTradeDetailList(WxMerchant wxMerchant,Date startTime,Date endTime,Integer pageIndex,Integer pageSize);
  180. }