From 0233d941ae15db1a089bdb633f76d67be6a15ed3 Mon Sep 17 00:00:00 2001
From: leomon <2233021400@qq.com>
Date: Sat, 12 Jul 2025 23:22:48 +0800
Subject: [PATCH] 优化

---
 oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java |   90 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 85 insertions(+), 5 deletions(-)

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..a248ec6 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;
@@ -10,15 +9,16 @@
 import com.oying.modules.message.service.MessageOrderSellerService;
 import com.oying.modules.message.domain.dto.MessageOrderSellerQueryCriteria;
 import com.oying.modules.message.mapper.MessageOrderSellerMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.util.Beta;
 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;
 
 /**
@@ -26,11 +26,15 @@
 * @author 李萌
 * @date 2025-05-20
 **/
+@Slf4j
 @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){
@@ -81,4 +85,80 @@
     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);
+    }
+
+    /**
+     * 保存或更新 MessageOrderSeller 记录。
+     * <p>
+     * 该方法根据传入的 MessageOrderSeller 对象,将数据插入到数据库中。
+     * 如果记录已存在,则更新;如果不存在,则插入新记录。
+     * </p>
+     * <p>
+     * 必须字段:
+     * - orderId:订单 ID
+     * - storeId:店铺 ID
+     * </p>
+     * <p>
+     * 可选字段:
+     * - messageType:消息类型 : 暂时不用
+     * - messageContent:消息内容 :  "订单已提交"   :"支付成功"   商家已接单   骑手已接单".......com.oying.modules.message.common.OrderStatusEnum
+     * - link:链接
+     * - flag:标志字段(默认值为未读 0)
+     * </p>
+     *
+     * @param resources MessageOrderSeller 对象,包含需要保存或更新的数据。
+     * @return true 表示保存成功,false 表示保存失败。
+     *
+     * 目前插入orderId   storeId messageContent即可,其他保留---------
+     */
+    @Override
+    public boolean saveMessageOrderSellerByOrderIdAndStoreId(MessageOrderSeller resources) {
+
+        try {
+            // 1. 判断重复的记录是否存在
+//            // messageType此处不用
+            long count = this.lambdaQuery()
+                    .eq(MessageOrderSeller::getOrderId, resources.getOrderId())
+                    .eq(MessageOrderSeller::getStoreId,   resources.getStoreId())
+                    .eq(MessageOrderSeller::getMessageContent, resources.getMessageContent())
+                    .eq(MessageOrderSeller::getFlag, 0)       // 未读
+                    .count();
+
+            //存在  不插入
+            if (count > 0) {
+                log.warn("消息已存在,跳过保存:{}",
+                        resources);
+                return false;
+            }else{
+                return messageOrderSellerMapper.saveMessageOrderSellerByOrderIdAndStoreId(resources);
+            }
+
+        } catch (Exception e) {
+            log.error("保存消息异常",
+                    e);
+            return false;
+        }
+
+    }
+
+
+
+
+
+    @Override
+    public boolean updateReadStatusById(Integer id) {
+        return messageOrderSellerMapper.updateReadStatusById(id);
+    }
+
+
+
 }

--
Gitblit v1.9.3