TOrderService.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.ylx.order.service;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.baomidou.mybatisplus.extension.service.IService;
  4. import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyV3Result;
  5. import com.ylx.common.core.domain.R;
  6. import com.ylx.order.domain.TOrder;
  7. import com.ylx.massage.domain.TWxUser;
  8. import com.ylx.massage.domain.vo.HomeBlock;
  9. import com.ylx.massage.domain.vo.OrderVerificationVo;
  10. import com.ylx.massage.domain.vo.TechnicianAvailabilityVo;
  11. import com.ylx.order.domain.dto.OrderDateQueryDTO;
  12. import com.ylx.order.domain.dto.OrderSubmitDTO;
  13. import com.ylx.order.domain.vo.OrderDateQueryVo;
  14. import java.math.BigDecimal;
  15. import java.util.Date;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * 订单表 服务类
  20. */
  21. public interface TOrderService extends IService<TOrder> {
  22. /**
  23. * 添加订单
  24. */
  25. public TOrder addOrder(TOrder order);
  26. /**
  27. * 支付订单
  28. */
  29. public R payOrder(TOrder order) throws Exception;
  30. /**
  31. * 拒绝订单
  32. */
  33. public Boolean jujue(TOrder order);
  34. /**
  35. * 确认服务完成
  36. * @param order
  37. * @return
  38. */
  39. public Boolean confirm(TOrder order);
  40. /**
  41. * 取消订单
  42. * @param order
  43. * @return
  44. */
  45. public Boolean cancle(TOrder order);
  46. public TOrder getByNo(String orderNo);
  47. /**
  48. * 分页查询订单数据
  49. * @param page
  50. * @param param
  51. * @return Page<TOrder>
  52. */
  53. public Page<TOrder> getAll(Page<TOrder>page, TOrder order);
  54. void takingOrders(TOrder order);
  55. void payNotifyOrder(String outTradeNo);
  56. Object updateAddressById(TOrder borrow);
  57. Object depart(TOrder order);
  58. Integer getOrderNum(String jsid, Date startDate, Date endDate);
  59. Integer getAddNum(String jsid, Date startDate, Date endDate);
  60. Integer getUpgradeNum(String id, Date startDate, Date endDate);
  61. BigDecimal getTurnover(String id, Date startDate, Date endDate);
  62. TOrder transferOrder(TOrder order);
  63. List<HomeBlock> getBlock(Date start, Date end, String deptId);
  64. OrderVerificationVo verification(TOrder order);
  65. /**
  66. * 获取技师当天可预约时间
  67. * @param technicianId 技师ID
  68. * @param dateStr 查询日期(格式:yyyy-MM-dd),为null则查询当天
  69. * @return 技师当天可预约时间VO
  70. */
  71. TechnicianAvailabilityVo getTechnicianAvailability(String technicianId, String dateStr);
  72. /**
  73. * 申请取消订单(退单申请)
  74. * @param cId 订单ID
  75. * @param cancelReason 退单原因
  76. * @return 申请结果
  77. */
  78. Boolean applyCancle(String cId, String cancelReason);
  79. /**
  80. * 取消退单申请
  81. * 用户主动取消退单申请,恢复订单状态
  82. *
  83. * 业务流程:
  84. * 1. 参数校验(订单ID不能为空)
  85. * 2. 查询订单和退单申请记录
  86. * 3. 校验订单状态必须为"退单待审核"(6)
  87. * 4. 校验退单申请状态必须为"待审核"(0)
  88. * 5. 调用退单申请服务取消申请
  89. * 6. 恢复订单状态到申请前的原始状态
  90. *
  91. * @param order 订单对象,需要包含cId(订单ID)
  92. * @return 操作结果
  93. */
  94. Boolean cancelApplyCancle(TOrder order);
  95. /**
  96. * PC收入明细
  97. * @param page
  98. * @param order
  99. * @return
  100. */
  101. Page<TOrder> getPcOrderIncome(Page<TOrder> page, TOrder order);
  102. /**
  103. * 累计营业收入 累计平台佣金收入 累计商家收入
  104. * @return
  105. */
  106. public Map<String, String> totalData(TOrder order);
  107. /**
  108. * 执行存储过程 大于48小时 订单状态更新为 已结算 自动分账 订单总金额划入用户余额
  109. * @param hCount
  110. * @param percent
  111. */
  112. void callAutoAccount(int hCount, BigDecimal percent);
  113. /**
  114. * 商户收益,总额,待结算,已结算
  115. * @param user
  116. * @return
  117. */
  118. public Map<String, String> myIncome(TWxUser user);
  119. /**
  120. * 商户收入明细
  121. * @param user
  122. * @param wStatus
  123. * @return
  124. */
  125. public List<Map<String, Object>> myIncomeDetail(TWxUser user, Integer wStatus);
  126. Map<String, Object> submitOrder(OrderSubmitDTO dto);
  127. /**
  128. * 用户端订单列表
  129. * @param dto
  130. * @return
  131. */
  132. Page<OrderDateQueryVo> queryOrderList(OrderDateQueryDTO dto);
  133. /*
  134. * 逻辑删除订单
  135. */
  136. void logicDeleteOrder(Long orderId);
  137. void processOrderPayment(WxPayOrderNotifyV3Result.DecryptNotifyResult result, TWxUser wxUser, TOrder order);
  138. }