From 178e2536417ded3b4e98a192ff47cc87870dc75f Mon Sep 17 00:00:00 2001
From: leomon <2233021400@qq.com>
Date: Thu, 26 Jun 2025 01:15:36 +0800
Subject: [PATCH] 订单消息接口优化

---
 oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerDTO.java           |   18 ++++++
 oying-system/src/main/java/com/oying/modules/message/rest/MessageOrderSellerController.java          |   64 ++++++++++++++++++--
 oying-system/src/main/java/com/oying/modules/message/service/MessageOrderSellerService.java          |    7 +
 oying-system/src/main/java/com/oying/modules/message/domain/MessageOrderSeller.java                  |   16 ++++-
 oying-system/src/main/java/com/oying/modules/message/mapper/MessageOrderSellerMapper.java            |    4 +
 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java |   18 ++++-
 oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml                          |   20 ++++++
 7 files changed, 127 insertions(+), 20 deletions(-)

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
index f6b81ae..763f274 100644
--- 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
@@ -26,22 +26,30 @@
     @ApiModelProperty(value = "id")
     private Integer id;
 
-    @NotNull
+
     @ApiModelProperty(value = "orderId")
     private Integer orderId;
 
-    @NotBlank
+
+    @ApiModelProperty(value = "storeId")
+    private Integer storeId;
+
+
     @ApiModelProperty(value = "messageType")
     private String messageType;
 
-    @NotBlank
+
     @ApiModelProperty(value = "messageContent")
     private String messageContent;
 
-    @NotBlank
+
     @ApiModelProperty(value = "link")
     private String link;
 
+
+    @ApiModelProperty(value = "flag")
+    private Integer flag=0;
+
 //    @ApiModelProperty(value = "createTime")
 //    private Timestamp createTime;
 
diff --git a/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerDTO.java b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerDTO.java
new file mode 100644
index 0000000..f33e962
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/domain/dto/MessageOrderSellerDTO.java
@@ -0,0 +1,18 @@
+package com.oying.modules.message.domain.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class MessageOrderSellerDTO {
+
+    private Integer orderId;
+
+    private String messageType;
+
+    private String messageContent;
+
+}
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
index be1783a..2fd121f 100644
--- 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
@@ -19,4 +19,8 @@
     IPage<MessageOrderSeller> findAll(@Param("criteria") MessageOrderSellerQueryCriteria criteria, Page<Object> page);
 
     List<MessageOrderSeller> findAll(@Param("criteria") MessageOrderSellerQueryCriteria criteria);
+
+    List<MessageOrderSeller> findByStoreId(String storeId);
+
+    Boolean updateMessageOrderSellerRead(Integer orderId);
 }
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
index 80456f1..6fcf7d7 100644
--- 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
@@ -1,8 +1,10 @@
 package com.oying.modules.message.rest;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.oying.annotation.Log;
 import com.oying.modules.message.domain.MessageOrderSeller;
 import com.oying.modules.message.domain.MessageOrderSeller;
+import com.oying.modules.message.domain.dto.MessageOrderSellerDTO;
 import com.oying.modules.message.service.MessageOrderSellerService;
 import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
 import com.oying.utils.R;
@@ -74,16 +76,62 @@
 //        return new ResponseEntity<>(HttpStatus.OK);
 //    }
 
