保誠-保戶業務員媒合平台
[update] [todo 131518] 更新填寫滿意度問卷的方法,改帶滿意度問卷的id做填寫

修改5個檔案
修改1個檔案名稱
78 ■■■■ 已變更過的檔案
pamapi/src/doc/滿意度/客戶填寫滿意度問卷.txt 6 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/enums/SatisfactionTypeEnum.java 4 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java 28 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionCustomerScoreDTO.java 16 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionDTOMapper.java 22 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/web/rest/SatisfactionResource.java 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/doc/º¡·N«×/«È¤á¶ñ¼gº¡·N«×°Ý¨÷.txt
File was renamed from pamapi/src/doc/º¡·N«×/«È¤á¶ñ¼gÅU°Ýº¡·N«×.txt
@@ -8,11 +8,9 @@
request body:
{
    "appointmentId": 482,
    "satisfactionId": 84,
    "score":4
}
response body:
{
@@ -35,7 +33,7 @@
request body:
[{
    "appointmentId": 482,
    "satisfactionId": 84,
    "score":4
}]
pamapi/src/main/java/com/pollex/pam/enums/SatisfactionTypeEnum.java
@@ -1,6 +1,6 @@
package com.pollex.pam.enums;
public enum SatisfactionTypeEnum {
    APPOINTMENT,
    SYSTEM
    APPOINTMENT,        // å°é¡§å•é ç´„的滿意度
    SYSTEM              // å°å¹³å°çš„æ»¿æ„åº¦
}
pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java
@@ -59,19 +59,23 @@
    public Satisfaction save(Satisfaction satisfaction) {
        satisfaction = satisfactionRepository.save(satisfaction);
        consultantService.setConsultantAvgScore(satisfaction);
        if(satisfaction.getType() == SatisfactionTypeEnum.APPOINTMENT) {
            consultantService.setConsultantAvgScore(satisfaction);
        }
        return satisfaction;
    }
    public Satisfaction scorefaction(SatisfactionCustomerScoreDTO scoreDTO) {
        Optional<Satisfaction> satisfactionOP = getByAppointmentIdAndType(scoreDTO.getAppointmentId(), SatisfactionTypeEnum.APPOINTMENT);
        Optional<Satisfaction> satisfactionOP = satisfactionRepository.findById(scoreDTO.getSatisfactionId());
        Satisfaction satisfaction = satisfactionOP.orElseThrow(SatisfactionNotFoundException::new);
        satisfaction.setScore(scoreDTO.getScore());
        satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
        satisfaction.setType(SatisfactionTypeEnum.APPOINTMENT);
        save(satisfaction);
        personalNotificationService.createScorefactionToConsultant(satisfaction);
        return satisfaction;
        if(satisfaction.getType() == SatisfactionTypeEnum.APPOINTMENT) {
            personalNotificationService.createScorefactionToConsultant(satisfaction);
        }
        return satisfaction;
    }
    public Satisfaction createAppointmentSatisfaction(Appointment appointment) {
@@ -128,15 +132,9 @@
        Optional<Satisfaction> systemSatisfactionOptional =
            satisfactionRepository.findOneByAppointmentIdAndType(scoreDTO.getAppointmentId(), SatisfactionTypeEnum.SYSTEM);
        if(systemSatisfactionOptional.isPresent()) {
            Satisfaction satisfaction = systemSatisfactionOptional.get();
            satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
            satisfaction.setScore(scoreDTO.getScore());
            return satisfactionRepository.save(satisfaction);
        }
        else {
            log.warn("not found the satisfaction record, so can't fill system satisfaction");
            return null;
        }
        Satisfaction satisfaction = systemSatisfactionOptional.orElseThrow(SatisfactionNotFoundException::new);
        satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
        satisfaction.setScore(scoreDTO.getScore());
        return satisfactionRepository.save(satisfaction);
    }
}
pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionCustomerScoreDTO.java
@@ -1,15 +1,15 @@
package com.pollex.pam.service.dto;
public class SatisfactionCustomerScoreDTO {
    private Long appointmentId;
    private Long satisfactionId;
    private Float score;
    public Long getAppointmentId() {
        return appointmentId;
    public Long getSatisfactionId() {
        return satisfactionId;
    }
    public void setAppointmentId(Long appointmentId) {
        this.appointmentId = appointmentId;
    public void setSatisfactionId(Long satisfactionId) {
        this.satisfactionId = satisfactionId;
    }
    public Float getScore() {
        return score;
@@ -17,6 +17,4 @@
    public void setScore(Float score) {
        this.score = score;
    }
}
pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionDTOMapper.java
@@ -5,7 +5,7 @@
import com.pollex.pam.domain.Satisfaction;
import com.pollex.pam.enums.SatisfactionStatusEnum;
import com.pollex.pam.service.dto.SatisfactionCustomerScoreDTO;
// import com.pollex.pam.service.dto.SatisfactionCustomerScoreDTO;
@Service
public class SatisfactionDTOMapper {
@@ -13,14 +13,14 @@
    @Autowired
    AppointmentMapper appointmentMapper;
    public Satisfaction toSatisfaction(SatisfactionCustomerScoreDTO source) {
        Satisfaction satisfaction = appointmentMapper.toAppointmentSatisfaction(source.getAppointmentId());
        satisfaction.setScore(source.getScore());
        if(satisfaction.getScore()!=null) {
            satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
        }else {
            satisfaction.setStatus(SatisfactionStatusEnum.UNFILLED);
        }
        return satisfaction;
    }
//    public Satisfaction toSatisfaction(SatisfactionCustomerScoreDTO source) {
//        Satisfaction satisfaction = appointmentMapper.toAppointmentSatisfaction(source.getAppointmentId());
//        satisfaction.setScore(source.getScore());
//        if(satisfaction.getScore()!=null) {
//            satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
//        }else {
//            satisfaction.setStatus(SatisfactionStatusEnum.UNFILLED);
//        }
//        return satisfaction;
//    }
}
pamapi/src/main/java/com/pollex/pam/web/rest/SatisfactionResource.java
@@ -52,7 +52,7 @@
    }
    @PostMapping("/system/score")
    public Satisfaction createSystemSatisfaction(@RequestBody SatisfactionSystemScoreDTO scoreDTO) {
    public Satisfaction fillSystemSatisfaction(@RequestBody SatisfactionSystemScoreDTO scoreDTO) {
        return satisfactionService.fillSystemSatisfaction(scoreDTO);
    }
}