admin
2024-08-09 27c6695551c7229786ef2cf7dae722886c9edf53
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
139
140
141
142
143
144
145
146
147
148
149
150
package com.taoke.autopay.service;
 
import com.taoke.autopay.dao.KeyOrderMapper;
import com.taoke.autopay.dto.ChannelOrderStatistic;
import com.taoke.autopay.dto.DYOrderDto;
import com.taoke.autopay.entity.KeyOrder;
import com.taoke.autopay.exception.KeyOrderException;
import com.taoke.autopay.exception.KeyVerifyException;
import com.taoke.autopay.exception.WxOrderCountException;
import com.taoke.autopay.vo.SubmitKeyInfo;
 
import java.util.Date;
import java.util.List;
 
/**
 * @author hxh
 * @title: KeyOrderService
 * @description: 口令订单服务
 * @date 2024/6/14 19:11
 */
public interface KeyOrderService {
 
    /**
     * @return com.taoke.autopay.entity.KeyOrder
     * @author hxh
     * @description 根据ID查询
     * @date 19:39 2024/6/14
     * @param: id
     **/
    public KeyOrder selectById(String id);
 
    /**
     * @return void
     * @author hxh
     * @description 添加订单
     * @date 19:19 2024/6/14
     * @param: key
     **/
    public KeyOrder addKeyOrder(SubmitKeyInfo keyInfo, Long uid, String day,Integer orderType, DYOrderDto orderDto) throws KeyOrderException, WxOrderCountException;
 
    /**
     * @return void
     * @author hxh
     * @description 更新订单信息
     * @date 19:19 2024/6/14
     * @param: keyOrder
     **/
    public void update(KeyOrder keyOrder);
 
    /**
     * @author hxh 
     * @description 支付成功
     * @date 0:11 2024/6/29
     * @param: id
     * @param: stateDesc
     * @param: day
     * @return void
     **/
    public void paySuccess(String id, String stateDesc,String day) throws WxOrderCountException ;
 
 
    /**
     * @return void
     * @author hxh
     * @description 设置订单信息
     * @date 19:41 2024/6/14
     * @param: id
     * @param: orderNo
     * @param: orderState
     **/
    public void setOrderInfo(String id, String orderNo, int orderState) throws KeyOrderException;
 
    public List<KeyOrder> list(KeyOrderMapper.DaoQuery query);
 
    public long count(KeyOrderMapper.DaoQuery query);
 
    public List<KeyOrder> listWithUser(KeyOrderMapper.DaoQuery query);
 
    public long countWithUser(KeyOrderMapper.DaoQuery query);
 
    public ChannelOrderStatistic statisticWithUser(KeyOrderMapper.DaoQuery query);
 
    public List<ChannelOrderStatistic> statisticChannelOrders(Long agentId,Date startTime,Date endTime);
 
 
    /**
     * @return java.lang.Long
     * @author hxh
     * @description 获取可用于分配的设备ID信息
     * @date 16:41 2024/6/17
     **/
    public Long getCanDistributeUid(int maxQueueSize);
 
    /**
     * @return java.util.List<com.taoke.autopay.entity.KeyOrder>
     * @author hxh
     * @description 查询还没分配设备ID的数据
     * @date 16:40 2024/6/17
     * @param: page
     * @param: pageSize
     **/
    public List<KeyOrder> listNotDistributed(int page, int pageSize);
 
    /**
     * @return void
     * @author hxh
     * @description 删除所有数据
     * @date 16:40 2024/6/17
     * @param: maxCreateTime
     **/
    public void deleteAll(Date maxCreateTime);
 
 
    /**
     * @author hxh 
     * @description 验证口令
     * @date 20:38 2024/7/23
     * @param: id
     * @param: orderNoDesc
     * @param: orderStatus
     * @param: money
     * @return void
     **/
    public DYOrderDto verifyKey(String orderNoDesc, String orderStatus, String money, Long uid, String keyId) throws KeyVerifyException;
 
    /**
     * @author hxh 
     * @description 移除分配的设备
     * @date 21:46 2024/7/26
     * @param: id
     * @return void
     **/
    public void removeDistributedClient(String id);
 
    /**
     *  代理ID列表
     * @param query
     * @return
     */
    public List<Long> listAgentId(KeyOrderMapper.DaoQuery query);
 
 
    /**
     * 代理ID数量
     * @param query
     * @return
     */
    public long countAgentId(KeyOrderMapper.DaoQuery query);
 
}