TOrderService.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.ylx.massage.service;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.baomidou.mybatisplus.extension.service.IService;
  4. import com.ylx.common.core.domain.R;
  5. import com.ylx.massage.domain.TOrder;
  6. import com.ylx.massage.domain.vo.HomeBlock;
  7. import com.ylx.massage.domain.vo.OrderVerificationVo;
  8. import com.ylx.massage.domain.vo.TechnicianAvailabilityVo;
  9. import java.math.BigDecimal;
  10. import java.util.Date;
  11. import java.util.List;
  12. /**
  13. * 订单表 服务类
  14. */
  15. public interface TOrderService extends IService<TOrder> {
  16. /**
  17. * 添加订单
  18. */
  19. public TOrder addOrder(TOrder order);
  20. /**
  21. * 支付订单
  22. */
  23. public R payOrder(TOrder order) throws Exception;
  24. /**
  25. * 拒绝订单
  26. */
  27. public Boolean jujue(TOrder order);
  28. /**
  29. * 确认服务完成
  30. * @param order
  31. * @return
  32. */
  33. public Boolean confirm(TOrder order);
  34. /**
  35. * 取消订单
  36. * @param order
  37. * @return
  38. */
  39. public Boolean cancle(TOrder order);
  40. public TOrder getByNo(String orderNo);
  41. /**
  42. * 分页查询订单数据
  43. * @param page
  44. * @param param
  45. * @return Page<TOrder>
  46. */
  47. public Page<TOrder> getAll(Page<TOrder>page, TOrder order);
  48. void takingOrders(TOrder order);
  49. /**
  50. *
  51. * @param outTradeNo
  52. */
  53. void payNotifyOrder(String outTradeNo);
  54. Object updateAddressById(TOrder borrow);
  55. Object depart(TOrder order);
  56. Integer getOrderNum(String jsid, Date startDate, Date endDate);
  57. Integer getAddNum(String jsid, Date startDate, Date endDate);
  58. Integer getUpgradeNum(String id, Date startDate, Date endDate);
  59. BigDecimal getTurnover(String id, Date startDate, Date endDate);
  60. TOrder transferOrder(TOrder order);
  61. List<HomeBlock> getBlock(Date start, Date end, String deptId);
  62. OrderVerificationVo verification(TOrder order);
  63. /**
  64. * 获取技师当天可预约时间
  65. * @param technicianId 技师ID
  66. * @param dateStr 查询日期(格式:yyyy-MM-dd),为null则查询当天
  67. * @return 技师当天可预约时间VO
  68. */
  69. TechnicianAvailabilityVo getTechnicianAvailability(String technicianId, String dateStr);
  70. /**
  71. * 申请取消订单(退单申请)
  72. * @param cId 订单ID
  73. * @param cancelReason 退单原因
  74. * @return 申请结果
  75. */
  76. Boolean applyCancle(String cId, String cancelReason);
  77. /**
  78. * 取消退单申请
  79. * 用户主动取消退单申请,恢复订单状态
  80. *
  81. * 业务流程:
  82. * 1. 参数校验(订单ID不能为空)
  83. * 2. 查询订单和退单申请记录
  84. * 3. 校验订单状态必须为"退单待审核"(6)
  85. * 4. 校验退单申请状态必须为"待审核"(0)
  86. * 5. 调用退单申请服务取消申请
  87. * 6. 恢复订单状态到申请前的原始状态
  88. *
  89. * @param order 订单对象,需要包含cId(订单ID)
  90. * @return 操作结果
  91. */
  92. Boolean cancelApplyCancle(TOrder order);
  93. int countCompletedOrders(String openId, Date queryTime);
  94. }