From 91ebbdc5ef67699d166498f6cf5fcc21058817dd Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 25 二月 2025 19:59:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java
index 6570f1c..0317f8e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java
@@ -1,23 +1,34 @@
 package com.panzhihua.sangeshenbian.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.service.sangeshenbian.SystemUserService;
 import com.panzhihua.sangeshenbian.dao.MessageNotificationMapper;
 import com.panzhihua.sangeshenbian.model.entity.MessageNotification;
+import com.panzhihua.sangeshenbian.model.entity.SystemUser;
 import com.panzhihua.sangeshenbian.model.query.BasePage;
 import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO;
 import com.panzhihua.sangeshenbian.service.IMessageNotificationService;
+import com.panzhihua.sangeshenbian.service.ISystemUserService;
 import com.panzhihua.sangeshenbian.warpper.MessageNotificationList;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+import java.util.Optional;
 
 /**
  * @author zhibing.pu
  * @Date 2025/2/23 3:04
  */
 @Service
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class MessageNotificationServiceImpl extends ServiceImpl<MessageNotificationMapper, MessageNotification> implements IMessageNotificationService {
-	
+	private final ISystemUserService systemUserService;
 	
 	@Override
 	public IPage<MessageNotification> list(MessageNotificationList query) {
@@ -31,7 +42,39 @@
 	@Override
 	public Page<MessageNotificationVO> getMessageList(BasePage basePage, Long userId) {
 		//TODO 待完善
-		Page<MessageNotificationVO> page = new Page<>(basePage.getPageNum(),basePage.getPageSize());
-		return page;
+		Page<MessageNotification> page = lambdaQuery().page(new Page<>(basePage.getPageNum(),basePage.getPageSize()));
+		return (Page<MessageNotificationVO>) page.convert(item-> BeanUtil.copyProperties(item, MessageNotificationVO.class));
+	}
+
+	/**
+	 * 标记已读
+	 * @param loginUserInfoVO
+	 */
+	@Override
+	public void read(LoginUserInfoVO loginUserInfoVO) {
+		String undertakerUserId = "";
+		Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserByPhone(loginUserInfoVO.getPhone());
+		if (systemUserByPhone.isPresent()) {
+			SystemUser systemUser = systemUserByPhone.get();
+			if (systemUser.getIsAdmin().equals(1)){
+				switch (systemUser.getAccountLevel()) {
+					case 1:
+						undertakerUserId = "510400";//默认市级
+						break;
+					case 2:
+						undertakerUserId = systemUser.getDistrictsCode();
+						break;
+					case 3:
+						undertakerUserId = systemUser.getStreetId();
+						break;
+					case 4:
+						undertakerUserId = systemUser.getCommunityId().toString();
+						break;
+				}
+			}
+		}else {
+			undertakerUserId = loginUserInfoVO.getUserId().toString();
+		}
+		this.lambdaUpdate().eq(MessageNotification::getUndertakerUserId, undertakerUserId).set(MessageNotification::getReadStatus, 1).update();
 	}
 }

--
Gitblit v1.7.1