From 982313135d1c239fe3b20e4c5664781f92d40aca Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 31 Jul 2025 17:17:39 +0800
Subject: [PATCH] Merge branch 'master' into xin

---
 oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java
new file mode 100644
index 0000000..95d4514
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/message/service/impl/MesMsgRecordServiceImpl.java
@@ -0,0 +1,132 @@
+package com.oying.modules.message.service.impl;
+
+import com.oying.modules.message.common.MesReadEnum;
+import com.oying.modules.message.common.MesTypeEnum;
+import com.oying.modules.message.common.OrderStatusEnum;
+import com.oying.modules.message.domain.MesMsgRecord;
+import com.oying.modules.message.domain.myDto.MesMsgRecordQueryOrderDto;
+import com.oying.modules.message.domain.myDto.MesMsgRecordQueryPollDto;
+import com.oying.modules.message.domain.myDto.MesMsgRecordQuerySystemDto;
+import com.oying.utils.FileUtil;
+import com.oying.utils.SecurityUtils;
+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.MesMsgRecordService;
+import com.oying.modules.message.domain.dto.MesMsgRecordQueryCriteria;
+import com.oying.modules.message.mapper.MesMsgRecordMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.oying.utils.PageUtil;
+
+import java.sql.Timestamp;
+import java.util.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+import com.oying.utils.PageResult;
+
+/**
+ * @author 李萌
+ * @description 服务实现
+ * @date 2025-07-25
+ **/
+@Service
+@RequiredArgsConstructor
+public class MesMsgRecordServiceImpl extends ServiceImpl<MesMsgRecordMapper, MesMsgRecord> implements MesMsgRecordService {
+
+    private final MesMsgRecordMapper mesMsgRecordMapper;
+
+    @Override
+    public PageResult<MesMsgRecord> queryAll(MesMsgRecordQueryCriteria criteria, Page<Object> page) {
+        return PageUtil.toPage(mesMsgRecordMapper.findAll(criteria, page));
+    }
+
+    @Override
+    public List<MesMsgRecord> queryAll(MesMsgRecordQueryCriteria criteria) {
+        return mesMsgRecordMapper.findAll(criteria);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void create(MesMsgRecord resources) {
+        mesMsgRecordMapper.insert(resources);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void update(MesMsgRecord resources) {
+        MesMsgRecord mesMsgRecord = getById(resources.getId());
+        mesMsgRecord.copy(resources);
+        mesMsgRecordMapper.updateById(mesMsgRecord);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteAll(List<Long> ids) {
+        mesMsgRecordMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void download(List<MesMsgRecord> all, HttpServletResponse response) throws IOException {
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (MesMsgRecord mesMsgRecord : all) {
+            Map<String, Object> map = new LinkedHashMap<>();
+            map.put("模板ID 可无", mesMsgRecord.getTemplateId());
+            map.put("接收人ID", mesMsgRecord.getReceiverId());
+            map.put("1=买家 2=商户 3=骑手", mesMsgRecord.getPlatform());
+            map.put("同模板type", mesMsgRecord.getMsgType());
+            map.put("最终标题", mesMsgRecord.getTitle());
+            map.put("最终内容", mesMsgRecord.getContent());
+            map.put("业务ID 例如订单ID", mesMsgRecord.getBizId());
+            map.put("业务类型 ORDER/EVALUATION 等", mesMsgRecord.getBizType());
+            map.put("已读 0=未读 1=已读", mesMsgRecord.getIsRead());
+            map.put("阅读时间", mesMsgRecord.getReadTime());
+            map.put("扩展字段 存跳转链接等", mesMsgRecord.getExtra());
+            map.put("创建人", mesMsgRecord.getCreateBy());
+            map.put("创建时间", mesMsgRecord.getCreateTime());
+            map.put("更新人", mesMsgRecord.getUpdateBy());
+            map.put("更新时间", mesMsgRecord.getUpdateTime());
+            list.add(map);
+        }
+        FileUtil.downloadExcel(list, response);
+    }
+
+    @Override
+    public List<MesMsgRecordQueryPollDto> PollMes(Long platform) {
+        return mesMsgRecordMapper.PollMes(platform);
+    }
+
+    @Override
+    public void batchMarkRead(Long platform, List<Long> msgIds) {
+        mesMsgRecordMapper.batchMarkRead(platform, msgIds);
+    }
+
+    @Override
+    public PageResult<MesMsgRecordQuerySystemDto> queryAllSysNotice(MesMsgRecordQueryCriteria criteria, Page<Object> page) {
+        return PageUtil.toPage(mesMsgRecordMapper.queryAllSysNotice(criteria, page));
+    }
+
+    @Override
+    public List<MesMsgRecordQueryOrderDto> queryorder(Long shopId) {
+        return mesMsgRecordMapper.queryorder(shopId);
+    }
+
+    @Override
+    public void insertOrderMsg(String orderNo, OrderStatusEnum content, Long shopId) {
+        MesMsgRecord record = new MesMsgRecord();
+        record.setOrderNo(orderNo);
+        record.setContent(content.getValue()); // 使用枚举的描述作为消息内容
+        record.setShopId(shopId);
+        record.setMsgType(MesTypeEnum.ORDER.getKey()); // 订单消息类型为2
+        record.setIsRead(MesReadEnum.UNREAD.getKey()); // 默认未读 0
+        record.setCreateTime(new Timestamp(System.currentTimeMillis()));
+        record.setUpdateTime(new Timestamp(System.currentTimeMillis()));
+        try {
+            mesMsgRecordMapper.insert(record);
+        } catch (Exception e) {
+          log.error("插入订单消息失败:{}", e);
+        }
+
+    }
+}

--
Gitblit v1.9.3