From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java | 99 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 69 insertions(+), 30 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java b/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java index bcdcece..29cb823 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java @@ -1,8 +1,7 @@ package com.yeshi.fanli.util; -import java.lang.reflect.Type; +import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -11,18 +10,14 @@ import com.alipay.api.response.AlipayFundTransToaccountTransferResponse; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.google.gson.reflect.TypeToken; import com.qcloud.cmq.Message; +import com.yeshi.fanli.dto.HongBao; import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo; import com.yeshi.fanli.entity.bus.user.Extract; -import com.yeshi.fanli.entity.bus.user.HongBao; 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.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; - -import net.sf.json.JSONObject; public class CMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; @@ -31,6 +26,10 @@ private static CMQUtil cmqUtil; // TODO 璁㈠崟澶勭悊闃熷垪 public static String QUEUENAME_ORDER = "fanli-orders"; + + // 鍒氬垰浜х敓鐨勮鍗曞鐞嗛槦鍒� + public static String QUEUENAME_NEW_ORDER = "fanli-new-orders"; + // 鎻愮幇缁撴灉澶勭悊闃熷垪 public static String EXTRACT_RESULT = "extract-result"; // TODO IOS鎺ㄩ�侀槦鍒� @@ -50,7 +49,20 @@ public static String GOODS_UPDATE = "goods_update_queue"; static { + + if (Constant.IS_TEST) { + QUEUENAME_ORDER = "test-" + QUEUENAME_ORDER; + QUEUENAME_NEW_ORDER = "test-" + QUEUENAME_NEW_ORDER; + EXTRACT_RESULT = "test-" + EXTRACT_RESULT; + PUSH_IOS = "test-" + PUSH_IOS; + FANLI_ORDER = "test-" + FANLI_ORDER; + FANLI_ORDER_NEW = "test-" + FANLI_ORDER_NEW; + FANLI_TICHENG_ORDER = "test-" + FANLI_TICHENG_ORDER; + ORDER_WEIQUAN = "test-" + ORDER_WEIQUAN; + } + 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(); @@ -61,6 +73,7 @@ cmqUtil = CMQUtil.getInstance(secretId, secretKey); // 鏈�澶ф秷鎭负1M cmqUtil.createQueue(QUEUENAME_ORDER, 1024 * 1024); + cmqUtil.createQueue(QUEUENAME_NEW_ORDER, 1024 * 1024); cmqUtil.createQueue(EXTRACT_RESULT); cmqUtil.createQueue(PUSH_IOS); cmqUtil.createQueue(FANLI_ORDER); @@ -81,11 +94,9 @@ * * @param orderMap */ - public void addTaoBaoOrderMsg(String orderId, List<TaoBaoOrder> orderList) { - if (!StringUtil.isNullOrEmpty(orderId) && orderList != null && orderList.size() > 0) { - JSONObject item = new JSONObject(); - item.put(orderId, new GsonBuilder().create().toJson(orderList)); - cmqUtil.sendMsg(QUEUENAME_ORDER, item.toString()); + public void addTaoBaoOrderMsg(String orderId) { + if (!StringUtil.isNullOrEmpty(orderId)) { + cmqUtil.sendMsg(QUEUENAME_ORDER, orderId); } } @@ -94,27 +105,18 @@ * * @param count */ - @SuppressWarnings("unchecked") - public Map<String, List<TaoBaoOrder>> consumeTaoBaoOrderMsg(int count) { + public List<String> consumeTaoBaoOrderMsg(int count) { + List<String> resultList = new ArrayList<>(); List<Message> list = cmqUtil.recieveMsg(count, QUEUENAME_ORDER); - Map<String, List<TaoBaoOrder>> map = new HashMap<>(); if (list != null) for (Message msg : list) { String result = msg.msgBody; - JSONObject data = JSONObject.fromObject(result); - Iterator<String> its = data.keySet().iterator(); - if (its.hasNext()) { - String orderId = its.next(); - Type type = new TypeToken<List<TaoBaoOrder>>() { - }.getType(); - List<TaoBaoOrder> orderList = new Gson().fromJson(data.optJSONArray(orderId).toString(), type); - map.put(orderId, orderList); - } + resultList.add(result); // 鍒犻櫎娑堟伅 cmqUtil.deleteMsg(QUEUENAME_ORDER, msg.receiptHandle); } - return map; + return resultList; } /** @@ -123,7 +125,46 @@ * @param receiptHandle */ public void deleteTaoBaoOrderMsg(String receiptHandle) { - cmqUtil.deleteMsg(EXTRACT_RESULT, receiptHandle); + cmqUtil.deleteMsg(QUEUENAME_ORDER, receiptHandle); + } + + /** + * 鍙戦�佽鍗曟秷鎭紙鍒氬垰浜х敓鐨勮鍗曪級 + * + * @param orderMap + */ + public void addTaoBaoNewOrderMsg(String orderId) { + if (!StringUtil.isNullOrEmpty(orderId)) { + cmqUtil.sendMsg(QUEUENAME_NEW_ORDER, orderId); + } + } + + /** + * 娑堣垂娣樺疂璁㈠崟娑堟伅锛堝垰鍒氫骇鐢熺殑璁㈠崟锛� + * + * @param count + */ + public List<String> consumeTaoBaoNewOrderMsg(int count) { + List<String> resultList = new ArrayList<>(); + List<Message> list = cmqUtil.recieveMsg(count, QUEUENAME_NEW_ORDER); + + if (list != null) + for (Message msg : list) { + String result = msg.msgBody; + resultList.add(result); + // 鍒犻櫎娑堟伅 + cmqUtil.deleteMsg(QUEUENAME_NEW_ORDER, msg.receiptHandle); + } + return resultList; + } + + /** + * 鍒犻櫎娣樺疂璁㈠崟娑堟伅锛堝垰鍒氫骇鐢熺殑璁㈠崟锛� + * + * @param receiptHandle + */ + public void deleteTaoBaoNewOrderMsg(String receiptHandle) { + cmqUtil.deleteMsg(QUEUENAME_NEW_ORDER, receiptHandle); } /** @@ -194,8 +235,7 @@ } return map; } - - + public Map<String, HongBaoV2> consumeFanLiMsgNew(int count) { List<Message> list = cmqUtil.recieveMsg(count, FANLI_ORDER_NEW); Map<String, HongBaoV2> map = new HashMap<>(); @@ -209,12 +249,11 @@ } return map; } - public void deleteFanLiMsg(String receiptHandle) { cmqUtil.deleteMsg(FANLI_ORDER, receiptHandle); } - + public void deleteFanLiMsgNew(String receiptHandle) { cmqUtil.deleteMsg(FANLI_ORDER_NEW, receiptHandle); } -- Gitblit v1.8.0