From fa782dca2a00e9a4a48c5b3588f5eb3b47af93cf Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期二, 01 三月 2022 15:41:05 +0800 Subject: [PATCH] [update] [todo 136031] 諮詢度表現,提供前端該顧問所有預約單數量以及近一個月的預約單數量 --- 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