保誠-保戶業務員媒合平台
wayne
2022-02-18 ae4db5435180c44b37f521c463b17f2023ac1d8c
pamapi/src/main/java/com/pollex/pam/repository/SatisfactionRepository.java
@@ -3,7 +3,11 @@
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;
@@ -11,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);
   Optional<Satisfaction> findOneByAppointmentId(Long appointmentId);
   Optional<Satisfaction> findOneByAppointmentIdAndType(Long appointmentId, SatisfactionTypeEnum type);
    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)
   Optional<Float> getAgentScoreAvg(@Param("agent_no") String agentNo);
}