From a3716f72066d25d745f4d5103ff23a553c3e102b Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期四, 17 二月 2022 11:41:19 +0800
Subject: [PATCH] Merge branch 'sit' into uat

---
 pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java b/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java
index cad80e9..3fa7b67 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java
@@ -1,10 +1,14 @@
 package com.pollex.pam.service;
 
+import java.time.Instant;
 import java.util.List;
+
+import javax.management.Notification;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
 
 import com.pollex.pam.domain.Appointment;
 import com.pollex.pam.domain.Consultant;
@@ -15,6 +19,7 @@
 import com.pollex.pam.enums.PersonalNotificationRoleEnum;
 import com.pollex.pam.repository.CustomerRepository;
 import com.pollex.pam.repository.PersonalNotificationRepository;
+import com.pollex.pam.security.SecurityUtils;
 import com.pollex.pam.service.dto.AppointmentUpdateDTO;
 
 @Service
@@ -68,7 +73,7 @@
 		personalNotificationRepository.save(entity);
 	}
 
-    public void createNotFillSatisfactionSumToCustomer(Long customerId, int notFillSatisfactionSum) {
+    public void createNotFillAppointmentSatisfactionNumberToCustomer(Long customerId, int notFillSatisfactionSum) {
         PersonalNotification entity = new PersonalNotification();
 
         String content = "���� "+notFillSatisfactionSum+" 蝑“���遛��漲��閬‵撖�";
@@ -131,4 +136,24 @@
 		personalNotificationRepository.save(entity);
 	}
 
+	public void readAllMyNotification() {
+		if(StringUtils.hasText(SecurityUtils.getAgentNo())) {
+			Long consultantId = consultantService.findByAgentNo(SecurityUtils.getAgentNo()).getId();
+			readAllNotification(PersonalNotificationRoleEnum.CONSULTANT, consultantId);
+		}else if(SecurityUtils.getCustomerDBId()!=null){
+			readAllNotification(PersonalNotificationRoleEnum.CUSTOMER, SecurityUtils.getCustomerDBId());
+		}
+	}
+
+	public void readAllNotification(PersonalNotificationRoleEnum ownerRole
+			, Long ownerId) {
+		List<PersonalNotification> allNotification = personalNotificationRepository.findAllByOwnerRoleAndOwnerId(ownerRole, ownerId);
+		Instant today = Instant.now();
+		allNotification.stream()
+		.filter(notification ->  notification.getReadDate()==null)
+		.forEach(notification ->{
+			notification.setReadDate(today);
+			personalNotificationRepository.saveAll(allNotification);
+		});
+	}
 }

--
Gitblit v1.8.0