hjl
2024-07-05 428519bd1056dd90cd4589dbf85b380e403ff254
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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;
 
/**
 * <p>
 * 用户提现记录表 服务类
 * </p>
 *
 * @author hjl
 * @since 2024-05-29
 */
public interface WithdrawService extends IService<Withdraw> {
 
    /**
     * excel模板导出
     *
     * @param exportRequest 提现记录
     * @param response      响应体
     * @return 导出结果
     */
    R<String> excelExport(WithdrawExportRequest exportRequest, 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);
}