hjl
2024-07-16 ec6d43aa07ee0e8faf34498057ebcfbb446aa015
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/WithdrawService.java
@@ -1,18 +1,8 @@
package com.ruoyi.admin.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.admin.entity.Order;
import com.ruoyi.admin.entity.User;
import com.ruoyi.admin.entity.Withdraw;
import com.ruoyi.admin.entity.WithdrawalSetting;
import com.ruoyi.admin.request.WithdrawExportRequest;
import com.ruoyi.admin.vo.UserWithdrawRecordVO;
import com.ruoyi.common.core.domain.R;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -23,86 +13,15 @@
 * @author hjl
 * @since 2024-05-29
 */
public interface WithdrawService extends IService<Withdraw> {
public interface WithdrawService {
    /**
     * excel模板导出
     *
     * @param exportRequest 提现记录
     * @param response      响应体
     * @param data     提现记录
     * @param response 响应体
     * @return 导出结果
     */
    R<String> excelExport(WithdrawExportRequest exportRequest, HttpServletResponse response);
    R<String> excelExport(List<com.ruoyi.order.api.entity.UserWithdrawRecordVO> data, HttpServletResponse response);
    /**
     * 获取用户提现金额
     *
     * @param cityList     城市集合
     * @param startDateStr 季度开始时间
     * @param endDateStr   季度结束时间
     * @return 总金额
     */
    BigDecimal withdrawalTotalMoney(List<String> cityList, String startDateStr, String endDateStr);
    /**
     * 年度查询
     *
     * @param cityList 城市集合
     * @return 年度提现总额
     */
    BigDecimal withdrawalTotalMoneyByYear(List<String> cityList);
    /**
     * 月度查询
     *
     * @param cityList 城市列表
     * @return 年度提现总额
     */
    BigDecimal withdrawalTotalMoneyByMonth(List<String> cityList);
    /**
     * 用户所关联提现记录分页列表
     *
     * @param userId 用户id
     * @param page   分页参数
     * @return 分页列表
     */
    IPage<UserWithdrawRecordVO> withdrawList(Integer userId, Page<UserWithdrawRecordVO> page);
    /**
     * 关闭/开启审核
     *
     * @param enableProcess 关闭/开启审核
     * @return 操作结果
     */
    Boolean enableProcess(Integer enableProcess);
    /**
     * 获取全局审核设置
     *
     * @return 审核设置
     */
    WithdrawalSetting withdrawProcess();
    /**
     * 用户所关联提现记录分页列表
     *
     * @param nickname     用户名称
     * @param userPhone    用户手机号
     * @param applyForTime 申请开始时间
     * @param state        审核状态
     * @param page         分页
     * @return 分页列表
     */
    IPage<UserWithdrawRecordVO> withdrawPage(String nickname, String userPhone, String applyForTime,
                                             Integer state, Page<UserWithdrawRecordVO> page);
    /**
     * 提现审批通过,微信打款
     *
     * @param user  下单用户
     * @param order 订单信息
     * @return 打款结果
     */
    Boolean confirmWithdraw(User user, Order order);
}