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; @Repository public interface SatisfactionRepository extends JpaRepository{ List findByAgentNoAndType(String agentNo, SatisfactionTypeEnum type); List findByCustomerId(Long customerId); Optional findOneByAppointmentIdAndType(Long appointmentId, SatisfactionTypeEnum type); List 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) Optional getAgentScoreAvg(@Param("agent_no") String agentNo); }