admin
2022-04-07 e1cc0d03fadc2d251d36c0dc3650f75e830d5363
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.yeshi.makemoney.app.utils.mq;
 
import com.google.gson.Gson;
import com.qcloud.cmq.Message;
import com.yeshi.makemoney.app.dto.mq.AddGoldCornMQMsg;
import com.yeshi.makemoney.app.dto.mq.ExtractTransferResultMQMsg;
import com.yeshi.makemoney.app.dto.mq.GoldCornSettleMQMsg;
import org.yeshi.utils.StringUtil;
import org.yeshi.utils.mq.TDMQUtil;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * @author hxh
 * @title: CMQManager
 * @description: MQ
 * @date 2022/4/1 17:06
 */
public class CMQManager {
    private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25";
    private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo";
    private static CMQManager cmqManager;
    private static TDMQUtil tdmqUtil;
 
    public static String QUEUE_EXTRACT_RESULT = "makemoney-extract-result";
 
    public static String QUEUE_ADD_GOLDCORN = "makemoney-add-goldcorn";
 
    public static String QUEUE_GOLDCORN_SETTLE = "makemoney-goldcorn-settle";
 
    static {
        TDMQUtil.getInstance().init(secretId, secretKey, true);
        tdmqUtil = TDMQUtil.getInstance();
        tdmqUtil.createQueue(QUEUE_EXTRACT_RESULT);
        tdmqUtil.createQueue(QUEUE_ADD_GOLDCORN);
        tdmqUtil.createQueue(QUEUE_GOLDCORN_SETTLE);
    }
 
    public static CMQManager getInstance() {
        if (cmqManager == null) {
            cmqManager = new CMQManager();
        }
        return cmqManager;
    }
 
 
    /**
     * 添加提现结果消息
     *
     * @param msg
     */
    public void addExtractResultMsg(ExtractTransferResultMQMsg msg) {
        String content = new Gson().toJson(msg);
        tdmqUtil.sendMsg(QUEUE_EXTRACT_RESULT, content);
    }
 
    /**
     * 消费提现结果消息
     *
     * @param count
     * @return
     */
    public Map<String, ExtractTransferResultMQMsg> consumeExtractResultMsg(int count) {
        List<Message> list = tdmqUtil.recieveMsg(count, QUEUE_EXTRACT_RESULT);
        Map<String, ExtractTransferResultMQMsg> map = new HashMap<>();
        if (list != null) {
            for (Message msg : list) {
                String result = msg.msgBody;
                if (!StringUtil.isNullOrEmpty(result)) {
                    ExtractTransferResultMQMsg resultMQMsg = new Gson().fromJson(result,
                            ExtractTransferResultMQMsg.class);
                    map.put(msg.receiptHandle, resultMQMsg);
                }
            }
        }
        return map;
    }
 
    /**
     * 删除提现结果消息
     *
     * @param receiptHandle
     */
    public void deleteExtractResultMsg(String receiptHandle) {
        tdmqUtil.deleteMsg(QUEUE_EXTRACT_RESULT, receiptHandle);
    }
 
 
    /**
     * 添加金币
     **/
 
    public void addAddGoldCornMsg(AddGoldCornMQMsg msg) {
        String content = new Gson().toJson(msg);
        tdmqUtil.sendMsg(QUEUE_ADD_GOLDCORN, content);
    }
 
    public Map<String, AddGoldCornMQMsg> consumeAddGoldCornMsg(int count) {
        List<Message> list = tdmqUtil.recieveMsg(count, QUEUE_ADD_GOLDCORN);
        Map<String, AddGoldCornMQMsg> map = new HashMap<>();
        if (list != null) {
            for (Message msg : list) {
                String result = msg.msgBody;
                if (!StringUtil.isNullOrEmpty(result)) {
                    AddGoldCornMQMsg resultMQMsg = new Gson().fromJson(result,
                            AddGoldCornMQMsg.class);
                    map.put(msg.receiptHandle, resultMQMsg);
                }
            }
        }
        return map;
    }
 
    public void deleteAddGoldCornMsg(String receiptHandle) {
        tdmqUtil.deleteMsg(QUEUE_ADD_GOLDCORN, receiptHandle);
 
    }
 
    /**
     * 金币结算
     **/
    public void addGoldCornSettleMsg(GoldCornSettleMQMsg msg) {
        String content = new Gson().toJson(msg);
        tdmqUtil.sendMsg(QUEUE_GOLDCORN_SETTLE, content);
    }
 
    public Map<String, GoldCornSettleMQMsg> consumeGoldCornSettleMsg(int count) {
        List<Message> list = tdmqUtil.recieveMsg(count, QUEUE_GOLDCORN_SETTLE);
        Map<String, GoldCornSettleMQMsg> map = new HashMap<>();
        if (list != null) {
            for (Message msg : list) {
                String result = msg.msgBody;
                if (!StringUtil.isNullOrEmpty(result)) {
                    GoldCornSettleMQMsg resultMQMsg = new Gson().fromJson(result,
                            GoldCornSettleMQMsg.class);
                    map.put(msg.receiptHandle, resultMQMsg);
                }
            }
        }
        return map;
    }
 
    public void deleteGoldCornSettleMsg(String receiptHandle) {
        tdmqUtil.deleteMsg(QUEUE_GOLDCORN_SETTLE, receiptHandle);
    }
 
 
}