From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 08 五月 2025 09:21:57 +0800
Subject: [PATCH] bug修改

---
 cloud-server-management/src/main/java/com/dsh/course/service/impl/SystemNoticeServiceImpl.java |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 115 insertions(+), 0 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/course/service/impl/SystemNoticeServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/course/service/impl/SystemNoticeServiceImpl.java
new file mode 100644
index 0000000..0ba80e1
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/service/impl/SystemNoticeServiceImpl.java
@@ -0,0 +1,115 @@
+package com.dsh.course.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.course.entity.SystemNotice;
+import com.dsh.course.mapper.SystemNoticeMapper;
+import com.dsh.course.mapper.TNoticesMapper;
+import com.dsh.course.service.ISystemNoticeService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+
+@Service
+public class SystemNoticeServiceImpl extends ServiceImpl<SystemNoticeMapper, SystemNotice> implements ISystemNoticeService {
+
+    @Resource
+    private SystemNoticeMapper systemNoticeMapper;
+
+    @Resource
+    private TNoticesMapper tNoticesMapper;
+
+
+    /**
+     * 添加系统消息
+     * @param userType
+     * @param content
+     * @param userId
+     * @throws Exception
+     */
+    @Override
+    public void addSystemNotice(Integer userType, String content, Integer userId, Integer noticeType) throws Exception {
+        SystemNotice systemNotice = new SystemNotice();
+        systemNotice.setContent(content);
+        systemNotice.setInsertTime(new Date());
+        systemNotice.setRead(1);
+        systemNotice.setType(2);
+        systemNotice.setNoticeType(noticeType);
+        systemNotice.setUserId(userId);
+        systemNotice.setUserType(userType);
+        this.baseMapper.insert(systemNotice);
+    }
+
+    /**
+     * 获取未阅读数据
+     * @param uid
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public int queryNoReadNoticeNum(Integer uid, Integer userType) throws Exception {
+        return systemNoticeMapper.queryNoReadNoticeNum(uid, userType);
+    }
+
+    /**
+     * 获取消息列表
+     * @param type
+     * @param pageNum
+     * @param size
+     * @param uid
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> queryList(Integer type, Integer pageNum, Integer size, Integer uid, Integer userType,Integer language) {
+        pageNum = (pageNum - 1) * size;
+        List<Map<String, Object>> list = null;
+        if(type == 1){//系统公告
+            list = tNoticesMapper.queryList(pageNum, size, uid, userType,language);
+        }
+        if(type == 2){//系统消息
+            list = systemNoticeMapper.queryList(type, pageNum, size, uid, userType,language);
+            for(Map<String, Object> map : list){
+                systemNoticeMapper.readSystemNotice(Integer.valueOf(String.valueOf(map.get("id"))), uid, userType);
+            }
+        }
+        return list;
+    }
+
+
+    /**
+     * 阅读操作
+     * @param id
+     * @param uid
+     * @throws Exception
+     */
+    @Override
+    public void readSystemNotice(Integer id, Integer uid, Integer userType) throws Exception {
+        systemNoticeMapper.readSystemNotice(id, uid, userType);
+    }
+
+
+    /**
+     * 删除公告或消息
+     * @param id
+     * @param uid
+     * @throws Exception
+     */
+    @Override
+    public void delSystemNotice(Integer id, Integer uid, Integer userType) throws Exception {
+        systemNoticeMapper.delSystemNotice(id, uid, userType);
+    }
+
+
+    /**
+     * 清空消息或公告
+     * @param uid
+     * @throws Exception
+     */
+    @Override
+    public void clearSystemNotice(Integer uid, Integer userType) throws Exception {
+        systemNoticeMapper.delSystemNotice(null, uid, userType);
+    }
+}

--
Gitblit v1.7.1