168 lines
4.2 KiB
Java
Raw Normal View History

2025-10-17 17:32:20 +08:00
package com.cdzy.payment.service;
import com.alibaba.fastjson2.JSONObject;
2025-10-24 10:09:53 +08:00
import com.cdzy.payment.model.dto.EbikeRefundDto;
import com.cdzy.payment.model.dto.EbikeRefundProcessDto;
import com.cdzy.payment.model.dto.EbikeRefundQueryDto;
import com.cdzy.payment.model.vo.EbikeRefundApplyOrderInfoVo;
import com.cdzy.payment.model.vo.EbikeRefundOrderDetailVo;
import com.cdzy.payment.model.vo.EbikeRefundUserDetailInfoVo;
import com.cdzy.payment.model.vo.EbikeWxHandleNotifyVo;
2025-10-17 17:32:20 +08:00
import com.mybatisflex.core.paginate.Page;
import com.wechat.pay.java.service.payments.model.Transaction;
import com.wechat.pay.java.service.refund.model.Refund;
import javax.servlet.http.HttpServletRequest;
/**
* 微信支付服务类JSAPI支付小程序
*
2025-10-21 09:57:21 +08:00
* @author: yanglei
* @since: 2025-10-17 09:22
2025-10-17 17:32:20 +08:00
*/
2025-10-24 10:09:53 +08:00
public interface EbikeWxPayService {
2025-10-17 17:32:20 +08:00
/**
* 关闭订单
*
* @param outTradeNo 商户(骑行)订单号
2025-10-21 09:57:21 +08:00
* @return true 成功 false 失败
2025-10-17 17:32:20 +08:00
*/
boolean closeOrder(String outTradeNo);
/**
* JSAPI支付下单
*
* @param orderId 订单id
* @return 下单成功返回wx支付请求参数否则返回null
*/
JSONObject prepay(String orderId);
/**
* 通过支付订单号查询支付订单
*
* @param outTradeNo 支付订单号
* @return 支付订单信息
*/
Transaction queryOrderByOutTradeNo(String outTradeNo);
/**
* 通过商户(骑行)订单号查询支付订单
*
* @param orderId 商户(骑行)订单号
* @return 支付订单信息
*/
Transaction queryOrderByOrderId(String orderId);
/**
* 通过订单号查询支付订单状态
*
* @param orderId 商户(骑行)订单号
* @return 支付订单信息
*/
2025-10-24 10:09:53 +08:00
EbikeWxHandleNotifyVo queryOrderStatusByOrderId(String orderId);
2025-10-17 17:32:20 +08:00
/**
* 处理支付回调
*
* @param request 回调请求
* @return 支付订单信息
*/
2025-10-24 10:09:53 +08:00
EbikeWxHandleNotifyVo handlePayNotify(HttpServletRequest request);
2025-10-17 17:32:20 +08:00
/**
* 退款申请
*
* @param outTradeNo 商户(骑行)订单号
* @param reason 退款原因
* @return 退款信息id
*/
2025-10-22 10:13:57 +08:00
Long refundApply(String outTradeNo, String reason);
2025-10-17 17:32:20 +08:00
/**
* 审核退款申请
*
* @param processDto 退款审核信息
* @return 退款信息id
* @operator 操作人id
*/
2025-10-24 10:09:53 +08:00
Boolean refundReview(EbikeRefundProcessDto processDto, String operator);
2025-10-17 17:32:20 +08:00
/**
* 调用微信退款接口
*
* @param refundDto 退款请求
* @param operator 操作人id
* @return 退款信息id
*/
2025-10-24 10:09:53 +08:00
EbikeWxHandleNotifyVo refund(EbikeRefundDto refundDto, String operator);
2025-10-17 17:32:20 +08:00
/**
* 通过商户退款id查询退款信息
*
* @param refundId 商户退款订主键
* @return 退款信息
*/
2025-10-22 10:13:57 +08:00
Refund queryRefundById(Long refundId);
2025-10-17 17:32:20 +08:00
/**
* 通过商户退款单号查询退款信息
*
* @param outTradeNo 商户退款订单号
* @return 退款信息
*/
Refund queryRefundByOutTradeNo(String outTradeNo);
/**
* 通过退款记录主键id查询退款信息状态
*
* @param refundId 退款记录主键id
* @return 退款状态信息
*/
2025-10-24 10:09:53 +08:00
EbikeWxHandleNotifyVo queryRefundStatusById(Long refundId);
2025-10-17 17:32:20 +08:00
/**
* 处理支退款回调
*
* @param request 回调请求
* @return 退款订单信息
*/
2025-10-24 10:09:53 +08:00
EbikeWxHandleNotifyVo handleRefundNotify(HttpServletRequest request);
2025-10-17 17:32:20 +08:00
/**
* 获取退款列表
*
* @param refundDto 查询条件
* @return 退款列表
*/
2025-10-24 10:09:53 +08:00
Page<?> queryRefundList(EbikeRefundQueryDto refundDto);
2025-10-17 17:32:20 +08:00
/**
* 退款订单详情
*
* @param refundId 退款id
* @return 退款详情
*/
2025-10-24 10:09:53 +08:00
EbikeRefundOrderDetailVo queryRefundOrderById(Long refundId);
2025-10-17 17:32:20 +08:00
/**
* 退款申请订单详情
*
* @param orderId 订单id
* @return 退款申请详情
*/
2025-10-24 10:09:53 +08:00
EbikeRefundApplyOrderInfoVo queryRefundApplyOrderById(String orderId);
2025-10-17 17:32:20 +08:00
/**
* 获取退款申请用户详情
*
* @param refundId 退款id
2025-10-21 09:57:21 +08:00
* @return 退款申请用户详情
2025-10-17 17:32:20 +08:00
*/
2025-10-24 10:09:53 +08:00
EbikeRefundUserDetailInfoVo queryRefundUserInfoById(Long refundId);
2025-10-17 17:32:20 +08:00
}