Package com.bytedesk.service.queue
Class QueueRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<T,TRequest,TResponse>
com.bytedesk.core.base.BaseRestServiceWithExport<QueueEntity,QueueRequest,QueueResponse,QueueExcel>
com.bytedesk.service.queue.QueueRestService
@Service
@Description("Queue Management Service - Customer service queue and routing management service")
public class QueueRestService
extends BaseRestServiceWithExport<QueueEntity,QueueRequest,QueueResponse,QueueExcel>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AgentRestServiceprivate final AuthServiceprivate final org.modelmapper.ModelMapperprivate final QueueRepositoryprivate final ThreadRestServiceprivate final UidUtilsprivate final WorkgroupRepository -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertToExcel(QueueEntity entity) 转换为Excel对象 子类必须实现此方法convertToResponse(QueueEntity entity) create(QueueRequest request) createQueue(QueueRequest request) protected org.springframework.data.jpa.domain.Specification<QueueEntity>createSpecification(QueueRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现voiddelete(QueueRequest entity) voiddeleteByUid(String uid) protected QueueEntitydoSave(QueueEntity entity) 子类实现具体的保存逻辑protected org.springframework.data.domain.Page<QueueEntity>executePageQuery(org.springframework.data.jpa.domain.Specification<QueueEntity> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现findByTopicAndDay(String topic, String day) findLatestByQueueTopicAndDay(String queueTopic, String day) handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, QueueEntity entity) org.springframework.data.domain.Page<QueueResponse>queryByOrg(QueueRequest request) 通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法org.springframework.data.domain.Page<QueueEntity>queryByOrgEntity(QueueRequest request) 查询实体对象(用于Excel导出) 子类必须实现此方法org.springframework.data.domain.Page<QueueResponse>queryByUser(QueueRequest request) 通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法org.springframework.data.domain.Page<ThreadResponse>queryQueuing(ThreadRequest request) update(QueueRequest request) Methods inherited from class com.bytedesk.core.base.BaseRestService
deleteByOrgUid, findByOrgUid, getUidFromRequest, queryByUid, recover, save, setUserUidToRequest
-
Field Details
-
queueRepository
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
uidUtils
-
authService
-
threadRestService
-
agentRestService
-
workgroupRepository
-
-
Constructor Details
-
QueueRestService
public QueueRestService()
-
-
Method Details
-
createSpecification
protected org.springframework.data.jpa.domain.Specification<QueueEntity> createSpecification(QueueRequest request) Description copied from class:BaseRestService创建Specification对象,子类必须实现 用于queryByOrg的通用实现- Specified by:
createSpecificationin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
executePageQuery
protected org.springframework.data.domain.Page<QueueEntity> executePageQuery(org.springframework.data.jpa.domain.Specification<QueueEntity> spec, org.springframework.data.domain.Pageable pageable) Description copied from class:BaseRestService执行分页查询,子类必须实现 用于queryByOrg的通用实现- Specified by:
executePageQueryin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
queryByOrgEntity
Description copied from class:BaseRestServiceWithExport查询实体对象(用于Excel导出) 子类必须实现此方法- Overrides:
queryByOrgEntityin classBaseRestServiceWithExport<QueueEntity,QueueRequest, QueueResponse, QueueExcel>
-
queryByOrg
Description copied from class:BaseRestService通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByOrgin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
queryByUser
Description copied from class:BaseRestService通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByUserin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
queryQueuing
-
findByUid
@Cacheable(value="queue", key="#uid", unless="#result==null") public Optional<QueueEntity> findByUid(String uid) - Specified by:
findByUidin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
findByTopicAndDay
@Cacheable(value="queue", key="#topic+#day", unless="#result==null") public Optional<QueueEntity> findByTopicAndDay(String topic, String day) -
createQueue
-
create
- Specified by:
createin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
update
- Specified by:
updatein classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
doSave
Description copied from class:BaseRestService子类实现具体的保存逻辑- Specified by:
doSavein classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
deleteByUid
- Specified by:
deleteByUidin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
delete
- Specified by:
deletein classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
handleOptimisticLockingFailureException
public QueueEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, QueueEntity entity) - Specified by:
handleOptimisticLockingFailureExceptionin classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
convertToResponse
- Specified by:
convertToResponsein classBaseRestService<QueueEntity,QueueRequest, QueueResponse>
-
findLatestByQueueTopicAndDay
-
convertToExcel
Description copied from class:BaseRestServiceWithExport转换为Excel对象 子类必须实现此方法- Specified by:
convertToExcelin classBaseRestServiceWithExport<QueueEntity,QueueRequest, QueueResponse, QueueExcel>
-