yujian
2020-03-24 fd1dce3121a7773419263c495f92e160cc1e7124
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com.yeshi.fanli.service.inter.count;
 
import java.math.BigDecimal;
import java.util.List;
 
import com.yeshi.fanli.dto.ChartTDO;
import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
import com.yeshi.fanli.vo.user.SystemCouponVO;
import com.yeshi.fanli.vo.user.UserSystemCouponCountVO;
 
public interface UserSystemCouponCountService {
 
    /**
     * 奖励券统计
     * @param start
     * @param count
     * @param key
     * @param keyType
     * @param state
     * @param percent
     * @return
     */
    public List<UserSystemCouponCountVO> listRebateCoupon(long start, int count, String key, Integer keyType, Integer state,
            Integer percent);
 
    public long countRebateCoupon(String key, Integer keyType, Integer state, Integer percent);
 
    /**
     * 免单券
     * @param start
     * @param count
     * @param key
     * @param keyType
     * @param state
     * @return
     */
    public List<UserSystemCouponCountVO> listFreeCoupon(long start, int count, String key, Integer keyType, Integer state, Integer activated);
 
    public long countFreeCoupon(String key, Integer keyType, Integer state, Integer activated);
 
    /**
     * 免单券使用记录
     * @param start
     * @param count
     * @param key
     * @param keyType
     * @param state
     * @return
     */
    public List<UserSystemCouponCountVO> listFreeCouponRecord(long start, int count, String key, Integer keyType,
            Integer state);
 
    public long countFreeCouponRecord(String key, Integer keyType, Integer state);
 
    /**
     * 系统奖励券金额统计
     * @param start
     * @param count
     * @param key
     * @param sort
     * @return
     */
    public List<SystemCouponVO> listSystemCouponByRebate(long start, int count, String key, Integer sort);
 
    public long countSystemCouponRebate(String key);
 
    /**
     * 免单券统计
     * @param start
     * @param count
     * @param key
     * @param sort
     * @return
     */
    public List<SystemCouponVO> listSystemCouponByFree(long start, int count, String key, Integer sort);
 
    public long countSystemCouponFree(String key);
 
    /**
     * 曲线图-奖励券使用数量
     * @param dateType
     * @param year
     * @param startTime
     * @param endTime
     * @return
     */
    public List<ChartTDO> getRebateCouponUsedNumToCharts(Integer dateType, String year, String startTime,
            String endTime);
 
    /**
     * 奖励券使用成功金额曲线图
     * @param dateType
     * @param year
     * @param startTime
     * @param endTime
     * @return
     */
    public List<ChartTDO> getRebateCouponMoneyToCharts(Integer dateType, String year, String startTime,
            String endTime);
 
    /**
     * 统计免单券金额
     * @param dateType
     * @param year
     * @param startTime
     * @param endTime
     * @param couponType
     * @return
     */
    public List<ChartTDO> getFreeCouponMoneyToCharts(Integer dateType, String year, String startTime,
            String endTime, String couponType);
 
    
    /**
     * 根据券类型 统计免单金额
     * @param typeEnum
     * @param preDay
     * @return
     */
    public BigDecimal countFreeMoneyByTypeAndDay(CouponTypeEnum typeEnum, String preDay);
 
    /**
     * 统计奖励券成功金额
     * @param preDay
     * @return
     */
    public BigDecimal countRebateMoneyByDay(String preDay);
 
    /**
     * 每日新增券数量
     * @param typeEnum
     * @param preDay
     * @return
     */
    public BigDecimal countCouponNumByDay(CouponTypeEnum typeEnum, String preDay);
    
}