yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java
@@ -47,6 +47,8 @@
   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";
   static {
@@ -59,6 +61,7 @@
         FANLI_ORDER_NEW = "test-" + FANLI_ORDER_NEW;
         FANLI_TICHENG_ORDER = "test-" + FANLI_TICHENG_ORDER;
         ORDER_WEIQUAN = "test-" + ORDER_WEIQUAN;
         IMPORTANT_GOODS_UPDATE = "test-" + IMPORTANT_GOODS_UPDATE;
      }
      QUEUENAME_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
@@ -69,6 +72,7 @@
      FANLI_ORDER_NEW += "-" + Constant.systemCommonConfig.getProjectName();
      FANLI_TICHENG_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
      ORDER_WEIQUAN += "-" + Constant.systemCommonConfig.getProjectName();
      IMPORTANT_GOODS_UPDATE += "-" + Constant.systemCommonConfig.getProjectName();
      cmqUtil = CMQUtil.getInstance(secretId, secretKey);
      // 最大消息为1M
@@ -81,6 +85,7 @@
      cmqUtil.createQueue(FANLI_TICHENG_ORDER);
      cmqUtil.createQueue(ORDER_WEIQUAN);
      cmqUtil.createQueue(GOODS_UPDATE);
      cmqUtil.createQueue(IMPORTANT_GOODS_UPDATE);
   }
   public static CMQManager getInstance() {
@@ -389,4 +394,44 @@
      cmqUtil.deleteMsg(GOODS_UPDATE, receiptHandle);
   }
   /**
    * 添加淘宝重要商品更新
    *
    * @param actionId
    */
   public void addTBImpGoodsUpdate(Long actionId) {
      cmqUtil.sendMsg(IMPORTANT_GOODS_UPDATE, actionId + "");
   }
   /**
    * 读取重要商品更新队列
    *
    * @param count
    * @return
    */
   public Map<String, Long> consumeTBImpGoodsUpdateMsg(int count) {
      List<Message> list = cmqUtil.recieveMsg(count, IMPORTANT_GOODS_UPDATE);
      if (list == null) {
         return null;
      }
      Map<String, Long> map = new HashMap<>();
      for (Message msg : list) {
         String result = msg.msgBody;
         if (!StringUtil.isNullOrEmpty(result)) {
            map.put(msg.receiptHandle, Long.parseLong(result));
         }
      }
      return map;
   }
   /**
    * 删除队列消息
    *
    * @param receiptHandle
    */
   public void deleteTBImpGoodsUpdateMsg(String receiptHandle) {
      cmqUtil.deleteMsg(IMPORTANT_GOODS_UPDATE, receiptHandle);
   }
}