admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
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
package com.yeshi.fanli.util.mq.rabbit;
 
import com.alipay.api.response.AlipayFundTransUniTransferResponse;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.dto.HongBao;
import com.yeshi.fanli.dto.mq.UidDateDTO;
import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo;
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.push.PushQueueRecord;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Component;
 
import javax.annotation.Resource;
 
/**
 * @author hxh
 * @title: RabbitmqManager
 * @description: 消息管理
 * @date 2024/10/14 10:19
 */
@Component
public class RabbitmqManager {
    // 订单处理队列
    public static String QUEUENAME_ORDER = "fanli-orders";
 
    // 刚刚产生的订单处理队列
    public static String QUEUENAME_NEW_ORDER = "fanli-new-orders";
 
    // 提现结果处理队列
    public static String EXTRACT_RESULT = "extract-result";
    // IOS推送队列
    public static String PUSH_IOS = "push-ios";
 
    // 返利队列
    public static String FANLI_ORDER = "fanli-order";
 
    // 返利队列
    public static String FANLI_ORDER_NEW = "fanli-order-new";
 
 
    // 分享订单收益
    public static String FANLI_SHARE_ORDER = "fanli-share-order";
 
    // 维权订单
    public static String ORDER_WEIQUAN = "weiquan-order";
 
    public static String GOODS_UPDATE = "goods_update_queue";
    // 重要数据更新
    public static String IMPORTANT_GOODS_UPDATE = "imp_goods_update_queue";
 
    //特价会员开通
    public static String TEJIA_VIP = "tejia_vip";
 
 
    static {
        QUEUENAME_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
        QUEUENAME_NEW_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
        EXTRACT_RESULT += "-" + Constant.systemCommonConfig.getProjectName();
        PUSH_IOS += "-" + Constant.systemCommonConfig.getProjectName();
        FANLI_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
        FANLI_ORDER_NEW += "-" + Constant.systemCommonConfig.getProjectName();
        ORDER_WEIQUAN += "-" + Constant.systemCommonConfig.getProjectName();
        IMPORTANT_GOODS_UPDATE += "-" + Constant.systemCommonConfig.getProjectName();
        FANLI_SHARE_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
        TEJIA_VIP += "-" + Constant.systemCommonConfig.getProjectName();
    }
 
    @Resource
    private RabbitTemplate rabbitTemplate;
 
 
    /**
     * 发送订单消息
     *
     * @param orderId
     */
    public void addTaoBaoOrderMsg(String orderId) {
        if (!StringUtil.isNullOrEmpty(orderId)) {
            RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, QUEUENAME_ORDER, orderId);
        }
    }
 
 
    /**
     * 发送订单消息(刚刚产生的订单)
     *
     * @param orderId
     */
    public void addTaoBaoNewOrderMsg(String orderId) {
        if (!StringUtil.isNullOrEmpty(orderId)) {
            RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, QUEUENAME_NEW_ORDER, orderId);
        }
    }
 
    /**
     * 添加提现结果消息
     *
     * @param extract
     * @param response
     */
    public void addExtractResultMsg(Extract extract, AlipayFundTransUniTransferResponse response,
                                    AdminUser adminUser) {
        String content = new Gson().toJson(new AlipayTransferResultInfo(extract, response, adminUser));
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, EXTRACT_RESULT, content);
    }
 
    // 订单返利
    public void addFanLiMsg(HongBao hongBao) {
        String content = new Gson().toJson(hongBao);
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, FANLI_ORDER, content);
    }
 
 
    // 新版订单返利
    public void addFanLiMsgNew(HongBaoV2 hongBao) {
        String content = new Gson().toJson(hongBao);
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, FANLI_ORDER_NEW, content);
    }
 
    // 分享订单收益
    public void addFanLiShareMsg(UidDateDTO dto) {
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, FANLI_SHARE_ORDER, new Gson().toJson(dto));
    }
 
 
    // 维权订单
    public void addWeiQuanOrderMsg(TaoBaoWeiQuanOrder order) {
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, ORDER_WEIQUAN, new Gson().toJson(order));
    }
 
    /**
     * 添加IOS推送消息
     *
     * @param pushQueueRecord
     */
    public void addIOSPushMsg(PushQueueRecord pushQueueRecord) {
 
        String content = new GsonBuilder().create().toJson(pushQueueRecord);
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, PUSH_IOS, content);
    }
 
    /**
     * 添加需要更新的商品ID
     *
     * @param goodsId
     */
    public void addNeedUpdateTaoBaoGoodsId(String goodsId) {
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, GOODS_UPDATE, goodsId + "");
    }
 
    /**
     * 添加淘宝重要商品更新
     *
     * @param actionId
     */
    public void addTBImpGoodsUpdate(String actionId) {
        RabbitmqSenderUtil.sendQueueMsg(rabbitTemplate, IMPORTANT_GOODS_UPDATE, actionId + "");
    }
 
 
}