From 49c2a88a89a207e995b685299876473c3858dddc Mon Sep 17 00:00:00 2001
From: Jack <jack.su@pollex.com.tw>
Date: 星期一, 24 一月 2022 16:46:55 +0800
Subject: [PATCH] [ADD] 小鈴鐺通知增加已讀登入者所有通知的API

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

diff --git a/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java b/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java
index 70de68f..9911f04 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java
@@ -1,5 +1,6 @@
 package com.pollex.pam.service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 
@@ -39,28 +40,32 @@
 
 	@Autowired
 	CustomerRepository customerRepository;
-	
+
 	@Autowired
 	ConsultantRepository consultantRepository;
-	
+
 	@Autowired
 	ConsultantService consultantService;
+
+	@Autowired
+	PersonalNotificationService personalNotificationService;
 
 	public Satisfaction save(Satisfaction satisfaction) {
 		satisfaction = satisfactionRepository.save(satisfaction);
 		consultantService.setConsultantAvgScore(satisfaction);
 		return satisfaction;
 	}
-	
+
 	public Satisfaction scorefaction(SatisfactionCustomerScoreDTO scoreDTO) {
 		Optional<Satisfaction> satisfactionOP = getByAppointmentId(scoreDTO.getAppointmentId());
 		Satisfaction satisfaction = satisfactionOP.orElseThrow(SatisfactionNotFoundException::new);
 		satisfaction.setScore(scoreDTO.getScore());
 		satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
-		return save(satisfaction);
+		save(satisfaction);
+		personalNotificationService.createScorefactionToConsultant(satisfaction);
+		return satisfaction;
 	}
 
-	
 	public Satisfaction createSatisfaction(Appointment appointment) {
 		boolean isexist = getByAppointmentId(appointment.getId()).isPresent();
 		if(isexist) {
@@ -88,4 +93,16 @@
     public Optional<Satisfaction> getByAppointmentId(Long appointmentId) {
         return satisfactionRepository.findOneByAppointmentId(appointmentId);
     }
+
+    public List<Satisfaction> getByStatus(SatisfactionStatusEnum status) {
+        return satisfactionRepository.findAllByStatus(status);
+    }
+
+	public List<Satisfaction> scoreAllfaction(List<SatisfactionCustomerScoreDTO> scoreDTO) {
+		List<Satisfaction> satisfactionList = new ArrayList<>();
+		scoreDTO.stream().forEach(dto ->{
+			satisfactionList.add(scorefaction(dto));
+		});
+		return satisfactionList;
+	}
 }

--
Gitblit v1.8.0