diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 712ab9d..c7ea920 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -16,5 +16,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/org/example/controller/AIOBCallbackController.java b/src/main/java/org/example/controller/AIOBCallbackController.java
index fb0470d..f5bfa9c 100644
--- a/src/main/java/org/example/controller/AIOBCallbackController.java
+++ b/src/main/java/org/example/controller/AIOBCallbackController.java
@@ -1,5 +1,6 @@
package org.example.controller;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -10,6 +11,7 @@ import org.example.core.api.controller.BaseController;
import org.example.dto.TaskCallbackDto;
import org.example.dto.TaskCallbackUpdateDto;
import org.example.entity.AIOBCallbackEntity;
+import org.example.entity.TaskMessageBackEntity;
import org.example.service.IAIOBCallbackService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
diff --git a/src/main/java/org/example/controller/TaskMessageBackController.java b/src/main/java/org/example/controller/TaskMessageBackController.java
new file mode 100644
index 0000000..1615738
--- /dev/null
+++ b/src/main/java/org/example/controller/TaskMessageBackController.java
@@ -0,0 +1,50 @@
+package org.example.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.example.core.api.ApiRest;
+import org.example.core.api.controller.BaseController;
+import org.example.entity.TaskMessageBackEntity;
+import org.example.service.IAIOBCallbackService;
+import org.example.service.TaskMessageBackService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * @description: 短信回调接口
+ * @author: zh
+ * @create: 2026-04-29
+ **/
+@Api(tags={"短信回调接口"})
+@RestController
+@RequestMapping("/api")
+public class TaskMessageBackController extends BaseController {
+
+ @Resource
+ private TaskMessageBackService taskMessageBackService;
+
+
+ @ApiOperation("短信任务回调")
+ @PostMapping("/taskMessageBack")
+ public JSONObject taskMessageBack(@RequestBody JSONArray array) {
+ return taskMessageBackService.taskMessageBack(array);
+ }
+
+ @ApiOperation("查询列表")
+ @PostMapping("/getMessageBackList")
+ public ApiRest getMessageBackList(@RequestBody TaskMessageBackEntity taskMessageBackEntity) {
+ return super.success(taskMessageBackService.getMessageBackList(taskMessageBackEntity));
+ }
+
+ @ApiOperation("修改已读状态")
+ @PostMapping("/updateMessageBackReadState")
+ public ApiRest updateMessageBackReadState(@RequestBody TaskMessageBackEntity taskMessageBackEntity) {
+ return super.success(taskMessageBackService.updateMessageBackReadState(taskMessageBackEntity));
+ }
+}
diff --git a/src/main/java/org/example/dto/SendSmsDto.java b/src/main/java/org/example/dto/SendSmsDto.java
new file mode 100644
index 0000000..4215ef8
--- /dev/null
+++ b/src/main/java/org/example/dto/SendSmsDto.java
@@ -0,0 +1,52 @@
+package org.example.dto;
+
+import lombok.Data;
+
+@Data
+public class SendSmsDto {
+
+ /**
+ * 手机号码
+ */
+ private String phone_number;
+
+ /**
+ * 发送时间。
+ */
+ private String send_time;
+
+ /**
+ * 状态报告时间。
+ */
+ private String report_time;
+
+ /**
+ * 是否接收成功。取值: true:接收成功 false:接收失败
+ */
+ private String success;
+
+ /**
+ * 状态报告编码。
+ */
+ private String err_code;
+
+ /**
+ * 状态报告说明。
+ */
+ private String err_msg;
+
+ /**
+ * 短信长度。短信内容长度计算规则。
+ */
+ private String sms_size;
+
+ /**
+ * 发送回执ID,即发送流水号
+ */
+ private String biz_id;
+
+ /**
+ * 用户序列号。
+ */
+ private String out_id;
+}
diff --git a/src/main/java/org/example/entity/TaskMessageBackEntity.java b/src/main/java/org/example/entity/TaskMessageBackEntity.java
new file mode 100644
index 0000000..bebb18e
--- /dev/null
+++ b/src/main/java/org/example/entity/TaskMessageBackEntity.java
@@ -0,0 +1,40 @@
+package org.example.entity;
+
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("message_back_data")
+public class TaskMessageBackEntity {
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 回调数据
+ */
+ private JSONArray messageBackData;
+
+ /**
+ * 已读状态,0:未读,1:已读
+ */
+ private Integer readState;
+
+ /**
+ * 创建时间
+ */
+ private Date createDate;
+
+ /**
+ * 修改时间
+ */
+ private Date updateDate;
+}
diff --git a/src/main/java/org/example/mapper/TaskMessageBackMapper.java b/src/main/java/org/example/mapper/TaskMessageBackMapper.java
new file mode 100644
index 0000000..c747019
--- /dev/null
+++ b/src/main/java/org/example/mapper/TaskMessageBackMapper.java
@@ -0,0 +1,13 @@
+package org.example.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.example.entity.TaskMessageBackEntity;
+
+import java.util.List;
+
+public interface TaskMessageBackMapper extends BaseMapper {
+
+ List getMessageBackList(TaskMessageBackEntity taskMessageBackEntity);
+
+ Integer updateMessageBackReadState(TaskMessageBackEntity taskMessageBackEntity);
+}
\ No newline at end of file
diff --git a/src/main/java/org/example/service/IAIOBCallbackService.java b/src/main/java/org/example/service/IAIOBCallbackService.java
index d47073f..712a154 100644
--- a/src/main/java/org/example/service/IAIOBCallbackService.java
+++ b/src/main/java/org/example/service/IAIOBCallbackService.java
@@ -1,11 +1,13 @@
package org.example.service;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import org.example.dto.TaskCallbackDataDto;
import org.example.dto.TaskCallbackUpdateDto;
import org.example.entity.AIOBCallbackEntity;
+import org.example.entity.TaskMessageBackEntity;
/**
* @description: 百度外呼回调service
diff --git a/src/main/java/org/example/service/TaskMessageBackService.java b/src/main/java/org/example/service/TaskMessageBackService.java
new file mode 100644
index 0000000..07c24bc
--- /dev/null
+++ b/src/main/java/org/example/service/TaskMessageBackService.java
@@ -0,0 +1,17 @@
+package org.example.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.example.entity.TaskMessageBackEntity;
+
+import java.util.List;
+
+public interface TaskMessageBackService extends IService {
+
+ JSONObject taskMessageBack(JSONArray array);
+
+ List getMessageBackList(TaskMessageBackEntity taskMessageBackEntity);
+
+ Integer updateMessageBackReadState(TaskMessageBackEntity taskMessageBackEntity);
+}
diff --git a/src/main/java/org/example/service/impl/AIOBCallbackServiceImpl.java b/src/main/java/org/example/service/impl/AIOBCallbackServiceImpl.java
index bd2997e..3c986e0 100644
--- a/src/main/java/org/example/service/impl/AIOBCallbackServiceImpl.java
+++ b/src/main/java/org/example/service/impl/AIOBCallbackServiceImpl.java
@@ -1,6 +1,7 @@
package org.example.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Date;
@@ -9,7 +10,9 @@ import javax.annotation.Resource;
import org.example.dto.TaskCallbackDataDto;
import org.example.dto.TaskCallbackUpdateDto;
import org.example.entity.AIOBCallbackEntity;
+import org.example.entity.TaskMessageBackEntity;
import org.example.mapper.AIOBCallbackMapper;
+import org.example.mapper.TaskMessageBackMapper;
import org.example.service.IAIOBCallbackService;
import org.springframework.stereotype.Service;
@@ -24,6 +27,7 @@ public class AIOBCallbackServiceImpl extends ServiceImpl implements TaskMessageBackService {
+
+ @Resource
+ private TaskMessageBackMapper taskMessageBackMapper;
+
+ @Override
+ public JSONObject taskMessageBack(JSONArray array) {
+ TaskMessageBackEntity taskMessageBackEntity = new TaskMessageBackEntity();
+ taskMessageBackEntity.setMessageBackData(array);
+ taskMessageBackEntity.setReadState(0);
+ taskMessageBackEntity.setCreateDate(new Date());
+ taskMessageBackMapper.insert(taskMessageBackEntity);
+ JSONObject json = new JSONObject();
+ json.put("code", 0);
+ json.put("msg", "接收成功");
+ return json;
+ }
+
+ @Override
+ public List getMessageBackList(TaskMessageBackEntity taskMessageBackEntity) {
+ return taskMessageBackMapper.getMessageBackList(taskMessageBackEntity);
+ }
+
+ @Override
+ public Integer updateMessageBackReadState(TaskMessageBackEntity taskMessageBackEntity) {
+ return taskMessageBackMapper.updateMessageBackReadState(taskMessageBackEntity);
+ }
+}
diff --git a/src/main/resources/mapper/TaskMessageBackMapper.xml b/src/main/resources/mapper/TaskMessageBackMapper.xml
new file mode 100644
index 0000000..56f4690
--- /dev/null
+++ b/src/main/resources/mapper/TaskMessageBackMapper.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, message_back_data, read_state, create_date, update_date
+
+
+
+
+
+ update message_back_data set read_state = #{readState}, update_date = sysdate()
+ where id = #{id}
+
+
\ No newline at end of file