yujian
2019-11-04 b800d0831438a2d354910a16325c1db6f2fb1231
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
138
package com.yeshi.fanli.service.inter.order;
 
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
 
import com.yeshi.fanli.dto.ChartTDO;
 
public interface CommonOrderCountService {
 
    /**
     * 当前各个状态订单数
     * 
     * @param state
     *            状态
     * @return
     */
    public Long countByState(Integer state);
 
    /**
     * 统计所有订单
     * 
     * @param channel
     * @return
     */
    public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime,
            int sourceType) throws Exception;
 
    /**
     * 统计总金额
     * 
     * @param dateType
     * @param year
     * @param startTime
     * @param endTime
     * @return
     * @throws Exception
     */
    public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime)
            throws Exception;
 
    /**
     * 统计总个数
     * 
     * @param dateType
     * @param year
     * @param startTime
     * @param endTime
     * @return
     * @throws Exception
     */
    public List<ChartTDO> countWeiQaunOrderNumber(Integer dateType, String year, String startTime, String endTime)
            throws Exception;
 
    /**
     * 根据结算时间统计
     * 
     * @param uid
     * @param state
     * @param day
     * @return
     * @throws Exception
     */
    public Map<String, Object> countOrderNumberBySettleTime(Long uid, Integer state, Integer day);
 
    /**
     * 根据结算时间筛选 上个月已结算的订订单数量
     * 
     * @param uid
     * @return
     */
    public Map<String, Object> lastMonthSettleOrderNumber(Long uid);
 
    /**
     * 根据订单号 统计奖励券加成金额
     * 
     * @param orderNo
     * @return
     */
    BigDecimal getMoneyByOrderNo(String orderNo);
 
    /**
     * 统计已到账返利订单
     * 
     * @param uid
     * @param dateTime
     * @return
     */
    public long countValidOrderByDate(Long uid, String dateTime);
 
    /**
     * 查询用户在同一店铺购买超过一定数量商品的店铺数量
     * 
     * @param typeList
     *            -红包类型
     * @param uid
     *            -用户ID
     * @param minSameShopGoodsCount
     *            -同一店铺买的最小订单数
     * @return
     */
    long countSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount);
 
    /**
     * 查询用户购买相同商品超过一定的订单数量的商品数量
     * 
     * @param typeList
     * @param uid
     * @param minSameGoodsOrderCount
     * @return
     */
    long countSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount);
 
    
    /**
     * 查询用户在同一店铺购买超过一定数量商品的店铺id
     * 
     * @param typeList
     *            -红包类型
     * @param uid
     *            -用户ID
     * @param minSameShopGoodsCount
     *            -同一店铺买的最小订单数
     * @return
     */
    List<Long> getSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount);
 
    /**
     * 查询用户购买相同商品超过一定的订单数量的商品id
     * 
     * @param typeList
     * @param uid
     * @param minSameGoodsOrderCount
     * @return
     */
    List<Long> getSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount);
 
}