electripper/electripper-system/src/main/java/com/ruoyi/system/service/IWxPayService.java
18650502300 1250c504b3 1.提现
2.每个停车区单独设置还车误差
3.不骑行的心跳频率改成5分钟
2024-07-01 09:33:39 +08:00

110 lines
3.3 KiB
Java

package com.ruoyi.system.service;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.domain.EtOperatingArea;
import com.ruoyi.system.domain.EtOrder;
import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;
import com.wechat.pay.java.service.payments.model.Transaction;
import com.wechat.pay.java.service.profitsharing.model.AddReceiverResponse;
import com.wechat.pay.java.service.profitsharing.model.CreateOrderReceiver;
import com.wechat.pay.java.service.profitsharing.model.DeleteReceiverResponse;
import com.wechat.pay.java.service.profitsharing.model.OrdersEntity;
import com.wechat.pay.java.service.refund.model.Refund;
import com.wechat.pay.java.service.transferbatch.model.InitiateBatchTransferResponse;
import com.wechat.pay.java.service.transferbatch.model.TransferDetailInput;
import java.math.BigDecimal;
import java.util.List;
/**
* 微信支付服务接口
* @author 辉
* 2024/3/11
*/
public interface IWxPayService {
/**
* 生成微信预支付订单
* @param order 平台订单
* @return JSAPI调用
*/
PrepayWithRequestPaymentResponse prepayWithRequestPayment(String payType, EtOrder order);
// /**
// * 关闭订单
// * @param billNo 平台订单编号
// */
// void closeOrder(String billNo);
//
// /**
// * 通过微信订单id查询订单信息
// * @param prePayId 微信订单id
// * @return 订单信息
// */
// Transaction queryOrderById(String prePayId);
/**
* 通过商户订单号查询订单信息
* @param outTradeNo 商户订单号
* @return 订单信息
*/
Transaction queryOrderByOutTradeNo(String outTradeNo);
/**
* 退款
* @param etOrder 原订单对象
* @param reason 退款原因
* @param amount 退款金额
*/
Refund refund(EtOrder etOrder, String reason, BigDecimal amount);
/**
* 发起商家转账
* @param areaId 区域id
* @param batchName 批次名称
* @param batchRemark 转账说明
* @param totalAmount 转账总金额
* @param totalNum 转账总笔数
* @param transferDetailInputs 转账明细列表
*/
InitiateBatchTransferResponse transfer(Long areaId,String batchName,String batchRemark,BigDecimal totalAmount,Integer totalNum,List<TransferDetailInput> transferDetailInputs);
/**
* 根据退款单号查询退款信息
* @param outRefundNo 退款单号
*/
Refund queryByOutRefundNo(Long areaId,String outRefundNo);
/**
* 根据运营区id获取运营商对象
* @param areaId 运营区id
*/
public SysDept getDeptObjByAreaId(Long areaId);
/**
* 请求分账API
* @param sysDept 运营商
* @param transactionId 微信支付单号
* @param receivers 分账接收方
*/
public OrdersEntity createOrder(SysDept sysDept, String transactionId, List<CreateOrderReceiver> receivers);
/**
* 添加分账接收方
* @param wxopenid openid
* @param deptId 运营商id
*/
AddReceiverResponse addReceiver(String wxopenid,Long deptId,String type);
/**
* 删除分账接收方
* @param wxopenid openid
* @param deptId 运营商id
*/
DeleteReceiverResponse deleteReceiver(String wxopenid,Long deptId,String type);
}