彭雪彬
2025-07-15 a7501803a3ca43310e57a5dd912e5047919c2e43
oying-system/src/main/java/com/oying/modules/message/service/impl/MessageOrderSellerServiceImpl.java
@@ -9,6 +9,7 @@
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;
@@ -25,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){
@@ -104,19 +109,56 @@
     * </p>
     * <p>
     * 可选字段:
     * - messageType:消息类型 :     供流程使用  订单状态: 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消"
     * - messageContent:消息内容 :  "订单已提交"   :"支付成功"   商家已接单   骑手已接单"
     * - messageType:消息类型 : 暂时不用
     * - messageContent:消息内容 :  "订单已提交"   :"支付成功"   商家已接单   骑手已接单".......com.oying.modules.message.common.OrderStatusEnum
     * - link:链接
     * - flag:标志字段(默认值为未读 0)
     * </p>
     *
     * @param resources MessageOrderSeller 对象,包含需要保存或更新的数据。
     * @return true 表示保存成功,false 表示保存失败。
     *
     * 目前插入orderId   storeId messageContent即可,其他保留---------
     */
    @Beta
    @Override
    public boolean saveMessageOrderSellerByOrderIdAndStoreId(MessageOrderSeller resources) {
        return messageOrderSellerMapper.saveMessageOrderSellerByOrderIdAndStoreId(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);
    }
}