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 | 95 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 91 insertions(+), 4 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 5d65145..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,5 +1,6 @@ package com.oying.modules.message.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.oying.modules.message.domain.MessageOrderSeller; import com.oying.utils.FileUtil; import lombok.RequiredArgsConstructor; @@ -8,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; /** @@ -24,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){ @@ -74,4 +80,85 @@ } FileUtil.downloadExcel(list, response); } + + @Override + 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