From 6e4481f095c1c565c6e68e9fbd95ade3ff361210 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Fri, 30 May 2025 17:38:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/feature-leomon'

---
 oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java             |   22 
 oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java  |   18 
 oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml                           |   25 
 oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java           |  192 +++++++
 oying-system/src/main/java/com/oying/AppRun.java                                                     |    1 
 oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java                   |   50 +
 oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml                          |   25 
 oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java  |   18 
 oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java               |  105 ++++
 oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java                 |   22 
 oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java                  |   50 +
 oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java           |  107 ++++
 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java  |   89 +++
 oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java                       |   42 +
 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java  |   83 +++
 oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java |   18 
 oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java                   |   50 +
 oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java             |   22 
 oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java          |  108 ++++
 oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml                               |   22 
 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java      |   79 +++
 oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java          |   62 ++
 oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml                           |   25 
 oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java           |   69 ++
 oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java           |   63 ++
 oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java      |   18 
 oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java            |   22 
 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java |   84 +++
 oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java               |   64 ++
 29 files changed, 1,555 insertions(+), 0 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/AppRun.java b/oying-system/src/main/java/com/oying/AppRun.java
index 1616dd6..d040eaf 100644
--- a/oying-system/src/main/java/com/oying/AppRun.java
+++ b/oying-system/src/main/java/com/oying/AppRun.java
@@ -5,6 +5,7 @@
 import lombok.extern.slf4j.Slf4j;
 import com.oying.annotation.rest.AnonymousGetMapping;
 import com.oying.utils.SpringBeanHolder;
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.context.ApplicationPidFileWriter;
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java
new file mode 100644
index 0000000..01a7ab0
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderBuyer.java
@@ -0,0 +1,50 @@
+package com.oying.modules.message.domain;
+
+import lombok.Data;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author 李萌
+* @date 2025-05-20
+**/
+@Data
+@TableName("message_order_buyer")
+public class MessageOrderBuyer implements Serializable {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键,自增 用户id")
+    private Integer id;
+
+    @NotNull
+    @ApiModelProperty(value = "订单ID")
+    private Integer orderId;
+
+    @NotBlank
+    @ApiModelProperty(value = "消息类型(订单状态变化、订单送达)")
+    private String messageType;
+
+    @NotBlank
+    @ApiModelProperty(value = "消息内容")
+    private String messageContent;
+
+    @NotBlank
+    @ApiModelProperty(value = "跳转链接")
+    private String link;
+
+    @ApiModelProperty(value = "创建时间")
+    private Timestamp createTime;
+
+    public void copy(MessageOrderBuyer source){
+        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+    }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java
new file mode 100644
index 0000000..7a6d625
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderLeave.java
@@ -0,0 +1,50 @@
+package com.oying.modules.message.domain;
+
+import lombok.Data;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author 李萌
+* @date 2025-05-20
+**/
+@Data
+@TableName("message_order_leave")
+public class MessageOrderLeave implements Serializable {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键,自增")
+    private Integer id;
+
+    @NotNull
+    @ApiModelProperty(value = "订单ID")
+    private Integer orderId;
+
+    @NotBlank
+    @ApiModelProperty(value = "顾客评价内容")
+    private String customerReview="顾客尚未评价";
+
+    @NotBlank
+    @ApiModelProperty(value = "商家回复内容")
+    private String sellerReply="商家尚未回复";
+
+    @NotBlank
+    @ApiModelProperty(value = "跳转链接")
+    private String link="https://example.com/default-link";
+
+    @ApiModelProperty(value = "创建时间")
+    private Timestamp createTime;
+
+    public void copy(MessageOrderLeave source){
+        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+    }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java
new file mode 100644
index 0000000..3f04170
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java
@@ -0,0 +1,50 @@
+package com.oying.modules.message.domain;
+
+import lombok.Data;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* @description /
+* @author 李萌
+* @date 2025-05-20
+**/
+@Data
+@TableName("message_order_seller")
+public class MessageOrderSeller implements Serializable {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Integer id;
+
+    @NotNull
+    @ApiModelProperty(value = "orderId")
+    private Integer orderId;
+
+    @NotBlank
+    @ApiModelProperty(value = "messageType")
+    private String messageType;
+
+    @NotBlank
+    @ApiModelProperty(value = "messageContent")
+    private String messageContent;
+
+    @NotBlank
+    @ApiModelProperty(value = "link")
+    private String link;
+
+    @ApiModelProperty(value = "createTime")
+    private Timestamp createTime;
+
+    public void copy(MessageOrderSeller source){
+        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+    }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java b/oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java
new file mode 100644
index 0000000..9b9c06f
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/MessageSystem.java
@@ -0,0 +1,42 @@
+package com.oying.modules.message.domain;
+
+import lombok.Data;
+import cn.hutool.core.bean.BeanUtil;
+import io.swagger.annotations.ApiModelProperty;
+import cn.hutool.core.bean.copier.CopyOptions;
+import java.sql.Timestamp;
+import javax.rmi.CORBA.Tie;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+ * @description /
+ * @author 李萌
+ * @date 2025-05-20
+ **/
+@Data
+@TableName("message_system")
+public class MessageSystem implements Serializable {
+
+    //使用数据库的自增策略来生成id
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Integer id;
+
+    @NotNull
+    @ApiModelProperty(value = "系统维护开始时间")
+    private Timestamp startTime;
+
+    @NotNull
+    @ApiModelProperty(value = "系统维护截至时间")
+    private Timestamp endTime;
+
+    public void copy(MessageSystem source){
+        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+    }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java
new file mode 100644
index 0000000..0ccbeef
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderBuyerQueryCriteria.java
@@ -0,0 +1,18 @@
+package com.oying.modules.message.domain.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@Data
+public class MessageOrderBuyerQueryCriteria{
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer page = 1;
+
+    @ApiModelProperty(value = "每页数据量", example = "10")
+    private Integer size = 10;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java
new file mode 100644
index 0000000..c0c98b9
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderLeaveQueryCriteria.java
@@ -0,0 +1,18 @@
+package com.oying.modules.message.domain.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@Data
+public class MessageOrderLeaveQueryCriteria{
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer page = 1;
+
+    @ApiModelProperty(value = "每页数据量", example = "10")
+    private Integer size = 10;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java
new file mode 100644
index 0000000..c514533
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerQueryCriteria.java
@@ -0,0 +1,18 @@
+package com.oying.modules.message.domain.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@Data
+public class MessageOrderSellerQueryCriteria{
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer page = 1;
+
+    @ApiModelProperty(value = "每页数据量", example = "10")
+    private Integer size = 10;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java
new file mode 100644
index 0000000..0ba80fc
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageSystemQueryCriteria.java
@@ -0,0 +1,18 @@
+package com.oying.modules.message.domain.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author 李萌
+ * @date 2025-05-20
+ **/
+@Data
+public class MessageSystemQueryCriteria{
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer page = 1;
+
+    @ApiModelProperty(value = "每页数据量", example = "10")
+    private Integer size = 10;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java
new file mode 100644
index 0000000..b8d6ac1
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderBuyerMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.message.mapper;
+
+import com.oying.modules.message.domain.MessageOrderBuyer;
+import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@Mapper
+public interface MessageOrderBuyerMapper extends BaseMapper<MessageOrderBuyer> {
+
+    IPage<MessageOrderBuyer> findAll(@Param("criteria") MessageOrderBuyerQueryCriteria criteria, Page<Object> page);
+
+    List<MessageOrderBuyer> findAll(@Param("criteria") MessageOrderBuyerQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java
new file mode 100644
index 0000000..4adbee8
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderLeaveMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.message.mapper;
+
+import com.oying.modules.message.domain.MessageOrderLeave;
+import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@Mapper
+public interface MessageOrderLeaveMapper extends BaseMapper<MessageOrderLeave> {
+
+    IPage<MessageOrderLeave> findAll(@Param("criteria") MessageOrderLeaveQueryCriteria criteria, Page<Object> page);
+
+    List<MessageOrderLeave> findAll(@Param("criteria") MessageOrderLeaveQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java
new file mode 100644
index 0000000..be1783a
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.message.mapper;
+
+import com.oying.modules.message.domain.MessageOrderSeller;
+import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@Mapper
+public interface MessageOrderSellerMapper extends BaseMapper<MessageOrderSeller> {
+
+    IPage<MessageOrderSeller> findAll(@Param("criteria") MessageOrderSellerQueryCriteria criteria, Page<Object> page);
+
+    List<MessageOrderSeller> findAll(@Param("criteria") MessageOrderSellerQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java
new file mode 100644
index 0000000..959cde3
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/mapper/MessageSystemMapper.java
@@ -0,0 +1,22 @@
+package com.oying.modules.message.mapper;
+
+import com.oying.modules.message.domain.MessageSystem;
+import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+/**
+ * @author 李萌
+ * @date 2025-05-20
+ **/
+@Mapper
+public interface MessageSystemMapper extends BaseMapper<MessageSystem> {
+
+    IPage<MessageSystem> findAll(@Param("criteria") MessageSystemQueryCriteria criteria, Page<Object> page);
+
+    List<MessageSystem> findAll(@Param("criteria") MessageSystemQueryCriteria criteria);
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java
new file mode 100644
index 0000000..81a7f07
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderBuyerController.java
@@ -0,0 +1,107 @@
+package com.oying.modules.message.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.message.domain.MessageOrderBuyer;
+import com.oying.modules.message.service.MessageOrderBuyerService;
+import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "买家端订单消息通知")
+@RequestMapping("/api/message/messageOrderBuyer")
+public class MessageOrderBuyerController {
+
+    private final MessageOrderBuyerService messageOrderBuyerService;
+
+//    @ApiOperation("导出数据")
+//    @GetMapping(value = "/download")
+//    @PreAuthorize("@el.check('messageOrderBuyer:list')")
+//    public void exportMessageOrderBuyer(HttpServletResponse response, MessageOrderBuyerQueryCriteria criteria) throws IOException {
+//        messageOrderBuyerService.download(messageOrderBuyerService.queryAll(criteria), response);
+//    }
+
+    @GetMapping
+    @ApiOperation("查询买家端订单消息通知")
+    @PreAuthorize("@el.check('messageOrderBuyer:list')")
+    public ResponseEntity<PageResult<MessageOrderBuyer>> queryMessageOrderBuyer(MessageOrderBuyerQueryCriteria criteria){
+        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+        return new ResponseEntity<>(messageOrderBuyerService.queryAll(criteria,page),HttpStatus.OK);
+    }
+
+//    @PostMapping
+//    @Log("新增买家端订单消息通知")
+//    @ApiOperation("新增买家端订单消息通知")
+//    @PreAuthorize("@el.check('messageOrderBuyer:add')")
+//    public ResponseEntity<Object> createMessageOrderBuyer(@Validated @RequestBody MessageOrderBuyer resources){
+//        messageOrderBuyerService.create(resources);
+//        return new ResponseEntity<>(HttpStatus.CREATED);
+//    }
+//
+//    @PutMapping
+//    @Log("修改买家端订单消息通知")
+//    @ApiOperation("修改买家端订单消息通知")
+//    @PreAuthorize("@el.check('messageOrderBuyer:edit')")
+//    public ResponseEntity<Object> updateMessageOrderBuyer(@Validated @RequestBody MessageOrderBuyer resources){
+//        messageOrderBuyerService.update(resources);
+//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+//    }
+//
+//    @DeleteMapping
+//    @Log("删除买家端订单消息通知")
+//    @ApiOperation("删除买家端订单消息通知")
+//    @PreAuthorize("@el.check('messageOrderBuyer:del')")
+//    public ResponseEntity<Object> deleteMessageOrderBuyer(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
+//        messageOrderBuyerService.deleteAll(ids);
+//        return new ResponseEntity<>(HttpStatus.OK);
+//    }
+    //订单状态变化通知
+    @GetMapping("/status/{order_id}")
+    @ApiOperation("查询一条订单状态变化通知")
+    public ResponseEntity<String> getMessageOrderBuyer(@PathVariable Integer order_id) {
+        MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id);
+        String message = messageOrderBuyer.getMessageType();
+
+        return new ResponseEntity<>(message, HttpStatus.OK);
+    }
+    //订单送达通知
+    @GetMapping("/deliver/{order_id}")
+    @ApiOperation("查询一条订单送达通知")
+    public ResponseEntity<String> getMessageOrderBuyerDeliver(@PathVariable Integer order_id) {
+        MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id);
+        String message = messageOrderBuyer.getMessageType();
+        //如果MessageType为订单送达,则返回message——content
+        if (message.equals("订单送达")) {
+            String messageContent = messageOrderBuyer.getMessageContent();
+            return new ResponseEntity<>(messageContent, HttpStatus.OK);
+        }else{
+            //返回没送达
+            return new ResponseEntity<>("没送达", HttpStatus.OK);
+        }
+    }
+    //实现点击跳转到订单详情
+    @GetMapping("/link/{order_id}")
+    @ApiOperation("点击跳转到订单详情")
+    public ResponseEntity<String> getMessageOrderBuyerLink(@PathVariable Integer order_id) {
+        MessageOrderBuyer messageOrderBuyer = messageOrderBuyerService.findByOrderId(order_id);
+        String link = messageOrderBuyer.getLink();
+        return new ResponseEntity<>(link, HttpStatus.OK);
+    }
+
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java
new file mode 100644
index 0000000..8d3dfe9
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderLeaveController.java
@@ -0,0 +1,192 @@
+package com.oying.modules.message.rest;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.annotation.Log;
+import com.oying.modules.message.domain.MessageOrderLeave;
+import com.oying.modules.message.service.MessageOrderLeaveService;
+import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria;
+import lombok.RequiredArgsConstructor;
+
+import java.sql.Timestamp;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "消息留言")
+@RequestMapping("/api/message/messageOrderLeave")
+public class MessageOrderLeaveController {
+
+    private final MessageOrderLeaveService messageOrderLeaveService;
+
+//    @ApiOperation("导出数据")
+//    @GetMapping(value = "/download")
+//    @PreAuthorize("@el.check('messageOrderLeave:list')")
+//    public void exportMessageOrderLeave(HttpServletResponse response, MessageOrderLeaveQueryCriteria criteria) throws IOException {
+//        messageOrderLeaveService.download(messageOrderLeaveService.queryAll(criteria), response);
+//    }
+
+    @GetMapping
+    @ApiOperation("查询消息留言")
+    @PreAuthorize("@el.check('messageOrderLeave:list')")
+    public ResponseEntity<PageResult<MessageOrderLeave>> queryMessageOrderLeave(MessageOrderLeaveQueryCriteria criteria){
+        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+        return new ResponseEntity<>(messageOrderLeaveService.queryAll(criteria,page),HttpStatus.OK);
+    }
+
+//    @PostMapping
+//    @Log("新增消息留言")
+//    @ApiOperation("新增消息留言")
+//    @PreAuthorize("@el.check('messageOrderLeave:add')")
+//    public ResponseEntity<Object> createMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){
+//        messageOrderLeaveService.create(resources);
+//        return new ResponseEntity<>(HttpStatus.CREATED);
+//    }
+
+//    @PutMapping
+//    @Log("修改消息留言")
+//    @ApiOperation("修改消息留言")
+//    @PreAuthorize("@el.check('messageOrderLeave:edit')")
+//    public ResponseEntity<Object> updateMessageOrderLeave(@Validated @RequestBody MessageOrderLeave resources){
+//        messageOrderLeaveService.update(resources);
+//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+//    }
+
+//    @DeleteMapping
+//    @Log("删除消息留言")
+//    @ApiOperation("删除消息留言")
+//    @PreAuthorize("@el.check('messageOrderLeave:del')")
+//    public ResponseEntity<Object> deleteMessageOrderLeave(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
+//        messageOrderLeaveService.deleteAll(ids);
+//        return new ResponseEntity<>(HttpStatus.OK);
+//    }
+    //顾客点击订单,传回订单id,根据订单id生成一条 消息留言
+//    @PutMapping("/customer/{order_id}")
+//    @ApiOperation("顾客点击订单,传回订单id,根据订单id生成一条 留言,此时顾客可以留言")
+//    public ResponseEntity<Object> createMessageOrderLeave(@PathVariable("order_id") Integer id,@RequestParam String customerReview) {
+//        //创建对象
+//        MessageOrderLeave messageOrderLeave = new MessageOrderLeave();
+//        messageOrderLeave.setOrderId(id);
+//        //如果customerReview为空,默认为“用户未留言”
+//        messageOrderLeave.setCustomerReview(customerReview);
+//        //设置创建时间为当前时间
+//        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+//        //若表中order_id订单还没存在则调用update留言
+//
+//
+//        if(messageOrderLeaveService.findByOrderId(id)==null){
+//            messageOrderLeaveService.updateById(messageOrderLeave);
+//            return new ResponseEntity<>(HttpStatus.CREATED);
+//        } else {
+//            // 已存在则不保存,返回 OK 表示成功但无新资源创建
+//            return new ResponseEntity<>(HttpStatus.OK);
+//        }
+//
+//    }
+
+    @PutMapping("/customer/{order_id}")
+    @ApiOperation("顾客点击订单,传回订单id,根据订单id更新一条留言")
+    public ResponseEntity<Object> updateMessageOrderLeaveCustomer(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
+        // 根据 order_id 查找留言信息
+        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
+
+        // 如果留言信息不存在,返回 404 Not Found
+        if (messageOrderLeave == null) {
+            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
+        }
+
+        // 设置顾客评价内容
+        if (messageOrderLeave1.getCustomerReview() != null && !messageOrderLeave1.getCustomerReview().trim().isEmpty()) {
+            messageOrderLeave.setCustomerReview(messageOrderLeave1.getCustomerReview());
+        } else {
+            messageOrderLeave.setCustomerReview("用户未留言");
+        }
+
+        // 更新最后一次操作的时间
+        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+
+        // 调用服务层更新数据
+        boolean updated = messageOrderLeaveService.updateById(messageOrderLeave);
+
+        // 如果更新失败,返回 500 Internal Server Error
+        if (!updated) {
+            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+    }
+    //商家对订单id进行回复
+//    @PutMapping("/seller/{order_id}")
+//    @ApiOperation("商家对订单id进行回复")
+//    public ResponseEntity<Object> updateMessageOrderLeave(@PathVariable("order_id") Integer id, @RequestParam String sellerReply) {
+//        // 检查 sellerReply 是否为空
+//        if (sellerReply == null || sellerReply.trim().isEmpty()) {
+//            return new ResponseEntity<>("sellerReply is required", HttpStatus.BAD_REQUEST);
+//        }
+//
+//        // 根据 order_id 查找留言信息
+//        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
+//
+//        // 如果没有找到对应的留言信息,返回 404 Not Found
+//        if (messageOrderLeave == null) {
+//            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
+//        }
+//
+//        // 设置商家回复内容
+//        messageOrderLeave.setSellerReply(sellerReply);
+//        // 更新最后一次操作的时间
+//        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+//
+//        // 调用服务层更新数据
+//        boolean updated = messageOrderLeaveService.updateById(messageOrderLeave);
+//
+//        // 如果更新失败,返回 500 Internal Server Error
+//        if (!updated) {
+//            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
+//        }
+//
+//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+//    }
+    //商家对订单id进行回复 订单id必须唯一限制 否则会报错
+    @PutMapping("/seller/{order_id}")
+    @ApiOperation("商家对订单id进行回复")
+    public ResponseEntity<Object> updateMessageOrderLeaveSeller(@PathVariable("order_id") Integer id, @RequestBody MessageOrderLeave messageOrderLeave1) {
+        // 根据 order_id 查找留言信息
+        MessageOrderLeave messageOrderLeave = messageOrderLeaveService.findByOrderId(id);
+
+        // 如果没有找到对应的留言信息,返回 404 Not Found
+        if (messageOrderLeave == null) {
+            return new ResponseEntity<>("Message order leave not found for order ID: " + id, HttpStatus.NOT_FOUND);
+        }
+
+        // 设置商家回复内容
+        messageOrderLeave.setSellerReply(messageOrderLeave1.getSellerReply());
+        // 更新最后一次操作的时间
+        messageOrderLeave.setCreateTime(new Timestamp(System.currentTimeMillis()));
+
+        // 调用服务层更新数据
+        boolean updated = messageOrderLeaveService.updateById(messageOrderLeave);
+
+        // 如果更新失败,返回 500 Internal Server Error
+        if (!updated) {
+            return new ResponseEntity<>("Failed to update message order leave", HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+
+        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+    }
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java
new file mode 100644
index 0000000..33909f6
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java
@@ -0,0 +1,108 @@
+package com.oying.modules.message.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.message.domain.MessageOrderSeller;
+import com.oying.modules.message.domain.MessageOrderSeller;
+import com.oying.modules.message.service.MessageOrderSellerService;
+import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
+import lombok.RequiredArgsConstructor;
+import java.util.List;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+* @author 李萌
+* @date 2025-05-20
+**/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "卖家端订单消息通知")
+@RequestMapping("/api/message/messageOrderSeller")
+public class MessageOrderSellerController {
+
+    private final MessageOrderSellerService messageOrderSellerService;
+
+//    @ApiOperation("导出数据")
+//    @GetMapping(value = "/download")
+//    @PreAuthorize("@el.check('messageOrderSeller:list')")
+//    public void exportMessageOrderSeller(HttpServletResponse response, MessageOrderSellerQueryCriteria criteria) throws IOException {
+//        messageOrderSellerService.download(messageOrderSellerService.queryAll(criteria), response);
+//    }
+
+    @GetMapping
+    @ApiOperation("查询卖家端订单消息通知")
+    @PreAuthorize("@el.check('messageOrderSeller:list')")
+    public ResponseEntity<PageResult<MessageOrderSeller>> queryMessageOrderSeller(MessageOrderSellerQueryCriteria criteria){
+        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+        return new ResponseEntity<>(messageOrderSellerService.queryAll(criteria,page),HttpStatus.OK);
+    }
+
+//    @PostMapping
+//    @Log("新增卖家端订单消息通知")
+//    @ApiOperation("新增卖家端订单消息通知")
+//    @PreAuthorize("@el.check('messageOrderSeller:add')")
+//    public ResponseEntity<Object> createMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){
+//        messageOrderSellerService.create(resources);
+//        return new ResponseEntity<>(HttpStatus.CREATED);
+//    }
+//
+//    @PutMapping
+//    @Log("修改卖家端订单消息通知")
+//    @ApiOperation("修改卖家端订单消息通知")
+//    @PreAuthorize("@el.check('messageOrderSeller:edit')")
+//    public ResponseEntity<Object> updateMessageOrderSeller(@Validated @RequestBody MessageOrderSeller resources){
+//        messageOrderSellerService.update(resources);
+//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+//    }
+//
+//    @DeleteMapping
+//    @Log("删除卖家端订单消息通知")
+//    @ApiOperation("删除卖家端订单消息通知")
+//    @PreAuthorize("@el.check('messageOrderSeller:del')")
+//    public ResponseEntity<Object> deleteMessageOrderSeller(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
+//        messageOrderSellerService.deleteAll(ids);
+//        return new ResponseEntity<>(HttpStatus.OK);
+//    }
+
+    //订单状态变化通知
+    @GetMapping("/status/{order_id}")
+    @ApiOperation("查询一条订单状态变化通知")
+    public ResponseEntity<String> getMessageOrderSeller(@PathVariable Integer order_id) {
+        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
+        String message = messageOrderSeller.getMessageType();
+
+        return new ResponseEntity<>(message, HttpStatus.OK);
+    }
+    //订单送达通知
+    @GetMapping("/deliver/{order_id}")
+    @ApiOperation("查询一条订单送达通知")
+    public ResponseEntity<String> getMessageOrderSellerDeliver(@PathVariable Integer order_id) {
+        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
+        String message = messageOrderSeller.getMessageType();
+        //如果MessageType为订单送达,则返回message——content
+        if (message.equals("买家下单")) {
+            String messageContent = messageOrderSeller.getMessageContent();
+            return new ResponseEntity<>(messageContent, HttpStatus.OK);
+        }else{
+            //返回没送达
+            return new ResponseEntity<>("买家没下单", HttpStatus.OK);
+        }
+    }
+    //实现点击跳转到订单详情
+    @GetMapping("/link/{order_id}")
+    @ApiOperation("点击跳转到订单详情")
+    public ResponseEntity<String> getMessageOrderSellerLink(@PathVariable Integer order_id) {
+        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
+        String link = messageOrderSeller.getLink();
+        return new ResponseEntity<>(link, HttpStatus.OK);
+    }
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java b/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java
new file mode 100644
index 0000000..0df458c
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/rest/MessageSystemController.java
@@ -0,0 +1,105 @@
+package com.oying.modules.message.rest;
+
+import com.oying.annotation.Log;
+import com.oying.modules.message.domain.MessageSystem;
+import com.oying.modules.message.service.MessageSystemService;
+import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria;
+import lombok.RequiredArgsConstructor;
+
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.List;
+
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.oying.utils.PageResult;
+
+/**
+ * @author 李萌
+ * @date 2025-05-20
+ **/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "消息_系统")
+@RequestMapping("/api/message/messageSystem")
+public class MessageSystemController {
+
+    private final MessageSystemService messageSystemService;
+
+//    @ApiOperation("导出数据")
+//    @GetMapping(value = "/download")
+//    @PreAuthorize("@el.check('messageSystem:list')")
+//    public void exportMessageSystem(HttpServletResponse response, MessageSystemQueryCriteria criteria) throws IOException {
+//        messageSystemService.download(messageSystemService.queryAll(criteria), response);
+//    }
+
+    @GetMapping
+    @ApiOperation("查询消息_系统")
+    @PreAuthorize("@el.check('messageSystem:list')")
+    public ResponseEntity<PageResult<MessageSystem>> queryMessageSystem(MessageSystemQueryCriteria criteria){
+        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+        return new ResponseEntity<>(messageSystemService.queryAll(criteria,page),HttpStatus.OK);
+    }
+
+//    @PostMapping
+//    @Log("新增消息_系统")
+//    @ApiOperation("新增消息_系统")
+//    @PreAuthorize("@el.check('messageSystem:add')")
+//    public ResponseEntity<Object> createMessageSystem(@Validated @RequestBody MessageSystem resources){
+//        messageSystemService.create(resources);
+//        return new ResponseEntity<>(HttpStatus.CREATED);
+//    }
+
+//    @PutMapping
+//    @Log("修改消息_系统")
+//    @ApiOperation("修改消息_系统")
+//    @PreAuthorize("@el.check('messageSystem:edit')")
+//    public ResponseEntity<Object> updateMessageSystem(@Validated @RequestBody MessageSystem resources){
+//        messageSystemService.update(resources);
+//        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+//    }
+
+//    @DeleteMapping
+//    @Log("删除消息_系统")
+//    @ApiOperation("删除消息_系统")
+//    @PreAuthorize("@el.check('messageSystem:del')")
+//    public ResponseEntity<Object> deleteMessageSystem(@ApiParam(value = "传ID数组[]") @RequestBody List<Integer> ids) {
+//        messageSystemService.deleteAll(ids);
+//        return new ResponseEntity<>(HttpStatus.OK);
+//    }
+
+    //查询一条系统消息
+    @GetMapping("/{id}")
+    @ApiOperation("查询一条系统消息")
+    public ResponseEntity<MessageSystem> getMessageSystem(@PathVariable Integer id){
+        MessageSystem messageSystem = messageSystemService.getById(id);
+        return new ResponseEntity<>(messageSystem,HttpStatus.OK);
+    }
+    //插入一条系统消息 带两个参数start与end
+    @PostMapping()
+    @ApiOperation("插入一条系统消息")
+    public ResponseEntity<Object> insertMessageSystem(
+            @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
+            @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
+
+        // 创建 MessageSystem 对象
+        MessageSystem messageSystem = new MessageSystem();
+        messageSystem.setStartTime(new Timestamp(start.getTime()));
+        messageSystem.setEndTime(new Timestamp(end.getTime()));
+
+        // 调用服务层保存数据
+        messageSystemService.save(messageSystem);
+
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java
new file mode 100644
index 0000000..788bef2
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderBuyerService.java
@@ -0,0 +1,63 @@
+package com.oying.modules.message.service;
+
+import com.oying.modules.message.domain.MessageOrderBuyer;
+import com.oying.modules.message.domain.MessageOrderLeave;
+import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria;
+import java.util.Map;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author 李萌
+* @date 2025-05-20
+**/
+public interface MessageOrderBuyerService extends IService<MessageOrderBuyer> {
+
+    /**
+    * 查询数据分页
+    * @param criteria 条件
+    * @param page 分页参数
+    * @return PageResult
+    */
+    PageResult<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria, Page<Object> page);
+
+    /**
+    * 查询所有数据不分页
+    * @param criteria 条件参数
+    * @return List<MessageOrderBuyerDto>
+    */
+    List<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria);
+
+    /**
+    * 创建
+    * @param resources /
+    */
+    void create(MessageOrderBuyer resources);
+
+    /**
+    * 编辑
+    * @param resources /
+    */
+    void update(MessageOrderBuyer resources);
+
+    /**
+    * 多选删除
+    * @param ids /
+    */
+    void deleteAll(List<Integer> ids);
+
+    /**
+    * 导出数据
+    * @param all 待导出的数据
+    * @param response /
+    * @throws IOException /
+    */
+    void download(List<MessageOrderBuyer> all, HttpServletResponse response) throws IOException;
+
+    public MessageOrderBuyer findByOrderId(Integer orderId) ;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java
new file mode 100644
index 0000000..f20e46e
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderLeaveService.java
@@ -0,0 +1,69 @@
+package com.oying.modules.message.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.modules.message.domain.MessageOrderLeave;
+import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria;
+import java.util.Map;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author 李萌
+* @date 2025-05-20
+**/
+public interface MessageOrderLeaveService extends IService<MessageOrderLeave> {
+
+    /**
+    * 查询数据分页
+    * @param criteria 条件
+    * @param page 分页参数
+    * @return PageResult
+    */
+    PageResult<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria, Page<Object> page);
+
+    /**
+    * 查询所有数据不分页
+    * @param criteria 条件参数
+    * @return List<MessageOrderLeaveDto>
+    */
+    List<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria);
+
+    /**
+    * 创建
+    * @param resources /
+    */
+    void create(MessageOrderLeave resources);
+
+    /**
+    * 编辑
+    * @param resources /
+    */
+//    void update(MessageOrderLeave resources);
+
+    /**
+    * 多选删除
+    * @param ids /
+    */
+    void deleteAll(List<Integer> ids);
+
+    /**
+    * 导出数据
+    * @param all 待导出的数据
+    * @param response /
+    * @throws IOException /
+    */
+    void download(List<MessageOrderLeave> all, HttpServletResponse response) throws IOException;
+
+    /**
+     * 根据订单ID查找留言信息
+     * @param orderId 订单ID
+     * @return 匹配的留言记录,若不存在则返回 null
+     */
+    public MessageOrderLeave findByOrderId(Integer orderId) ;
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java
new file mode 100644
index 0000000..29d672b
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java
@@ -0,0 +1,62 @@
+package com.oying.modules.message.service;
+
+import com.oying.modules.message.domain.MessageOrderBuyer;
+import com.oying.modules.message.domain.MessageOrderSeller;
+import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
+import java.util.Map;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务接口
+* @author 李萌
+* @date 2025-05-20
+**/
+public interface MessageOrderSellerService extends IService<MessageOrderSeller> {
+
+    /**
+    * 查询数据分页
+    * @param criteria 条件
+    * @param page 分页参数
+    * @return PageResult
+    */
+    PageResult<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria, Page<Object> page);
+
+    /**
+    * 查询所有数据不分页
+    * @param criteria 条件参数
+    * @return List<MessageOrderSellerDto>
+    */
+    List<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria);
+
+    /**
+    * 创建
+    * @param resources /
+    */
+    void create(MessageOrderSeller resources);
+
+    /**
+    * 编辑
+    * @param resources /
+    */
+    void update(MessageOrderSeller resources);
+
+    /**
+    * 多选删除
+    * @param ids /
+    */
+    void deleteAll(List<Integer> ids);
+
+    /**
+    * 导出数据
+    * @param all 待导出的数据
+    * @param response /
+    * @throws IOException /
+    */
+    void download(List<MessageOrderSeller> all, HttpServletResponse response) throws IOException;
+    public MessageOrderSeller findByOrderId(Integer orderId) ;
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java b/oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java
new file mode 100644
index 0000000..38c4ccb
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/MessageSystemService.java
@@ -0,0 +1,64 @@
+package com.oying.modules.message.service;
+
+import com.oying.modules.message.domain.MessageSystem;
+import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.utils.PageResult;
+
+/**
+ * @description 服务接口
+ * @author 李萌
+ * @date 2025-05-20
+ **/
+public interface MessageSystemService extends IService<MessageSystem> {
+
+    /**
+     * 查询数据分页
+     * @param criteria 条件
+     * @param page 分页参数
+     * @return PageResult
+     */
+    PageResult<MessageSystem> queryAll(MessageSystemQueryCriteria criteria, Page<Object> page);
+
+    /**
+     * 查询所有数据不分页
+     * @param criteria 条件参数
+     * @return List<MessageSystemDto>
+     */
+    List<MessageSystem> queryAll(MessageSystemQueryCriteria criteria);
+
+    /**
+     * 创建
+     * @param resources /
+     */
+    void create(MessageSystem resources);
+
+    /**
+     * 编辑
+     * @param resources /
+     */
+    void update(MessageSystem resources);
+
+    /**
+     * 多选删除
+     * @param ids /
+     */
+    void deleteAll(List<Integer> ids);
+
+    /**
+     * 导出数据
+     * @param all 待导出的数据
+     * @param response /
+     * @throws IOException /
+     */
+    void download(List<MessageSystem> all, HttpServletResponse response) throws IOException;
+
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java
new file mode 100644
index 0000000..212e818
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderBuyerServiceImpl.java
@@ -0,0 +1,83 @@
+package com.oying.modules.message.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.modules.message.domain.MessageOrderBuyer;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.message.service.MessageOrderBuyerService;
+import com.oying.modules.message.domain.dto.MessageOrderBuyerQueryCriteria;
+import com.oying.modules.message.mapper.MessageOrderBuyerMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务实现
+* @author 李萌
+* @date 2025-05-20
+**/
+@Service
+@RequiredArgsConstructor
+public class MessageOrderBuyerServiceImpl extends ServiceImpl<MessageOrderBuyerMapper, MessageOrderBuyer> implements MessageOrderBuyerService {
+
+    private final MessageOrderBuyerMapper messageOrderBuyerMapper;
+
+    @Override
+    public PageResult<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria, Page<Object> page){
+        return PageUtil.toPage(messageOrderBuyerMapper.findAll(criteria, page));
+    }
+
+    @Override
+    public List<MessageOrderBuyer> queryAll(MessageOrderBuyerQueryCriteria criteria){
+        return messageOrderBuyerMapper.findAll(criteria);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void create(MessageOrderBuyer resources) {
+        messageOrderBuyerMapper.insert(resources);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void update(MessageOrderBuyer resources) {
+        MessageOrderBuyer messageOrderBuyer = getById(resources.getId());
+        messageOrderBuyer.copy(resources);
+        messageOrderBuyerMapper.updateById(messageOrderBuyer);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteAll(List<Integer> ids) {
+        messageOrderBuyerMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void download(List<MessageOrderBuyer> all, HttpServletResponse response) throws IOException {
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (MessageOrderBuyer messageOrderBuyer : all) {
+            Map<String, Object> map = new LinkedHashMap<>();
+            map.put("订单ID", messageOrderBuyer.getOrderId());
+            map.put("消息类型(订单状态变化、订单送达)", messageOrderBuyer.getMessageType());
+            map.put("消息内容", messageOrderBuyer.getMessageContent());
+            map.put("跳转链接", messageOrderBuyer.getLink());
+            map.put("创建时间", messageOrderBuyer.getCreateTime());
+            list.add(map);
+        }
+        FileUtil.downloadExcel(list, response);
+    }
+
+    @Override
+    public MessageOrderBuyer findByOrderId(Integer orderId) {
+        return baseMapper.selectOne(new QueryWrapper<MessageOrderBuyer>().eq("order_id", orderId));
+    }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java
new file mode 100644
index 0000000..9d28813
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderLeaveServiceImpl.java
@@ -0,0 +1,89 @@
+package com.oying.modules.message.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.modules.message.domain.MessageOrderLeave;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.message.service.MessageOrderLeaveService;
+import com.oying.modules.message.domain.dto.MessageOrderLeaveQueryCriteria;
+import com.oying.modules.message.mapper.MessageOrderLeaveMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务实现
+* @author 李萌
+* @date 2025-05-20
+**/
+@Service
+@RequiredArgsConstructor
+public class MessageOrderLeaveServiceImpl extends ServiceImpl<MessageOrderLeaveMapper, MessageOrderLeave> implements MessageOrderLeaveService {
+
+    private final MessageOrderLeaveMapper messageOrderLeaveMapper;
+
+    @Override
+    public PageResult<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria, Page<Object> page){
+        return PageUtil.toPage(messageOrderLeaveMapper.findAll(criteria, page));
+    }
+
+    @Override
+    public List<MessageOrderLeave> queryAll(MessageOrderLeaveQueryCriteria criteria){
+        return messageOrderLeaveMapper.findAll(criteria);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void create(MessageOrderLeave resources) {
+        messageOrderLeaveMapper.insert(resources);
+    }
+
+//    @Override
+//    @Transactional(rollbackFor = Exception.class)
+//    public void update(MessageOrderLeave resources) {
+//        MessageOrderLeave messageOrderLeave = getById(resources.getId());
+//        messageOrderLeave.copy(resources);
+//        messageOrderLeaveMapper.updateById(messageOrderLeave);
+//    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteAll(List<Integer> ids) {
+        messageOrderLeaveMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void download(List<MessageOrderLeave> all, HttpServletResponse response) throws IOException {
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (MessageOrderLeave messageOrderLeave : all) {
+            Map<String, Object> map = new LinkedHashMap<>();
+            map.put("订单ID", messageOrderLeave.getOrderId());
+            map.put("顾客评价内容", messageOrderLeave.getCustomerReview());
+            map.put("商家回复内容", messageOrderLeave.getSellerReply());
+            map.put("跳转链接", messageOrderLeave.getLink());
+            map.put("创建时间", messageOrderLeave.getCreateTime());
+            list.add(map);
+        }
+        FileUtil.downloadExcel(list, response);
+    }
+
+    /**
+     * 根据订单ID查找留言信息
+     * @param orderId 订单ID
+     * @return 匹配的留言记录,若不存在则返回 null
+     */
+    public MessageOrderLeave findByOrderId(Integer orderId) {
+        return baseMapper.selectOne(new QueryWrapper<MessageOrderLeave>()
+                .eq("order_id", orderId));
+    }
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java
new file mode 100644
index 0000000..1668632
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java
@@ -0,0 +1,84 @@
+package com.oying.modules.message.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.modules.message.domain.MessageOrderBuyer;
+import com.oying.modules.message.domain.MessageOrderSeller;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.message.service.MessageOrderSellerService;
+import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
+import com.oying.modules.message.mapper.MessageOrderSellerMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import com.oying.utils.PageResult;
+
+/**
+* @description 服务实现
+* @author 李萌
+* @date 2025-05-20
+**/
+@Service
+@RequiredArgsConstructor
+public class MessageOrderSellerServiceImpl extends ServiceImpl<MessageOrderSellerMapper, MessageOrderSeller> implements MessageOrderSellerService {
+
+    private final MessageOrderSellerMapper messageOrderSellerMapper;
+
+    @Override
+    public PageResult<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria, Page<Object> page){
+        return PageUtil.toPage(messageOrderSellerMapper.findAll(criteria, page));
+    }
+
+    @Override
+    public List<MessageOrderSeller> queryAll(MessageOrderSellerQueryCriteria criteria){
+        return messageOrderSellerMapper.findAll(criteria);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void create(MessageOrderSeller resources) {
+        messageOrderSellerMapper.insert(resources);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void update(MessageOrderSeller resources) {
+        MessageOrderSeller messageOrderSeller = getById(resources.getId());
+        messageOrderSeller.copy(resources);
+        messageOrderSellerMapper.updateById(messageOrderSeller);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteAll(List<Integer> ids) {
+        messageOrderSellerMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void download(List<MessageOrderSeller> all, HttpServletResponse response) throws IOException {
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (MessageOrderSeller messageOrderSeller : all) {
+            Map<String, Object> map = new LinkedHashMap<>();
+            map.put(" orderId",  messageOrderSeller.getOrderId());
+            map.put(" messageType",  messageOrderSeller.getMessageType());
+            map.put(" messageContent",  messageOrderSeller.getMessageContent());
+            map.put(" link",  messageOrderSeller.getLink());
+            map.put(" createTime",  messageOrderSeller.getCreateTime());
+            list.add(map);
+        }
+        FileUtil.downloadExcel(list, response);
+    }
+
+    @Override
+    public MessageOrderSeller findByOrderId(Integer orderId) {
+        return baseMapper.selectOne(new QueryWrapper<MessageOrderSeller>().eq("order_id", orderId));
+    }
+}
diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java
new file mode 100644
index 0000000..0fc9845
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MessageSystemServiceImpl.java
@@ -0,0 +1,79 @@
+package com.oying.modules.message.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.oying.modules.message.domain.MessageOrderLeave;
+import com.oying.modules.message.domain.MessageSystem;
+import com.oying.utils.FileUtil;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.oying.modules.message.service.MessageSystemService;
+import com.oying.modules.message.domain.dto.MessageSystemQueryCriteria;
+import com.oying.modules.message.mapper.MessageSystemMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+
+import java.util.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+import com.oying.utils.PageResult;
+
+/**
+ * @description 服务实现
+ * @author 李萌
+ * @date 2025-05-20
+ **/
+@Service
+@RequiredArgsConstructor
+public class MessageSystemServiceImpl extends ServiceImpl<MessageSystemMapper, MessageSystem> implements MessageSystemService {
+
+    private final MessageSystemMapper messageSystemMapper;
+
+    @Override
+    public PageResult<MessageSystem> queryAll(MessageSystemQueryCriteria criteria, Page<Object> page){
+        return PageUtil.toPage(messageSystemMapper.findAll(criteria, page));
+    }
+
+    @Override
+    public List<MessageSystem> queryAll(MessageSystemQueryCriteria criteria){
+        return messageSystemMapper.findAll(criteria);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void create(MessageSystem resources) {
+        messageSystemMapper.insert(resources);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void update(MessageSystem resources) {
+        MessageSystem messageSystem = getById(resources.getId());
+        messageSystem.copy(resources);
+        messageSystemMapper.updateById(messageSystem);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteAll(List<Integer> ids) {
+        messageSystemMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void download(List<MessageSystem> all, HttpServletResponse response) throws IOException {
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (MessageSystem messageSystem : all) {
+            Map<String, Object> map = new LinkedHashMap<>();
+            map.put("系统维护开始时间", messageSystem.getStartTime());
+            map.put("系统维护截至时间", messageSystem.getEndTime());
+            list.add(map);
+        }
+        FileUtil.downloadExcel(list, response);
+    }
+
+
+
+
+}
diff --git a/oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml b/oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml
new file mode 100644
index 0000000..9235ee3
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/message/MessageOrderBuyerMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.message.mapper.MessageOrderBuyerMapper">
+    <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageOrderBuyer">
+        <id column="id" property="id"/>
+        <result column="order_id" property="orderId"/>
+        <result column="message_type" property="messageType"/>
+        <result column="message_content" property="messageContent"/>
+        <result column="link" property="link"/>
+        <result column="create_time" property="createTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id, order_id, message_type, message_content, link, create_time
+    </sql>
+
+    <select id="findAll" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from message_order_buyer
+        <where>
+        </where>
+        order by id desc
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml b/oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml
new file mode 100644
index 0000000..48b3fbe
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/message/MessageOrderLeaveMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.message.mapper.MessageOrderLeaveMapper">
+    <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageOrderLeave">
+        <id column="id" property="id"/>
+        <result column="order_id" property="orderId"/>
+        <result column="customer_review" property="customerReview"/>
+        <result column="seller_reply" property="sellerReply"/>
+        <result column="link" property="link"/>
+        <result column="create_time" property="createTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id, order_id, customer_review, seller_reply, link, create_time
+    </sql>
+
+    <select id="findAll" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from message_order_leave
+        <where>
+        </where>
+        order by id desc
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml b/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml
new file mode 100644
index 0000000..1150b53
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.message.mapper.MessageOrderSellerMapper">
+    <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageOrderSeller">
+        <id column="id" property="id"/>
+        <result column="order_id" property="orderId"/>
+        <result column="message_type" property="messageType"/>
+        <result column="message_content" property="messageContent"/>
+        <result column="link" property="link"/>
+        <result column="create_time" property="createTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id, order_id, message_type, message_content, link, create_time
+    </sql>
+
+    <select id="findAll" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from message_order_seller
+        <where>
+        </where>
+        order by id desc
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml b/oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml
new file mode 100644
index 0000000..b03dca7
--- /dev/null
+++ b/oying-system/src/main/resources/mapper/message/MessageSystemMapper.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.oying.modules.message.mapper.MessageSystemMapper">
+    <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageSystem">
+        <id column="id" property="id"/>
+        <result column="start_time" property="startTime"/>
+        <result column="end_time" property="endTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id, start_time, end_time
+    </sql>
+
+    <select id="findAll" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        from message_system
+        <where>
+        </where>
+        order by id desc
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3