diff --git a/beacon-common/pom.xml b/beacon-common/pom.xml
index 68a9389..6f3be0d 100644
--- a/beacon-common/pom.xml
+++ b/beacon-common/pom.xml
@@ -24,6 +24,16 @@
org.springframework.cloud
spring-cloud-starter-openfeign
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.12.5
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ 2.12.5
+
\ No newline at end of file
diff --git a/beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java b/beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java
index b638864..76f8dac 100644
--- a/beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java
+++ b/beacon-common/src/main/java/com/mashibing/common/pojo/StandardSubmit.java
@@ -1,5 +1,9 @@
package com.mashibing.common.pojo;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.mashibing.common.annotation.Description;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -44,6 +48,8 @@ public class StandardSubmit implements Serializable {
@Description("短信内容")
private String text;
+ @JsonSerialize(using = LocalDateTimeSerializer.class)
+ @JsonDeserialize(using = LocalDateTimeDeserializer.class)
@Description("短信的发送时间")
private LocalDateTime sendTime;
diff --git a/beacon-common/src/main/java/com/mashibing/common/utils/JsonUtil.java b/beacon-common/src/main/java/com/mashibing/common/utils/JsonUtil.java
new file mode 100644
index 0000000..cf5301c
--- /dev/null
+++ b/beacon-common/src/main/java/com/mashibing/common/utils/JsonUtil.java
@@ -0,0 +1,24 @@
+package com.mashibing.common.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+/**
+ * @author heqijun
+ * @ClassName: JsonUtil
+ * @Description: TODO(这里用一句话描述这个类的作用)
+ * @date 2025/6/12 18:46
+ */
+
+public class JsonUtil {
+
+ private static ObjectMapper objectMapper = new ObjectMapper();
+
+ public static String obj2Json(Object obj) {
+ try {
+ return objectMapper.writeValueAsString(obj);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException("转换JSON失败!!!");
+ }
+ }
+}
diff --git a/beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java b/beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java
index 7eaa2df..2758395 100644
--- a/beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java
+++ b/beacon-search/src/main/java/com/mashibing/search/mq/SmsWriteLogListener.java
@@ -2,13 +2,17 @@ package com.mashibing.search.mq;
import com.mashibing.common.constant.RabbitMQConstant;
import com.mashibing.common.pojo.StandardSubmit;
+import com.mashibing.common.utils.JsonUtil;
+import com.mashibing.search.service.SearchService;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
+import java.time.LocalDateTime;
/**
* @author heqijun
@@ -21,10 +25,21 @@ import java.io.IOException;
@Component
public class SmsWriteLogListener {
+ @Autowired
+ SearchService searchService;
+
+ private final String INDEX = "sms_submit_log_";
+
+
@RabbitListener(queues = {RabbitMQConstant.SMS_WRITE_LOG})
public void process(StandardSubmit submit, Channel channel, Message message) throws IOException {
log.info("接收到存储日志的信息,submit={}", submit);
+ String sequenceId = submit.getSequenceId().toString();
+ String json = JsonUtil.obj2Json(submit);
+ String year = LocalDateTime.now().getYear() + "";
+ searchService.index(INDEX + year, sequenceId, json);
+
//手动ack
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
diff --git a/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackClientStrategyFilter.java b/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackClientStrategyFilter.java
index 0b7c581..f2bc033 100644
--- a/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackClientStrategyFilter.java
+++ b/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackClientStrategyFilter.java
@@ -40,6 +40,7 @@ public class BlackClientStrategyFilter implements StrategyFilter {
String value = cacheClient.get(CacheConstant.BLACK + clientId + CacheConstant.COLON + mobile);
if (IN_BLACK.equals(value)) {
log.info("【策略模块-客户黑名单校验】当前手机号:{}是客户黑名单!", mobile);
+ submit.setErrorMsg(ExceptionEnums.BLACK_CLIENT.getMsg());
strategyCheckFailedUtil.smsSendLog(submit, STRATEGY_NAME);
strategyCheckFailedUtil.smsPushReport(submit, STRATEGY_NAME);
throw new StrategyException(ExceptionEnums.BLACK_CLIENT);
diff --git a/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackGlobalStrategyFilter.java b/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackGlobalStrategyFilter.java
index f4a7cef..06f3bb2 100644
--- a/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackGlobalStrategyFilter.java
+++ b/beacon-strategy/src/main/java/com/mashibing/strategy/service/strategyfilter/impl/BlackGlobalStrategyFilter.java
@@ -40,6 +40,7 @@ public class BlackGlobalStrategyFilter implements StrategyFilter {
String value = cacheClient.get(CacheConstant.BLACK + mobile);
if (IN_BLACK.equals(value)) {
log.info("【策略模块-全局黑名单校验】当前手机号:{}是全局黑名单!", mobile);
+ submit.setErrorMsg(ExceptionEnums.BLACK_GLOBAL.getMsg());
strategyCheckFailedUtil.smsSendLog(submit, STRATEGY_NAME);
strategyCheckFailedUtil.smsPushReport(submit, STRATEGY_NAME);
throw new StrategyException(ExceptionEnums.BLACK_GLOBAL);