package com.ruoyi.system.service;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
import com.ruoyi.system.domain.SysTaskAdditionalFee;
|
import com.ruoyi.system.domain.SysTaskPayment;
|
import com.ruoyi.system.domain.vo.TaskPaymentInfoVO;
|
import com.ruoyi.system.domain.vo.TaskPaymentCreateVO;
|
import com.ruoyi.system.domain.vo.TaskPaymentResultVO;
|
|
/**
|
* 任务支付Service接口
|
*
|
* @author ruoyi
|
* @date 2025-01-15
|
*/
|
public interface ISysTaskPaymentService {
|
|
/**
|
* 获取任务支付信息
|
*
|
* @param taskId 任务ID
|
* @return 支付信息
|
*/
|
TaskPaymentInfoVO getPaymentInfo(Long taskId);
|
|
/**
|
* 新增附加费用
|
*
|
* @param taskId 任务ID
|
* @param feeType 费用类型
|
* @param feeName 费用名称
|
* @param unitAmount 单价
|
* @param quantity 数量
|
* @param remark 备注
|
* @return 附加费用汇总
|
*/
|
BigDecimal addAdditionalFee(Long taskId, String feeType, String feeName,
|
BigDecimal unitAmount, Integer quantity, String remark);
|
|
/**
|
* 删除附加费用
|
*
|
* @param taskId 任务ID
|
* @param feeId 费用ID
|
* @return 附加费用汇总
|
*/
|
BigDecimal removeAdditionalFee(Long taskId, Long feeId);
|
|
/**
|
* 创建支付
|
*
|
* @param createVO 创建支付VO
|
* @return 支付结果
|
*/
|
TaskPaymentResultVO createPayment(TaskPaymentCreateVO createVO);
|
|
/**
|
* 查询支付状态
|
*
|
* @param taskId 任务ID
|
* @param paymentId 支付ID(可选)
|
* @return 支付结果
|
*/
|
TaskPaymentResultVO getPaymentStatus(Long taskId, Long paymentId);
|
|
/**
|
* 支付回调处理
|
*
|
* @param outTradeNo 商户订单号
|
* @param tradeNo 三方交易号
|
* @param provider 支付提供商
|
* @return 是否处理成功
|
*/
|
boolean handlePaymentCallback(String outTradeNo, String tradeNo, String provider);
|
|
/**
|
* 查询任务的附加费用列表
|
*
|
* @param taskId 任务ID
|
* @return 附加费用列表
|
*/
|
List<SysTaskAdditionalFee> getAdditionalFees(Long taskId);
|
|
/**
|
* 查询任务的最新支付记录
|
*
|
* @param taskId 任务ID
|
* @return 支付记录
|
*/
|
SysTaskPayment getLatestPayment(Long taskId);
|
}
|