From 60c22a257f18ed9e482de8434850ec4688fd6707 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期五, 03 十二月 2021 16:16:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java | 30 +++++++++++++++++++++++++++++- 1 files changed, 29 insertions(+), 1 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 0c0b5f8..9f8ee6c 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.math.BigDecimal; import java.util.List; import java.util.Optional; @@ -8,7 +9,9 @@ import org.springframework.transaction.annotation.Transactional; import com.pollex.pam.domain.Appointment; +import com.pollex.pam.domain.Consultant; import com.pollex.pam.domain.Satisfaction; +import com.pollex.pam.repository.ConsultantRepository; import com.pollex.pam.repository.CustomerRepository; import com.pollex.pam.repository.SatisfactionRepository; import com.pollex.pam.service.dto.SatisfactionCustomerCreateDTO; @@ -35,11 +38,36 @@ @Autowired CustomerRepository customerRepository; + + @Autowired + ConsultantRepository consultantRepository; public Satisfaction createSatisfaction(Satisfaction satisfaction) { - return satisfactionRepository.save(satisfaction); + satisfaction = satisfactionRepository.save(satisfaction); + setConsultantAvgScore(satisfaction); + return satisfaction; } + + + private void setConsultantAvgScore(Satisfaction satisfaction) { + float avgScore = getAgentAvgScore(satisfaction); + Consultant consultant = consultantRepository.findOneByAgentNo(satisfaction.getAgentNo()) + .get(); + consultant.setAvgScore(avgScore); + consultantRepository.save(consultant); + } + + + + private float getAgentAvgScore(Satisfaction satisfaction) { + Float avgScore = satisfactionRepository.getAgentScoreAvg(satisfaction.getAgentNo()); + BigDecimal bigDecimal = new BigDecimal(avgScore); + return avgScore = bigDecimal.setScale(1,BigDecimal.ROUND_HALF_UP).floatValue(); + } + + + public Satisfaction createSatisfaction(Appointment appointment) { Satisfaction satisfaction = appointmentMapper.toSatisfaction(appointment); return createSatisfaction(satisfaction); -- Gitblit v1.8.0