保誠-保戶業務員媒合平台
wayne
2022-02-08 463ba2f5b7e5ae094c33b1692a74b7f7aa58aad5
pamapi/src/main/java/com/pollex/pam/repository/SatisfactionRepository.java
@@ -1,8 +1,13 @@
package com.pollex.pam.repository;
import java.util.List;
import java.util.Optional;
import com.pollex.pam.enums.SatisfactionStatusEnum;
import com.pollex.pam.enums.SatisfactionTypeEnum;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.pollex.pam.domain.Satisfaction;
@@ -10,9 +15,17 @@
@Repository
public interface SatisfactionRepository extends JpaRepository<Satisfaction, Long>{
   List<Satisfaction> findByAgentNo(String agentNo);
   List<Satisfaction> findByAgentNoAndType(String agentNo, SatisfactionTypeEnum type);
   List<Satisfaction> findByCustomerId(Long customerId);
   List<Satisfaction> findByCustomerIdAndType(Long customerId, SatisfactionTypeEnum type);
   Optional<Satisfaction> findOneByAppointmentId(Long appointmentId);
    List<Satisfaction> findAllByStatusAndType(SatisfactionStatusEnum status, SatisfactionTypeEnum type);
   @Query(value = "SELECT avg(score) FROM satisfaction where type='APPOINTMENT'"
            + " and agent_no=:agent_no"
         + " and score is not null"
         , nativeQuery = true)
   Float getAgentScoreAvg(@Param("agent_no") String agentNo);
}