Uses of Class
com.bytedesk.service.agent.AgentEntity
Packages that use AgentEntity
Package
Description
队列成员包
管理客服系统的排队和会话分配
工作组服务包
管理客服工作组相关功能
-
Uses of AgentEntity in com.bytedesk.service.agent
Methods in com.bytedesk.service.agent that return AgentEntityModifier and TypeMethodDescriptionprotected AgentEntityAgentRestService.doSave(AgentEntity entity) AgentRestService.handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, AgentEntity agent) Methods in com.bytedesk.service.agent that return types with arguments of type AgentEntityModifier and TypeMethodDescriptionprotected org.springframework.data.jpa.domain.Specification<AgentEntity>AgentRestService.createSpecification(AgentRequest request) protected org.springframework.data.domain.Page<AgentEntity>AgentRestService.executePageQuery(org.springframework.data.jpa.domain.Specification<AgentEntity> spec, org.springframework.data.domain.Pageable pageable) AgentRestService.findAllConnected()AgentRepository.findByDeletedFalse()AgentRestService.findByEmailAndOrgUid(String email, String orgUid) AgentRepository.findByEmailAndOrgUidAndDeletedFalse(String email, String orgUid) AgentRestService.findByMobileAndOrgUid(String mobile, String orgUid) AgentRepository.findByMobileAndOrgUidAndDeletedFalse(String mobile, String orgUid) AgentRepository.findByOrgUid(String orgUid) AgentRepository.findByOrgUidAndDeletedFalse(String orgUid) AgentRestService.findByUidFromDatabase(String uid) 强制从数据库加载(绕过 Spring Cache)。AgentRepository.findByUserUid(String userUid) AgentRestService.findByUserUid(String userUid) AgentRestService.findByUserUidAndOrgUid(String userUid, String orgUid) AgentRepository.findByUserUidAndOrgUidAndDeletedFalse(String userUid, String orgUid) static org.springframework.data.jpa.domain.Specification<AgentEntity>AgentSpecification.search(AgentRequest request, AuthService authService) Methods in com.bytedesk.service.agent with parameters of type AgentEntityModifier and TypeMethodDescriptionAgentRestService.convertToExcel(AgentEntity entity) AgentRestService.convertToResponse(AgentEntity entity) protected AgentEntityAgentRestService.doSave(AgentEntity entity) AgentRestService.handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, AgentEntity agent) private voidAgentEventListener.initAgentKbase(AgentEntity agent) voidAgentEntityListener.postPersist(AgentEntity agent) voidAgentEntityListener.postUpdate(AgentEntity agent) Method parameters in com.bytedesk.service.agent with type arguments of type AgentEntityModifier and TypeMethodDescriptionprotected org.springframework.data.domain.Page<AgentEntity>AgentRestService.executePageQuery(org.springframework.data.jpa.domain.Specification<AgentEntity> spec, org.springframework.data.domain.Pageable pageable) -
Uses of AgentEntity in com.bytedesk.service.agent.event
Fields in com.bytedesk.service.agent.event declared as AgentEntityMethods in com.bytedesk.service.agent.event that return AgentEntityModifier and TypeMethodDescriptionAbstractAgentEvent.getAgent()private AgentEntityAbstractAgentEvent.snapshot(AgentEntity source) Methods in com.bytedesk.service.agent.event with parameters of type AgentEntityModifier and TypeMethodDescriptionprivate AgentEntityAbstractAgentEvent.snapshot(AgentEntity source) Constructors in com.bytedesk.service.agent.event with parameters of type AgentEntityModifierConstructorDescriptionprotectedAbstractAgentEvent(Object source, AgentEntity agent) AgentCreateEvent(Object source, AgentEntity agent) AgentUpdateEvent(Object source, AgentEntity agent, String updateType) AgentUpdateStatusEvent(Object source, AgentEntity agent) -
Uses of AgentEntity in com.bytedesk.service.presence
Methods in com.bytedesk.service.presence that return types with arguments of type AgentEntityModifier and TypeMethodDescriptionPresenceFacadeService.getAvailableAgents(WorkgroupEntity workgroup) 获取在线且可用的坐席列表(替换 WorkgroupEntity#getAvailableAgents 旧实现)Methods in com.bytedesk.service.presence with parameters of type AgentEntityModifier and TypeMethodDescriptionbooleanPresenceFacadeService.isAgentOnline(AgentEntity agent) 判断坐席是否至少有一个有效在线连接booleanPresenceFacadeService.isAgentOnlineAndAvailable(AgentEntity agent) 坐席是否在线且当前接待状态可用 -
Uses of AgentEntity in com.bytedesk.service.queue_member
Methods in com.bytedesk.service.queue_member with parameters of type AgentEntityModifier and TypeMethodDescriptionQueueMemberRestService.createAgentQueueThread(AgentEntity agent) 客服排队会话:org/queue/{agent_uid} -
Uses of AgentEntity in com.bytedesk.service.routing_strategy
Methods in com.bytedesk.service.routing_strategy that return AgentEntityModifier and TypeMethodDescriptionprivate AgentEntityWorkgroupThreadRoutingStrategy.findAvailableAgentWithCapacity(WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents) 查找有空闲接待名额的客服private AgentEntityAgentThreadRoutingStrategy.getAgentEntity(String agentUid) 获取客服实体Methods in com.bytedesk.service.routing_strategy with parameters of type AgentEntityModifier and TypeMethodDescriptionprivate StringAgentThreadRoutingStrategy.generateAgentQueueMessage(VisitorRequest visitorRequest, AgentEntity agent, int queuingCount, int avgWaitTimePerPerson) 生成客服排队消息(使用模板)private StringAgentThreadRoutingStrategy.getAgentOfflineMessage(VisitorRequest visitorRequest, AgentEntity agent) 获取客服离线消息private QueueSettingsEntityAgentThreadRoutingStrategy.getAgentQueueSettings(VisitorRequest visitorRequest, AgentEntity agent) 获取客服排队配置private StringAgentThreadRoutingStrategy.getAgentWelcomeMessage(VisitorRequest visitorRequest, AgentEntity agent) private StringWorkgroupThreadRoutingStrategy.getAgentWelcomeMessage(VisitorRequest visitorRequest, AgentEntity agentEntity) WorkgroupThreadRoutingStrategy.getOfflineMessage(VisitorRequest visitorRequest, ThreadEntity threadFromRequest, AgentEntity agentEntity, WorkgroupEntity workgroup, QueueMemberEntity queueMemberEntity) 获取离线消息private ThreadEntityAgentThreadRoutingStrategy.getOrCreateThread(VisitorRequest visitorRequest, AgentEntity agentEntity, String topic) 获取或创建线程private MessageProtobufAgentThreadRoutingStrategy.handleAvailableAgent(VisitorRequest visitorRequest, ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) 处理可用客服(客服在线且未达到最大接待人数)private MessageProtobufWorkgroupThreadRoutingStrategy.handleAvailableWorkgroup(VisitorRequest visitorRequest, ThreadEntity threadFromRequest, AgentEntity agentEntity, QueueMemberEntity queueMemberEntity) 处理可用工作组客服private MessageProtobufAgentThreadRoutingStrategy.handleExistingThread(VisitorRequest request, ThreadEntity thread, AgentEntity agentEntity) 处理已存在的线程private MessageProtobufAgentThreadRoutingStrategy.handleOfflineAgent(VisitorRequest visitorRequest, ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) 处理离线客服private MessageProtobufAgentThreadRoutingStrategy.handleQueuedAgent(VisitorRequest visitorRequest, ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) 处理排队客服(客服在线但已达到最大接待人数)private booleanWorkgroupThreadRoutingStrategy.hasCapacity(AgentEntity agent) 判断客服是否有空闲接待名额private MessageProtobufAgentThreadRoutingStrategy.routeNewThread(ThreadEntity thread, AgentEntity agentEntity, VisitorRequest visitorRequest) 路由新线程private MessageProtobufAgentThreadRoutingStrategy.routeOnlineAgent(VisitorRequest visitorRequest, ThreadEntity thread, AgentEntity agentEntity, QueueMemberEntity queueMemberEntity) 路由在线客服private voidWorkgroupThreadRoutingStrategy.setThreadOwner(ThreadEntity thread, AgentEntity agentEntity) 设置线程所有者Method parameters in com.bytedesk.service.routing_strategy with type arguments of type AgentEntityModifier and TypeMethodDescriptionprivate AgentEntityWorkgroupThreadRoutingStrategy.findAvailableAgentWithCapacity(WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents) 查找有空闲接待名额的客服 -
Uses of AgentEntity in com.bytedesk.service.utils
Methods in com.bytedesk.service.utils with parameters of type AgentEntityModifier and TypeMethodDescriptionstatic WelcomeContentWelcomeContentUtils.buildAgentWelcomeContent(AgentEntity agent) static WelcomeContentWelcomeContentUtils.buildAgentWelcomeContent(AgentEntity agent, String tip) static AgentResponseServiceConvertUtils.convertToAgentResponse(AgentEntity agent) static UserProtobufServiceConvertUtils.convertToUserProtobuf(AgentEntity agent) static StringServiceConvertUtils.convertToUserProtobufJSONString(AgentEntity agent) static StringWelcomeContentUtils.resolveAgentWelcomeTip(AgentEntity agent) Resolve welcome tip for agent with fallback to default rules in caller. -
Uses of AgentEntity in com.bytedesk.service.visitor_thread
Methods in com.bytedesk.service.visitor_thread with parameters of type AgentEntityModifier and TypeMethodDescriptionprivate StringVisitorThreadService.buildAgentExtra(VisitorRequest visitorRequest, AgentEntity agent) 根据请求与客服实体构建 thread.extra - 普通渠道:构建 ServiceSettingsResponseVisitor JSON 若 debug=true 且 settingsUid 非空,则优先使用指定 settings 进行预览VisitorThreadService.createAgentThread(VisitorRequest visitorRequest, AgentEntity agent, String topic) private voidVisitorThreadService.processAgentTimeoutReminder(ThreadEntity thread, AgentEntity agent) 处理客服超时提醒VisitorThreadService.reInitAgentThreadExtra(VisitorRequest visitorRequest, ThreadEntity thread, AgentEntity agent) private StringVisitorThreadService.resolveLeaveMessageTip(AgentEntity agent) private QueueSettingsEntityVisitorThreadService.resolveQueueSettingsFromAgent(AgentEntity agent) private voidVisitorThreadService.sendRemindMessage(QueueMemberEntity queueMember, ThreadEntity thread, AgentEntity agent) -
Uses of AgentEntity in com.bytedesk.service.workgroup
Fields in com.bytedesk.service.workgroup declared as AgentEntityModifier and TypeFieldDescriptionprivate AgentEntityWorkgroupEntity.messageLeaveAgentAgent responsible for handling offline messagesFields in com.bytedesk.service.workgroup with type parameters of type AgentEntityModifier and TypeFieldDescriptionprivate List<AgentEntity>WorkgroupEntity.agentsAgents assigned to this workgroupMethods in com.bytedesk.service.workgroup that return AgentEntityMethods in com.bytedesk.service.workgroup with parameters of type AgentEntityModifier and TypeMethodDescriptionWorkgroupRepository.findByAgentsContaining(AgentEntity agent) 查找包含指定客服的所有工作组 -
Uses of AgentEntity in com.bytedesk.service.workgroup_routing
Methods in com.bytedesk.service.workgroup_routing that return AgentEntityModifier and TypeMethodDescriptionprivate AgentEntityWorkgroupRoutingService.computeNextAgentForDisplay(String routingMode, WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, WorkgroupRoutingEntity state) private AgentEntityWorkgroupRoutingService.computeNextAgentForState(String routingMode, WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, WorkgroupRoutingEntity state) private AgentEntityWorkgroupRoutingService.findAgentByUid(List<AgentEntity> agents, String agentUid) WorkgroupRoutingService.selectAgent(WorkgroupEntity workgroup, ThreadEntity thread) 根据工作组路由模式选择客服private AgentEntityWorkgroupRoutingService.selectAgentRealtimeFallback(WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, String routingMode) private AgentEntityWorkgroupRoutingService.selectByConsistentHash(String visitorUid, List<AgentEntity> agents) 一致性哈希算法 相同访客尽量分配给同一个客服private AgentEntityWorkgroupRoutingService.selectByFastestResponse(List<AgentEntity> agents) 最快响应算法 选择平均响应时间最短的客服private AgentEntityWorkgroupRoutingService.selectByLeastActive(List<AgentEntity> agents) 最小活动数算法 选择当前会话数最少的客服private AgentEntityWorkgroupRoutingService.selectByRandom(List<AgentEntity> agents) 随机算法 随机选择一个可用客服private AgentEntityWorkgroupRoutingService.selectByRecent(WorkgroupEntity workgroup, ThreadEntity thread) 选择最近一次会话ThreadEntity接待的客服。private AgentEntityWorkgroupRoutingService.selectByRoundRobinInMemory(Long cursor, List<AgentEntity> agents) 轮询算法 按顺序将请求分配给每个客服private AgentEntityWorkgroupRoutingService.selectByWeightedRandom(List<AgentEntity> agents) 加权随机算法 根据客服评分和性能给予不同权重Methods in com.bytedesk.service.workgroup_routing that return types with arguments of type AgentEntityModifier and TypeMethodDescriptionprivate List<AgentEntity>WorkgroupRoutingService.sortAgentsByUid(List<AgentEntity> agents) Methods in com.bytedesk.service.workgroup_routing with parameters of type AgentEntityModifier and TypeMethodDescriptionprivate voidWorkgroupRoutingService.advanceStateAfterAssignment(String routingMode, WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, WorkgroupRoutingEntity state, AgentEntity assignedAgent) private doubleWorkgroupRoutingService.calculateWeight(AgentEntity agent) 计算客服权重private doubleWorkgroupRoutingService.getAverageResponseTime(AgentEntity agent) TODO: 获取平均响应时间(秒)Method parameters in com.bytedesk.service.workgroup_routing with type arguments of type AgentEntityModifier and TypeMethodDescriptionprivate voidWorkgroupRoutingService.advanceStateAfterAssignment(String routingMode, WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, WorkgroupRoutingEntity state, AgentEntity assignedAgent) private AgentEntityWorkgroupRoutingService.computeNextAgentForDisplay(String routingMode, WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, WorkgroupRoutingEntity state) private AgentEntityWorkgroupRoutingService.computeNextAgentForState(String routingMode, WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, WorkgroupRoutingEntity state) private AgentEntityWorkgroupRoutingService.findAgentByUid(List<AgentEntity> agents, String agentUid) private AgentEntityWorkgroupRoutingService.selectAgentRealtimeFallback(WorkgroupEntity workgroup, ThreadEntity thread, List<AgentEntity> availableAgents, String routingMode) private AgentEntityWorkgroupRoutingService.selectByConsistentHash(String visitorUid, List<AgentEntity> agents) 一致性哈希算法 相同访客尽量分配给同一个客服private AgentEntityWorkgroupRoutingService.selectByFastestResponse(List<AgentEntity> agents) 最快响应算法 选择平均响应时间最短的客服private AgentEntityWorkgroupRoutingService.selectByLeastActive(List<AgentEntity> agents) 最小活动数算法 选择当前会话数最少的客服private AgentEntityWorkgroupRoutingService.selectByRandom(List<AgentEntity> agents) 随机算法 随机选择一个可用客服private AgentEntityWorkgroupRoutingService.selectByRoundRobinInMemory(Long cursor, List<AgentEntity> agents) 轮询算法 按顺序将请求分配给每个客服private AgentEntityWorkgroupRoutingService.selectByWeightedRandom(List<AgentEntity> agents) 加权随机算法 根据客服评分和性能给予不同权重private List<AgentEntity>WorkgroupRoutingService.sortAgentsByUid(List<AgentEntity> agents)