diff --git a/src/main/java/com/zcloud/mapper/datasource/mq/MqProductionErrorLogMapper.java b/src/main/java/com/zcloud/mapper/datasource/mq/MqProductionErrorLogMapper.java
new file mode 100644
index 00000000..e8f0e92e
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/mq/MqProductionErrorLogMapper.java
@@ -0,0 +1,21 @@
+package com.zcloud.mapper.datasource.mq;
+
+import com.zcloud.entity.PageData;
+
+/**
+ * 说明:mq生产者动作错误记录表
+ * 作者:LLX
+ * 时间:2024-01-09
+ * 官网:www.zcloudchina.com
+ */
+public interface MqProductionErrorLogMapper {
+
+ /**新增
+ * @param pd
+ * @throws Exception
+ */
+ void save(PageData pd);
+
+
+}
+
diff --git a/src/main/java/com/zcloud/mapper/datasource/mq/MqProductionLogMapper.java b/src/main/java/com/zcloud/mapper/datasource/mq/MqProductionLogMapper.java
new file mode 100644
index 00000000..5f441f69
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/mq/MqProductionLogMapper.java
@@ -0,0 +1,20 @@
+package com.zcloud.mapper.datasource.mq;
+
+import com.zcloud.entity.PageData;
+
+/**
+ * 说明:mq消费者动作记录表
+ * 作者:LLX
+ * 时间:2024-01-09
+ * 官网:www.zcloudchina.com
+ */
+public interface MqProductionLogMapper {
+
+ /**新增
+ * @param pd
+ * @throws Exception
+ */
+ void save(PageData pd);
+
+}
+
diff --git a/src/main/java/com/zcloud/service/mq/impl/DockSendMessageServiceImpl.java b/src/main/java/com/zcloud/service/mq/impl/DockSendMessageServiceImpl.java
index 5e40df48..c9b38efe 100644
--- a/src/main/java/com/zcloud/service/mq/impl/DockSendMessageServiceImpl.java
+++ b/src/main/java/com/zcloud/service/mq/impl/DockSendMessageServiceImpl.java
@@ -5,9 +5,12 @@ import com.zcloud.dto.TenCorpDto;
import com.zcloud.entity.PageData;
import com.zcloud.mapper.datasource.mq.MqErrorMessageLogMapper;
import com.zcloud.mapper.datasource.mq.MqMessageLogMapper;
+import com.zcloud.mapper.datasource.mq.MqProductionErrorLogMapper;
+import com.zcloud.mapper.datasource.mq.MqProductionLogMapper;
import com.zcloud.service.mq.DockSendMessageService;
import com.zcloud.service.mq.LogService;
import com.zcloud.util.DateUtil;
+import com.zcloud.util.StackTraceUtils;
import com.zcloud.util.Warden;
import com.zcloud.util.mq.MqUtil;
import org.apache.rocketmq.client.producer.SendResult;
@@ -18,7 +21,6 @@ import org.springframework.messaging.support.GenericMessage;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.Date;
@Service
public class DockSendMessageServiceImpl implements DockSendMessageService {
@@ -39,8 +41,22 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
@Resource
private MqMessageLogMapper mqMessageLogMapper;
+ @Resource
+ MqProductionErrorLogMapper mqProductionErrorLogMapper;
+
+ @Resource
+ MqProductionLogMapper mqProductionLogMapper;
+
@Override
- public void sendMessage(TenCorpDto tenCorpDto) throws Exception {
+ public void sendMessage(TenCorpDto tenCorpDto) {
+ PageData productionPD = tenCorpDto.getPd();
+ productionPD.put("PRODUCTION_ID", Warden.get32UUID());
+ productionPD.put("MESSAGE_LOG_ID", tenCorpDto.getMessageLogId());
+ productionPD.put("PRODUCTION_TYPE", "DockSendMessageServiceImpl.sendMessage(TenCorpDto tenCorpDto)");
+ productionPD.put("PRODUCTION_TIME", DateUtil.getTime());
+ productionPD.put("CREATE_TIME", tenCorpDto.getCREATE_TIME());
+ productionPD.put("MARK", tenCorpDto.getMark());
+ productionPD.putAll(tenCorpDto.getPd());
try {
PageData log = tenCorpDto.getPd();
mqMessageLogMapper.save(log);
@@ -48,6 +64,9 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
throw new RuntimeException("产品入栈失败");
}
+ productionPD.put("SUCCESS",'1');
+ productionPD.put("ERROR_MESSAGE","SUCCESS");
+ mqProductionLogMapper.save(productionPD);
} catch (Exception e) {
e.printStackTrace();
PageData log = tenCorpDto.getPd();
@@ -57,11 +76,23 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
log.put("TYPE", "0");
log.put("TIME", tenCorpDto.getCREATE_TIME());
mqErrorMessageLogMapper.save(log);
+ productionPD.put("SUCCESS",'0');
+ productionPD.put("ERROR_MESSAGE", StackTraceUtils.printStackTraceToString(e));
+ mqProductionErrorLogMapper.save(productionPD);
}
}
@Override
- public void sendMessagePicture(TenCorpDto tenCorpDto) throws Exception {
+ public void sendMessagePicture(TenCorpDto tenCorpDto) {
+ PageData productionPD = tenCorpDto.getPd();
+ productionPD.put("PRODUCTION_ID", Warden.get32UUID());
+ productionPD.put("MESSAGE_LOG_ID", tenCorpDto.getMessageLogId());
+ productionPD.put("PRODUCTION_TYPE", "DockSendMessageServiceImpl.sendMessagePicture(TenCorpDto tenCorpDto)");
+ productionPD.put("PRODUCTION_TIME", DateUtil.getTime());
+ productionPD.put("CREATE_TIME", tenCorpDto.getCREATE_TIME());
+ productionPD.put("MARK", tenCorpDto.getMark());
+ productionPD.putAll(tenCorpDto.getPd());
+
try {
PageData log = tenCorpDto.getPd();
log.put("MESSAGE_LOG_ID", Warden.get32UUID());
@@ -72,6 +103,9 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
throw new RuntimeException("产品入栈失败");
}
+ productionPD.put("SUCCESS",'1');
+ productionPD.put("ERROR_MESSAGE","SUCCESS");
+ mqProductionLogMapper.save(productionPD);
} catch (Exception e) {
e.printStackTrace();
PageData log = tenCorpDto.getPd();
@@ -80,11 +114,24 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
log.put("TYPE", "0");
log.put("TIME", DateUtil.getTime());
mqErrorMessageLogMapper.save(log);
+ productionPD.put("SUCCESS",'0');
+ productionPD.put("ERROR_MESSAGE", StackTraceUtils.printStackTraceToString(e));
+ mqProductionErrorLogMapper.save(productionPD);
}
}
@Override
- public void sendMessagePictureDelete(TenCorpDto tenCorpDto) throws Exception {
+ public void sendMessagePictureDelete(TenCorpDto tenCorpDto) {
+ PageData productionPD = tenCorpDto.getPd();
+ productionPD.put("PRODUCTION_ID", Warden.get32UUID());
+ productionPD.put("MESSAGE_LOG_ID", tenCorpDto.getMessageLogId());
+ productionPD.put("PRODUCTION_TYPE", "DockSendMessageServiceImpl.sendMessagePictureDelete(TenCorpDto tenCorpDto)");
+ productionPD.put("PRODUCTION_TIME", DateUtil.getTime());
+ productionPD.put("CREATE_TIME", tenCorpDto.getCREATE_TIME());
+ productionPD.put("MARK", tenCorpDto.getMark());
+ productionPD.put("DATA", tenCorpDto.getData());
+ productionPD.putAll(tenCorpDto.getPd());
+
try {
PageData log = tenCorpDto.getPd();
log.put("MESSAGE_LOG_ID", Warden.get32UUID());
@@ -95,6 +142,9 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
throw new RuntimeException("产品入栈失败");
}
+ productionPD.put("SUCCESS",'1');
+ productionPD.put("ERROR_MESSAGE","SUCCESS");
+ mqProductionLogMapper.save(productionPD);
} catch (Exception e) {
e.printStackTrace();
PageData log = tenCorpDto.getPd();
@@ -103,11 +153,23 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
log.put("TYPE", "0");
log.put("TIME", DateUtil.getTime());
mqErrorMessageLogMapper.save(log);
+ productionPD.put("SUCCESS",'0');
+ productionPD.put("ERROR_MESSAGE", StackTraceUtils.printStackTraceToString(e));
+ mqProductionErrorLogMapper.save(productionPD);
}
}
@Override
public void SendDelayQueue(TenCorpDto tenCorpDto) {
+ PageData productionPD = tenCorpDto.getPd();
+ productionPD.put("PRODUCTION_ID", Warden.get32UUID());
+ productionPD.put("MESSAGE_LOG_ID", tenCorpDto.getMessageLogId());
+ productionPD.put("PRODUCTION_TYPE", "DockSendMessageServiceImpl.SendDelayQueue(TenCorpDto tenCorpDto)");
+ productionPD.put("PRODUCTION_TIME", DateUtil.getTime());
+ productionPD.put("CREATE_TIME", tenCorpDto.getCREATE_TIME());
+ productionPD.put("MARK", tenCorpDto.getMark());
+ productionPD.put("DATA", tenCorpDto.getData());
+ productionPD.putAll(tenCorpDto.getPd());
PageData log = tenCorpDto.getPd();
log.put("MESSAGE_LOG_ID", Warden.get32UUID());
try {
@@ -127,6 +189,9 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
throw new RuntimeException("产品入栈失败");
}
+ productionPD.put("SUCCESS",'1');
+ productionPD.put("ERROR_MESSAGE","SUCCESS");
+ mqProductionLogMapper.save(productionPD);
} catch (Exception e) {
e.printStackTrace();
log.put("ERROR_MESSAGE", e.getMessage());
@@ -134,12 +199,26 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
log.put("TYPE", "0");
log.put("TIME", DateUtil.getTime());
mqErrorMessageLogMapper.save(log);
+ productionPD.put("SUCCESS",'0');
+ productionPD.put("ERROR_MESSAGE", StackTraceUtils.printStackTraceToString(e));
+ mqProductionErrorLogMapper.save(productionPD);
}
}
@Override
public void SendDelayQueue(String message) {
TenCorpDto tenCorpDto = JSONObject.parseObject(message,TenCorpDto.class);
+
+ PageData productionPD = tenCorpDto.getPd();
+ productionPD.put("PRODUCTION_ID", Warden.get32UUID());
+ productionPD.put("MESSAGE_LOG_ID", tenCorpDto.getMessageLogId());
+ productionPD.put("PRODUCTION_TYPE", "DockSendMessageServiceImpl.SendDelayQueue(TenCorpDto tenCorpDto)");
+ productionPD.put("PRODUCTION_TIME", DateUtil.getTime());
+ productionPD.put("CREATE_TIME", tenCorpDto.getCREATE_TIME());
+ productionPD.put("MARK", tenCorpDto.getMark());
+ productionPD.put("DATA", tenCorpDto.getData());
+ productionPD.putAll(tenCorpDto.getPd());
+
try {
PageData log = tenCorpDto.getPd();
log.put("CREATE_TIME", DateUtil.getTime());
@@ -157,20 +236,17 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
throw new RuntimeException("产品入栈失败");
}
+ productionPD.put("SUCCESS",'1');
+ productionPD.put("ERROR_MESSAGE","SUCCESS");
+ mqProductionLogMapper.save(productionPD);
} catch (Exception e) {
PageData log = tenCorpDto.getPd();
logService.saveErrorMessage(log,e.getMessage());
e.printStackTrace();
+ productionPD.put("SUCCESS",'0');
+ productionPD.put("ERROR_MESSAGE", StackTraceUtils.printStackTraceToString(e));
+ mqProductionErrorLogMapper.save(productionPD);
}
}
- public static void main(String[] args) {
- try {
- System.out.println(MqUtil.analysisTime("2023-06-30 14:30:00:000"));
- }catch (Exception e){
- e.printStackTrace();
- }
- }
-
-
}
diff --git a/src/main/java/com/zcloud/util/StackTraceUtils.java b/src/main/java/com/zcloud/util/StackTraceUtils.java
new file mode 100644
index 00000000..7c0fc661
--- /dev/null
+++ b/src/main/java/com/zcloud/util/StackTraceUtils.java
@@ -0,0 +1,12 @@
+package com.zcloud.util;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+public class StackTraceUtils {
+ public static String printStackTraceToString(Throwable t) {
+ StringWriter sw = new StringWriter();
+ t.printStackTrace(new PrintWriter(sw, true));
+ return sw.getBuffer().toString();
+ }
+}
diff --git a/src/main/resources/mybatis/datasource/mq/MqProductionErrorLogMapper.xml b/src/main/resources/mybatis/datasource/mq/MqProductionErrorLogMapper.xml
new file mode 100644
index 00000000..a23b026e
--- /dev/null
+++ b/src/main/resources/mybatis/datasource/mq/MqProductionErrorLogMapper.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ INSERT INTO
+ `qa-czks-prevention`.`mq_production_error_log`
+ (`PRODUCTION_ID`, `MARK`, `DATA`, `MESSAGE_LOG_ID`, `SUCCESS`, `CREATE_TIME`, `PRODUCTION_TIME`, `PRODUCTION_TYPE`, `ERROR_MESSAGE`)
+ VALUES (#{PRODUCTION_ID}, #{MARK}, #{DATA}, #{MESSAGE_LOG_ID}, #{SUCCESS}, #{CREATE_TIME}, #{PRODUCTION_TIME},#{PRODUCTION_TYPE}, #{ERROR_MESSAGE})
+
+
+
diff --git a/src/main/resources/mybatis/datasource/mq/MqProductionLogMapper.xml b/src/main/resources/mybatis/datasource/mq/MqProductionLogMapper.xml
new file mode 100644
index 00000000..8d499a23
--- /dev/null
+++ b/src/main/resources/mybatis/datasource/mq/MqProductionLogMapper.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ INSERT INTO
+ `qa-czks-prevention`.`mq_production_log`
+ (`PRODUCTION_ID`, `MARK`, `DATA`, `MESSAGE_LOG_ID`, `SUCCESS`, `CREATE_TIME`, `PRODUCTION_TIME`, `PRODUCTION_TYPE`, `ERROR_MESSAGE`)
+ VALUES (#{PRODUCTION_ID}, #{MARK}, #{DATA}, #{MESSAGE_LOG_ID}, #{SUCCESS}, #{CREATE_TIME}, #{PRODUCTION_TIME},#{PRODUCTION_TYPE}, #{ERROR_MESSAGE})
+
+
+