package com.ruoyi.order.service;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.ruoyi.order.entity.Order;
|
import com.ruoyi.order.entity.Withdraw;
|
import com.ruoyi.order.entity.WithdrawalSetting;
|
import com.ruoyi.order.request.WithdrawExportRequest;
|
import com.ruoyi.order.vo.MoneyQueryRequest;
|
import com.ruoyi.order.vo.UserWithdrawRecordVO;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 用户提现申请记录表 服务类
|
* </p>
|
*
|
* @author hjl
|
* @since 2024-07-09
|
*/
|
public interface WithdrawService extends IService<Withdraw> {
|
|
/**
|
* 用户所关联提现记录分页列表
|
*
|
* @param nickname 用户名称
|
* @param userPhone 用户手机号
|
* @param applyForTime 申请开始时间
|
* @param state 审核状态
|
* @param page 分页
|
* @return 分页列表
|
*/
|
Page<UserWithdrawRecordVO> withdrawPage(String nickname, String userPhone, String applyForTime,
|
Integer state, Page<UserWithdrawRecordVO> page);
|
|
/**
|
* 根据筛选条件查询数据
|
*
|
* @param exportRequest 筛选参数
|
* @return 查询列表
|
*/
|
List<UserWithdrawRecordVO> excelExport(WithdrawExportRequest exportRequest);
|
|
/**
|
* 提现审批通过,微信打款
|
*
|
* @param openId 微信用户openId
|
* @param userId 用户id
|
* @param order 订单信息
|
* @return 打款结果
|
*/
|
Boolean confirmWithdraw(String openId, Integer userId, Order order);
|
|
/**
|
* 根据类型统计提现金额
|
*
|
* @param request 根据类型统计提现金额
|
* @return 提现金额
|
*/
|
BigDecimal withdrawalTotalMoney(MoneyQueryRequest request);
|
|
/**
|
* 修改全局审核状态
|
*
|
* @param enableProcess 状态
|
* @return 修改结果
|
*/
|
Boolean enableProcess(Integer enableProcess);
|
|
/**
|
* 获取全局审核设置
|
*
|
* @return 审核设置
|
*/
|
WithdrawalSetting withdrawProcess();
|
|
/**
|
* 用户所关联提现记录分页列表
|
*
|
* @param userId 用户id
|
* @param page 分页参数
|
* @return 分页列表
|
*/
|
Page<UserWithdrawRecordVO> withdrawList(Integer userId, Page<UserWithdrawRecordVO> page);
|
|
/**
|
* 用户端-提交提现申请
|
*
|
* @param orderId 订单id
|
* @param userId 用户id
|
* @param openId 微信用户openId
|
* @param userPhone 用户手机号
|
* @return 提现结果
|
*/
|
Boolean confirmWithdrawByUser(String orderId, Integer userId, String openId, String userPhone);
|
|
}
|