From cdefd6a50721e2c4ba6df850e1405419f9df3c31 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期一, 27 五月 2024 13:40:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 48 insertions(+), 12 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java b/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java
index eb7bff6..39c53a4 100644
--- a/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java
+++ b/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java
@@ -3,15 +3,17 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.common.GetLook;
-import com.yuanchu.mom.pojo.InformationNotification;
 import com.yuanchu.mom.mapper.InformationNotificationMapper;
+import com.yuanchu.mom.pojo.InformationNotification;
 import com.yuanchu.mom.pojo.InformationNotificationDto;
 import com.yuanchu.mom.service.InformationNotificationService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -26,12 +28,13 @@
 @Service
 public class InformationNotificationServiceImpl extends ServiceImpl<InformationNotificationMapper, InformationNotification> implements InformationNotificationService {
 
-    @Autowired
+    @Resource
     private GetLook getLook;
 
     @Override
     public IPage<InformationNotificationDto> getPage(Page page, String messageType) {
-        return baseMapper.getPage(page, messageType);
+        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
+        return baseMapper.getPage(page, messageType, map1.get("userId"));
     }
 
     @Override
@@ -50,13 +53,18 @@
 
     @Override
     public Boolean checkForUnreadData() {
-        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter");
-        List<InformationNotification> informationNotifications = baseMapper.selectList(
-                Wrappers.<InformationNotification>lambdaQuery()
-                        .eq(InformationNotification::getConsigneeId, map1.get("userId"))
-                        .eq(InformationNotification::getViewStatus, false)
-                        .last("limit 1"));
-        return !informationNotifications.isEmpty();
+        Map<String, Integer> map1 = null;
+        try {
+            map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter");
+            List<InformationNotification> informationNotifications = baseMapper.selectList(
+                    Wrappers.<InformationNotification>lambdaQuery()
+                            .eq(InformationNotification::getConsigneeId, map1.get("userId"))
+                            .eq(InformationNotification::getViewStatus, false)
+                            .last("limit 1"));
+            return !informationNotifications.isEmpty();
+        } catch (Exception e) {
+        }
+        return false;
     }
 
     @Override
@@ -65,4 +73,32 @@
                 .eq(InformationNotification::getId, id)
                 .set(InformationNotification::getViewStatus, true));
     }
+
+    @Override
+    public int addInformationNotification(InformationNotification informationNotification) {
+        return baseMapper.insert(informationNotification);
+    }
+
+    @Override
+    public Map<String, Object> getNumberFourTypesMessagesHomePage() {
+        Map<String, Integer> map1 = null;
+        Map<String, Object> map = new HashMap<>();
+        map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter");
+        Long totalNumberOfMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
+                .eq(InformationNotification::getConsigneeId, map1.get("userId")));
+        Long totalNumberOfReadMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
+                .eq(InformationNotification::getConsigneeId, map1.get("userId"))
+                .eq(InformationNotification::getViewStatus, true));
+        LocalDate today = LocalDate.now();
+        LocalDate sevenDaysAgo = today.minusDays(7);
+        Long totalNumberOfMessagesInThePastSevenDays = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
+                .eq(InformationNotification::getConsigneeId, map1.get("userId"))
+                .between(InformationNotification::getCreateTime, today, sevenDaysAgo));
+        long remainingToDo = totalNumberOfMessages - totalNumberOfReadMessages;
+        map.put("totalNumberOfMessages", totalNumberOfMessages);
+        map.put("remainingToDo", remainingToDo);
+        map.put("totalNumberOfReadMessages", totalNumberOfReadMessages);
+        map.put("totalNumberOfMessagesInThePastSevenDays", totalNumberOfMessagesInThePastSevenDays);
+        return map;
+    }
 }

--
Gitblit v1.9.3