package com.ruoyi.system.service; import java.math.BigDecimal; import java.util.List; import com.ruoyi.system.domain.EtOrder; import com.ruoyi.system.domain.EtRefund; import com.ruoyi.system.domain.vo.EtOrderVo; import com.ruoyi.system.domain.vo.OperatingDataVo; import com.ruoyi.system.domain.vo.RechargeVo; import com.ruoyi.system.domain.vo.ReconciliationVo; import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse; import com.wechat.pay.java.service.refund.model.Refund; /** * 订单Service接口 * * @author 邱贞招 * @date 2024-04-08 */ public interface IEtOrderService { /** * 根据id查询订单 * * @param orderId 订单主键 * @return 订单 */ public EtOrder selectEtOrderByOrderId(Long orderId); /** * 根据订单号查询订单 * * @param orderNo 订单号 * @return 订单 */ public EtOrder selectEtOrderByOrderNo(String orderNo); /** * 根据微信内部订单号查询订单 * * @param outTradeNo 微信内部订单号 * @return 订单 */ public EtOrder selectEtOrderByOutTradeNo(String outTradeNo); /** * 根据订单号查询订单(详细) * * @param orderNo 订单号 * @return 订单 */ public EtOrder getOrderInfo(String orderNo); /** * 查询订单列表 * * @param etOrder 订单 * @return 订单集合 */ public List selectEtOrderList(EtOrder etOrder); /** * 新增订单 * * @param etOrder 订单 * @return 结果 */ public int insertEtOrder(EtOrder etOrder); /** * 修改订单 * * @param etOrder 订单 * @return 结果 */ public int updateEtOrder(EtOrder etOrder); /** * 根据订单号修改订单 * * @param etOrder 订单 * @return 结果 */ public int updateEtOrderByOrderNo(EtOrder etOrder); /** * 批量删除订单 * * @param orderIds 需要删除的订单主键集合 * @return 结果 */ public int deleteEtOrderByOrderIds(Long[] orderIds); /** * 删除订单信息 开锁时间 * * @param orderId 订单主键 * @return 结果 */ public int deleteEtOrderByOrderId(Long orderId); /** * 预下单 */ public PrepayWithRequestPaymentResponse preOrder(EtOrderVo order); /** * 查询当前用户是否有正在进行中的订单 */ List isInOrder(Long userId,String orderNo); /** * 创建订单 * @param order 订单信息 * @return 订单信息 */ public EtOrder createOrder(EtOrderVo order,String orderNo); /** * 检验预约订单只能有一个 * @param userId 用户id * @return 订单信息 */ Boolean checkIsUnique(Long userId); /** * 运营数据 */ OperatingDataVo getOperatingData(String timeStart,String timeEnd); /** * 收入对账 */ ReconciliationVo reconciliation(String timeStart, String timeEnd, String type,String sn); /** * 最近一笔订单 */ EtOrder latestOrder(EtOrder etOrder); /** * 订单退款 */ int refund(EtOrder etOrder); /** * 提现 */ int withdraw(EtOrder order, BigDecimal deposit); /** * 订单支付 */ public EtRefund createRefund(EtOrder etOrder, BigDecimal refundAmount, BigDecimal appointmentFee, BigDecimal dispatchFee, BigDecimal manageFee, BigDecimal ridingFee, Refund refund, String type); /** * 查询充值/退款订单列表 */ List rechargeList(EtOrder etOrder); // public partnerBill(); }