-    //订单状态变化通知
-    @GetMapping("/status/{order_id}")
-    @ApiOperation("查询一条订单状态变化通知")
-    public R<String> getMessageOrderSeller(@PathVariable Integer order_id) {
-        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
-        String message = messageOrderSeller.getMessageType();
+//    //订单状态变化通知
+//    @GetMapping("/status/{order_id}")
+//    @ApiOperation("查询一条订单状态变化通知")
+//    public R<String> getMessageOrderSeller(@PathVariable Integer order_id) {
+//        MessageOrderSeller messageOrderSeller = messageOrderSellerService.findByOrderId(order_id);
+//        String message = messageOrderSeller.getMessageType();
+//
+////        return new ResponseEntity<>(message, HttpStatus.OK);
+//        return R.success(message);
+//    }
+    //根据store_id 返回list订单状态变化通知
+    @GetMapping("/status/store/{store_id}")
+    @ApiOperation("根据store_id 返回list订单状态变化通知")
+    public R<List<MessageOrderSellerDTO>> getMessageOrderSeller(@PathVariable String store_id) {
+         List<MessageOrderSeller> messageOrderSeller = messageOrderSellerService.findByStoreId(store_id);
+         //转换为MessageOrderSellerDTO huto tools
+        List<MessageOrderSellerDTO> dtoList = BeanUtil.copyToList(messageOrderSeller, MessageOrderSellerDTO.class);
+        //判断store_id存在
+        if (messageOrderSeller == null) {
+            return R.fail("store_id不存在");
+        }else{return R.success(dtoList);}
 
-//        return new ResponseEntity<>(message, HttpStatus.OK);
-        return R.success(message);
     }
+    //让前端标记已读
+    @PostMapping("/read/{order_id}")
+    @ApiOperation("让前端标记已读 按条")
+    public R<String> getMessageOrderSellerRead(@PathVariable Integer order_id) {
+             if(messageOrderSellerService.updateMessageOrderSellerRead(order_id)){
+                 return R.success("已读");
+             }else{
+                 return R.fail("id不存在");
+             }
+
+
+    }
+
+    //让后端队友更新我的表
+    @PostMapping("/update/seller")
+    @ApiOperation("让后端队友更新消息表")
+    public R<String> updateMessageOrderSeller(@RequestBody MessageOrderSeller resources) {
+        //插入一条数据
+        if(messageOrderSellerService.saveOrUpdate(resources))
+            return R.success("更新成功");
+        return R.fail("更新失败");
+//        if(messageOrderSellerService.updateById(resources)){
+//            return R.success("更新成功");
+//        }else{
+//            return R.fail("更新失败");
+//        }
+    }
+
+
+
+
+
+
     //订单送达通知
     @GetMapping("/deliver/{order_id}")
     @ApiOperation("查询一条订单送达通知")
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
index 29d672b..c4e5361 100644
--- 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
@@ -1,9 +1,8 @@
 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;
@@ -59,4 +58,8 @@
     */
     void download(List<MessageOrderSeller> all, HttpServletResponse response) throws IOException;
     public MessageOrderSeller findByOrderId(Integer orderId) ;
+
+    List<MessageOrderSeller> findByStoreId(String storeId);
+
+    boolean updateMessageOrderSellerRead(Integer 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
index 1668632..25d8344 100644
--- 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
@@ -1,7 +1,6 @@
 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;
@@ -13,12 +12,11 @@
 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.util.*;
 import java.io.IOException;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
+
 import com.oying.utils.PageResult;
 
 /**
@@ -81,4 +79,14 @@
     public MessageOrderSeller findByOrderId(Integer orderId) {
         return baseMapper.selectOne(new QueryWrapper<MessageOrderSeller>().eq("order_id", orderId));
     }
+
+    @Override
+    public List<MessageOrderSeller> findByStoreId(String storeId) {
+        return messageOrderSellerMapper.findByStoreId(storeId);
+    }
+
+    @Override
+    public boolean updateMessageOrderSellerRead(Integer orderId) {
+        return messageOrderSellerMapper.updateMessageOrderSellerRead(orderId);
+    }
 }
diff --git a/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml b/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml
index 759100b..5bccf2c 100644
--- a/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml
+++ b/oying-system/src/main/resources/mapper/message/MessageOrderSellerMapper.xml
@@ -4,6 +4,7 @@
     <resultMap id="BaseResultMap" type="com.oying.modules.message.domain.MessageOrderSeller">
         <id column="id" property="id"/>
         <result column="order_id" property="orderId"/>
+        <result column="store_id" property="storeId"/>
         <result column="message_type" property="messageType"/>
         <result column="message_content" property="messageContent"/>
         <result column="link" property="link"/>
@@ -11,11 +12,13 @@
         <result column="update_time" property="updateTime"/>
         <result column="create_by" property="createBy"/>
         <result column="update_by" property="updateBy"/>
+        <result column="flag" property="flag"/>
     </resultMap>
 
     <sql id="Base_Column_List">
-        id, order_id, message_type, message_content, link, create_time, update_time, create_by, update_by
+        id, order_id,store_id, message_type, message_content, link, create_time, update_time, create_by, update_by,flag
     </sql>
+
 
     <select id="findAll" resultMap="BaseResultMap">
         select
@@ -25,4 +28,19 @@
         </where>
         order by id desc
     </select>
+
+    <select id="findByStoreId" resultType="com.oying.modules.message.domain.MessageOrderSeller"
+            parameterType="java.lang.String">
+#     根据store_id(不是主键)返回 list
+        select
+        <include refid="Base_Column_List"/>
+        from message_order_seller
+        where store_id = #{storeId} and flag = 0
+        order by id desc
+    </select>
+    <update id="updateMessageOrderSellerRead" parameterType="java.lang.Integer">
+        update message_order_seller
+        set flag = 1
+        where order_id = #{orderId}
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3