xiongwanxiong 2 долоо хоног өмнө
parent
commit
5c1936ab2c

+ 21 - 12
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/async/AsyncPushService.java

@@ -1,6 +1,7 @@
 package cn.gov.customs.wxjy.ibmmq.async;
 
 import cn.gov.customs.wxjy.ibmmq.config.DataMessageBuilder;
+import cn.gov.customs.wxjy.ibmmq.config.MQProperties;
 import cn.gov.customs.wxjy.ibmmq.config.PushContext;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -18,6 +19,7 @@ import java.util.List;
 @Service
 @RequiredArgsConstructor
 public class AsyncPushService {
+    private final MQProperties mqProperties;
 	static Logger logger = LoggerFactory.getLogger(AsyncPushService.class);
     /**
      * 异步推送数据、流程数据、附件
@@ -32,18 +34,25 @@ public class AsyncPushService {
     @Async("asyncTaskExecutor")  // 指定使用配置的线程池
     public void sendAsync(PushContext context, Object data, String mapperClassName, String method, String propertyName,
                           Class<?>[] methodParamTypes, List<String> attachments) {
-        try {
-            DataMessageBuilder.create(context)
-                    .withData(data)
-                    .withMapperClassName(mapperClassName)
-                    .withMethod(method)
-                    .withPropertyName(propertyName)
-                    .withMethodParamTypes(methodParamTypes)
-                    .withAttachments(attachments)
-                    .send();
-        } catch (Exception e) {
-			logger.error("【异步推送失败】业务ID: {}, 类型: {}", context.getBusId(), context.getBusType(), e);
-            // 这里可以添加失败重试或告警逻辑
+        // 添加空指针检查
+        if (mqProperties == null) {
+            logger.error("mqProperties 未注入成功,跳过推送");
+            return;
+        }
+        if(mqProperties.isMqEnabled()) {
+            try {
+                DataMessageBuilder.create(context)
+                        .withData(data)
+                        .withMapperClassName(mapperClassName)
+                        .withMethod(method)
+                        .withPropertyName(propertyName)
+                        .withMethodParamTypes(methodParamTypes)
+                        .withAttachments(attachments)
+                        .send();
+            } catch (Exception e) {
+                logger.error("【异步推送失败】业务ID: {}, 类型: {}", context.getBusId(), context.getBusType(), e);
+                // 这里可以添加失败重试或告警逻辑
+            }
         }
     }
 }

+ 5 - 0
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/config/MQProperties.java

@@ -12,6 +12,11 @@ import org.springframework.stereotype.Component;
 @PropertySource("classpath:application.properties")
 public class MQProperties {
 
+    /**
+     * 是否监听mq
+     */
+    private boolean mqEnabled = true;
+
     /**
      * MQ 地址
      */

+ 5 - 0
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/listener/MQMessageListener.java

@@ -93,6 +93,11 @@ public class MQMessageListener implements JmsListenerConfigurer {
 
 	@Override
 	public void configureJmsListeners(@NonNull JmsListenerEndpointRegistrar registrar) {
+		// ========== 判断是否禁用mq监听 ==========
+		if (!mqProperties.isMqEnabled()) {
+			log.warn("MQ监听器已禁用 (mqEnabled=false),跳过注册");
+			return;
+		}
 		log.debug("registrar:"+ JSON.toJSONString(registrar));
 		String envType = mqProperties.getEnvType();
 		if (EnvType.ENTERPRISE.name().equalsIgnoreCase(envType)) {

+ 3 - 3
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/task/ScheduledTasks.java

@@ -74,7 +74,7 @@ public class ScheduledTasks {
     /**
      * 包装种类定时任务调度
      */
-    @Scheduled(cron = "0 10 3 ? * SAT")
+//    @Scheduled(cron = "0 10 3 ? * SAT")
     public void schedulePackCatalogTask() {
         executeTask(packCatalogTask, "包装种类目录推送数据");
     }
@@ -82,7 +82,7 @@ public class ScheduledTasks {
     /**
      * 危险货物定时任务调度
      */
-    @Scheduled(cron = "0 20 3 ? * SAT")
+//    @Scheduled(cron = "0 20 3 ? * SAT")
     public void scheduleGoodsCatalogTask() {
         executeTask(goodsCatalogTask, "危险货物目录推送数据");
     }
@@ -90,7 +90,7 @@ public class ScheduledTasks {
     /**
      * 危化品目录定时任务调度
      */
-    @Scheduled(cron = "0 30 3 ? * SAT")
+//    @Scheduled(cron = "0 30 3 ? * SAT")
     public void scheduleChemicalsCatalogTask() {
         executeTask(chemicalsCatalogTask, "危化品目录推送数据");
     }

+ 44 - 40
wxjy-wxjy-service/src/main/resources/application.properties

@@ -1,48 +1,48 @@
 ## \u5F00\u53D1\u73AF\u5883\u914D\u7F6E
 ## IBM MQ \u914D\u7F6E
-ibm.mq.host=43.137.18.189
-ibm.mq.port=1414
-ibm.mq.user=admin
-ibm.mq.password=mqm@2025
-
-# \u961F\u5217\u914D\u7F6E
-# \u961F\u5217\u7BA1\u7406\u5668\u540D\u79F0
-ibm.mq.queue-manager=QMMng
-# \u670D\u52A1\u5668\u8FDE\u63A5\u901A\u9053\u540D\u79F0
-ibm.mq.channel=DEV.ADMIN.SVRCONN
-
-# \u8FDC\u7A0B\u961F\u5217 \u53D1\u9001\u6D88\u606F
-ibm.mq.send-queue=FZX.RECE.ENT.ZYZF
-# \u672C\u5730\u961F\u5217 \u63A5\u6536\u6D88\u606F
-ibm.mq.receive-queue=ENT.RECE.MNG.ZYZF
-\u6D88\u606F\u53D1\u9001\u65B9\u6807\u8BC6
-msg.sender-id=ZYZFCUST00000001
-# \u6D88\u606F\u63A5\u6536\u65B9\u6807\u8BC6(\u5982\u679C\u6709\u591A\u4E2A\uFF0C\u7528\u9017\u53F7\u5206\u9694)
-msg.receiver-id=ZYZFPLAT00000001
-# \u63A8\u9001\u9644\u4EF6\u5730\u5740(\u5F00\u53D1\u73AF\u5883\u4E0E\u4EE3\u7801\u540C\u4E00\u4E2A\u78C1\u76D8)
-ibm.mq.file-upload-path=/data/swfzsb/files/uploadPath
+#ibm.mq.host=43.137.18.189
+#ibm.mq.port=1414
+#ibm.mq.user=admin
+#ibm.mq.password=mqm@2025
+#
+## \u961F\u5217\u914D\u7F6E
+## \u961F\u5217\u7BA1\u7406\u5668\u540D\u79F0
+#ibm.mq.queue-manager=QMMng
+## \u670D\u52A1\u5668\u8FDE\u63A5\u901A\u9053\u540D\u79F0
+#ibm.mq.channel=DEV.ADMIN.SVRCONN
+#
+## \u8FDC\u7A0B\u961F\u5217 \u53D1\u9001\u6D88\u606F
+#ibm.mq.send-queue=FZX.RECE.ENT.ZYZF
+## \u672C\u5730\u961F\u5217 \u63A5\u6536\u6D88\u606F
+#ibm.mq.receive-queue=ENT.RECE.MNG.ZYZF
+#\u6D88\u606F\u53D1\u9001\u65B9\u6807\u8BC6
+#msg.sender-id=ZYZFCUST00000001
+## \u6D88\u606F\u63A5\u6536\u65B9\u6807\u8BC6(\u5982\u679C\u6709\u591A\u4E2A\uFF0C\u7528\u9017\u53F7\u5206\u9694)
+#msg.receiver-id=ZYZFPLAT00000001
+## \u63A8\u9001\u9644\u4EF6\u5730\u5740(\u5F00\u53D1\u73AF\u5883\u4E0E\u4EE3\u7801\u540C\u4E00\u4E2A\u78C1\u76D8)
+#ibm.mq.file-upload-path=/data/swfzsb/files/uploadPath
 
 # \u751F\u4EA7\u73AF\u5883\u914D\u7F6E
 # IBM MQ \u914D\u7F6E
-#ibm.mq.host=10.79.90.173
-#ibm.mq.port=1416
-#ibm.mq.user=
-#ibm.mq.password=
-### \u961F\u5217\u914D\u7F6E
-### \u961F\u5217\u7BA1\u7406\u5668\u540D\u79F0
-#ibm.mq.queue-manager=QM.EAN_CUS_JOIN
-### \u670D\u52A1\u5668\u8FDE\u63A5\u901A\u9053\u540D\u79F0
-#ibm.mq.channel=JAVA.CONN
-## \u4F01\u4E1A\u7AEF\u53D1\u9001\u6D88\u606F\u961F\u5217\uFF08\u6D77\u5173\u7AEF\u63A5\u6536\u6D88\u606F\u961F\u5217-\u672C\u5730\u961F\u5217\uFF09
-#ibm.mq.send-queue=QL.WXJY_61_TO_173
-## \u4F01\u4E1A\u7AEF\u63A5\u6536\u6D88\u606F\u961F\u5217\uFF08\u6D77\u5173\u7AEF\u53D1\u9001\u6D88\u606F\u961F\u5217-\u8FDC\u7A0B\u961F\u5217\uFF09
-#ibm.mq.receive-queue=QR.WXJY_173_TO_61
-## \u6D88\u606F\u53D1\u9001\u65B9\u6807\u8BC6
-#msg.sender-id=DXPSDC4700100071
-## \u6D88\u606F\u63A5\u6536\u65B9\u6807\u8BC6(\u5982\u679C\u6709\u591A\u4E2A\uFF0C\u7528\u9017\u53F7\u5206\u9694)
-#msg.receiver-id=DXPSDC4700ENT273
-## \u63A8\u9001\u9644\u4EF6\u5730\u5740(\u6D77\u5173\u7AEFLinux\u670D\u52A1\u5668\u8DEF\u5F84)
-#ibm.mq.file-upload-path=/data/swfzsb/files/uploadPath
+ibm.mq.host=10.79.90.173
+ibm.mq.port=1416
+ibm.mq.user=
+ibm.mq.password=
+## \u961F\u5217\u914D\u7F6E
+## \u961F\u5217\u7BA1\u7406\u5668\u540D\u79F0
+ibm.mq.queue-manager=QM.EAN_CUS_JOIN
+## \u670D\u52A1\u5668\u8FDE\u63A5\u901A\u9053\u540D\u79F0
+ibm.mq.channel=JAVA.CONN
+# \u4F01\u4E1A\u7AEF\u53D1\u9001\u6D88\u606F\u961F\u5217\uFF08\u6D77\u5173\u7AEF\u63A5\u6536\u6D88\u606F\u961F\u5217-\u672C\u5730\u961F\u5217\uFF09
+ibm.mq.send-queue=QL.WXJY_61_TO_173
+# \u4F01\u4E1A\u7AEF\u63A5\u6536\u6D88\u606F\u961F\u5217\uFF08\u6D77\u5173\u7AEF\u53D1\u9001\u6D88\u606F\u961F\u5217-\u8FDC\u7A0B\u961F\u5217\uFF09
+ibm.mq.receive-queue=QR.WXJY_173_TO_61
+# \u6D88\u606F\u53D1\u9001\u65B9\u6807\u8BC6
+msg.sender-id=DXPSDC4700100071
+# \u6D88\u606F\u63A5\u6536\u65B9\u6807\u8BC6(\u5982\u679C\u6709\u591A\u4E2A\uFF0C\u7528\u9017\u53F7\u5206\u9694)
+msg.receiver-id=DXPSDC4700ENT273
+# \u63A8\u9001\u9644\u4EF6\u5730\u5740(\u6D77\u5173\u7AEFLinux\u670D\u52A1\u5668\u8DEF\u5F84)
+ibm.mq.file-upload-path=/data/swfzsb/files/uploadPath
 
 #--------------------------------\u4EE5\u4E0B\u4E3A\u516C\u7528\u914D\u7F6E\u9879---------------------------------
 
@@ -55,4 +55,8 @@ ibm.mq.default-shard-size=2097152
 # \u5E94\u7528\u73AF\u5883\u7C7B\u578B\uFF1A\u4F01\u4E1A\u7AEF\uFF1Aenterprise\uFF0C\u7BA1\u7406\u7AEF\uFF1Amanagement
 app.env.type=management
 
+# \u542F\u7528\u548C\u7981\u7528
+ibm.mq.mqEnabled=false
 
+# \u542F\u7528\u548C\u7981\u7528JMS\u5065\u5EB7\u68C0\u67E5
+management.health.jms.enabled=false

+ 7 - 7
wxjy-wxjy-web/src/views/base/ChemicalsCatalog.vue

@@ -227,13 +227,13 @@ const state = reactive<State>({
 
 // 表格操作按钮配置
 const actions = <Array<TableAction>>[
-  {
-    key: 'syncBaseData',
-    text: '数据同步',
-    onclick: onSyncData,
-    limit: permissionStatus('none', 'CHEMICALS_CATALOG_SYNC_BT'),
-    type: 'primary'
-  },
+  // {
+  //   key: 'syncBaseData',
+  //   text: '数据同步',
+  //   onclick: onSyncData,
+  //   limit: permissionStatus('none', 'CHEMICALS_CATALOG_SYNC_BT'),
+  //   type: 'primary'
+  // },
   {
     key: 'view',
     text: '查看',

+ 7 - 7
wxjy-wxjy-web/src/views/base/GoodsCatalog.vue

@@ -299,13 +299,13 @@ const state = reactive<State>({
 
 // 表格操作按钮配置
 const actions = <Array<TableAction>>[
-  {
-    key: 'syncBaseData',
-    text: '数据同步',
-    onclick: onSyncData,
-    limit: permissionStatus('none', 'GOODS_CATALOG_SYNC_BT'),
-    type: 'primary'
-  },
+  // {
+  //   key: 'syncBaseData',
+  //   text: '数据同步',
+  //   onclick: onSyncData,
+  //   limit: permissionStatus('none', 'GOODS_CATALOG_SYNC_BT'),
+  //   type: 'primary'
+  // },
   {
     key: 'view',
     text: '查看',

+ 7 - 7
wxjy-wxjy-web/src/views/base/PackCatalog.vue

@@ -169,13 +169,13 @@ const state = reactive<State>({
 
 // 表格操作按钮配置
 const actions = <Array<TableAction>>[
-  {
-    key: 'syncBaseData',
-    text: '数据同步',
-    onclick: onSyncData,
-    limit: permissionStatus('none', 'PACK_CATALOG_SYNC_BT'),
-    type: 'primary'
-  },
+  // {
+  //   key: 'syncBaseData',
+  //   text: '数据同步',
+  //   onclick: onSyncData,
+  //   limit: permissionStatus('none', 'PACK_CATALOG_SYNC_BT'),
+  //   type: 'primary'
+  // },
   {
     key: 'view',
     text: '查看',