xiaoyong931011
2023-06-08 52a7fcbe3f824dfc4cf8b0eedcb3a498f2618a56
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
package cc.mrbird.febs.rabbit.producer;
 
import cc.mrbird.febs.rabbit.QueueEnum;
import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import java.util.UUID;
 
/**
 * @author wzy
 * @date 2022-05-31
 **/
@Slf4j
@Component
public class ChainProducer implements RabbitTemplate.ConfirmCallback {
 
    /**
     * 配置中配置的RabbitTemplate的是prototype类型,不能直接注入
     */
    private RabbitTemplate rabbitTemplate;
 
    @Autowired
    public ChainProducer(RabbitTemplate rabbitTemplate) {
        this.rabbitTemplate = rabbitTemplate;
        rabbitTemplate.setConfirmCallback(this);
    }
 
    @Override
    public void confirm(CorrelationData correlationData, boolean ack, String cause) {
 
    }
 
    public void sendAchieveTreeMsg(Long id) {
        log.info("发送业绩树消息:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ACHIEVE_TREE.getExchange(), QueueEnum.ACHIEVE_TREE.getRoute(), id, correlationData);
    }
 
    /**
     * 消费者在tfc应用
     *
     * @param data
     */
    public void sendTfcFee(String data) {
        log.info("发送提现手续费消息:{}", data);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.WITHDRAW_FEE.getExchange(), QueueEnum.WITHDRAW_FEE.getRoute(), data, correlationData);
    }
 
    /**
     * 发送手续费分发消息
     *
     * @param id
     */
    public void sendFeeDistributeMsg(Long id) {
        log.info("发送手续费分发消息:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.DISTRIB_PROFIT.getExchange(), QueueEnum.DISTRIB_PROFIT.getRoute(), id, correlationData);
    }
 
    /**
     * 层级奖励分发消息
     *
     * 会员ID
     * @param id
     */
    public void sendLevelProfitMsg(Long id) {
        log.info("层级奖励分发消息:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.LEVEL_PROFIT.getExchange(), QueueEnum.LEVEL_PROFIT.getRoute(), id, correlationData);
    }
 
    /**
     * 计算是否有人出局分发消息
     */
    public void sendMemberOutMsg(Long id) {
        log.info("计算是否有人出局:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.MEMBER_OUT.getExchange(), QueueEnum.MEMBER_OUT.getRoute(), id, correlationData);
    }
 
    /**
     * 转账拨币
     */
    public void sendBnbTransferMsg(Long id) {
        log.info("开始转账拨币第一步:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.BNB_TRANSFER.getExchange(), QueueEnum.BNB_TRANSFER.getRoute(), id, correlationData);
    }
 
    /**
     * 转账拨币
     */
    public void sendBnbTransferTestMsg(Long id) {
        log.info("开始转账拨币第二步:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.BNB_TRANSFER_TEST.getExchange(), QueueEnum.BNB_TRANSFER_TEST.getRoute(), id, correlationData);
    }
 
    /**
     * 代理升级
     */
    public void sendAgentUpMsg(Long id) {
        log.info("代理升级:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.BNB_AGENT_UP.getExchange(), QueueEnum.BNB_AGENT_UP.getRoute(), id, correlationData);
    }
 
    /**
     *  A 入金的消息
     * @param id
     */
    public void sendAntACoinInMsg(Long id) {
        log.info("开始---A 入金的消息:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_A_CION_IN.getExchange(), QueueEnum.ANT_A_CION_IN.getRoute(), id, correlationData);
    }
 
    /**
     *  A 入金,转入A底池
     * @param id
     */
    public void sendAntACoinInAPoolMsg(Long id) {
        log.info("开始---A 入金,转入A底池:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_A_CION_IN_A_POOL.getExchange(), QueueEnum.ANT_A_CION_IN_A_POOL.getRoute(), id, correlationData);
    }
 
    /**
     *  A 入金,转入B底池
     * @param id
     */
    public void sendAntACoinInBPoolMsg(Long id) {
        log.info("开始---A 入金,转入B底池:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_A_CION_IN_B_POOL.getExchange(), QueueEnum.ANT_A_CION_IN_B_POOL.getRoute(), id, correlationData);
    }
 
    /**
     *  A 入金,5%节点
     * @param id
     */
    public void sendAntACoinInNodeMsg(Long id) {
        log.info("开始---A 入金,转入5%节点:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_A_CION_IN_NODE.getExchange(), QueueEnum.ANT_A_CION_IN_NODE.getRoute(), id, correlationData);
    }
 
    /**
     *  A 入金,10%极差奖
     * @param id
     */
    public void sendAntACoinInLevelMsg(Long id) {
        log.info("开始---A 入金,转入10%极差奖:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_A_CION_IN_LEVEL.getExchange(), QueueEnum.ANT_A_CION_IN_LEVEL.getRoute(), id, correlationData);
    }
 
    /**
     *  A 提现
     * @param id
     */
    public void sendAntACoinOutMsg(Long id) {
        log.info("开始---A 提现:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_A_CION_OUT.getExchange(), QueueEnum.ANT_A_CION_OUT.getRoute(), id, correlationData);
    }
 
    /**
     *  A 代理升级
     * @param memberId
     */
    public void sendAntMemberLevelMsg(Long memberId) {
        log.info("开始---A 代理升级:{}", memberId);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_MEMBER_LEVEL.getExchange(), QueueEnum.ANT_MEMBER_LEVEL.getRoute(), memberId, correlationData);
    }
 
    /**
     *  A k线数据
     * @param type
     */
    public void sendAntKLineMsg(int type) {
        log.info("开始---A k线数据:{}", type);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_K_LINE.getExchange(), QueueEnum.ANT_K_LINE.getRoute(), type, correlationData);
    }
 
    /**
     * 转账拨币
     */
    public void sendAntKLineABMsg(Long id) {
        log.info("开始转账拨币第二步:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ANT_K_LINE_AB.getExchange(), QueueEnum.ANT_K_LINE_AB.getRoute(), id, correlationData);
    }
 
    /**
     * 转账拨币
     */
    public void sendAllMemberPerkAvaMsg(Long id) {
        log.info("开始全体平分:{}", id);
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        rabbitTemplate.convertAndSend(QueueEnum.ALL_MEMBER_PERK_AVA.getExchange(), QueueEnum.ALL_MEMBER_PERK_AVA.getRoute(), id, correlationData);
    }
}