Package com.bytedesk.core.thread
Class ThreadRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<ThreadEntity,ThreadRequest,ThreadResponse>
com.bytedesk.core.thread.ThreadRestService
@Service
public class ThreadRestService
extends BaseRestService<ThreadEntity,ThreadRequest,ThreadResponse>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthService
private final BytedeskEventPublisher
private final org.modelmapper.ModelMapper
private final ThreadRepository
private final UidUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionacceptByAgent
(ThreadRequest threadRequest) autoClose
(ThreadEntity thread) close
(ThreadRequest threadRequest) convertToResponse
(ThreadEntity thread) int
countByThreadTopicAndState
(String topic, String state) create
(ThreadRequest request) 文件助手会话:file/{user_uid}createGroupMemberThread
(ThreadEntity thread, UserEntity owner) void
delete
(ThreadRequest entity) void
deleteByTopic
(String topic) void
deleteByUid
(String uid) existsByUid
(String uid) org.springframework.data.domain.Page<ThreadEntity>
findByOwner
(UserEntity user, org.springframework.data.domain.Pageable pageable) findFirstByTopic
(String topic) findFirstByTopicAndOwner
(String topic, UserEntity user) findFirstByTopicNotClosed
(String topic) findListByTopic
(String topic) void
handleOptimisticLockingFailureException
(org.springframework.orm.ObjectOptimisticLockingFailureException e, ThreadEntity entity) org.springframework.data.domain.Page<ThreadResponse>
query
(ThreadRequest request) org.springframework.data.domain.Page<ThreadResponse>
queryByOrg
(ThreadRequest request) queryByThreadUid
(ThreadRequest request) queryByTopic
(ThreadRequest request) queryByUid
(ThreadRequest request) org.springframework.data.domain.Page<ThreadResponse>
queryByUser
(ThreadRequest request) save
(ThreadEntity thread) update
(ThreadRequest threadRequest) updateMute
(ThreadRequest threadRequest) updateStar
(ThreadRequest threadRequest) updateState
(ThreadRequest threadRequest) updateTagList
(ThreadRequest threadRequest) updateTop
(ThreadRequest threadRequest) updateUnreadCount
(ThreadRequest threadRequest) updateUser
(ThreadRequest threadRequest) Methods inherited from class com.bytedesk.core.base.BaseRestService
getUidFromRequest
-
Field Details
-
authService
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
threadRepository
-
uidUtils
-
bytedeskEventPublisher
-
-
Constructor Details
-
ThreadRestService
public ThreadRestService()
-
-
Method Details
-
queryByOrg
- Specified by:
queryByOrg
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
query
-
queryByTopic
-
queryByThreadUid
-
create
- Specified by:
create
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
createGroupMemberThread
-
createFileAssistantThread
文件助手会话:file/{user_uid} -
createSystemChannelThread
-
update
- Specified by:
update
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
updateTop
-
updateStar
-
updateMute
-
updateUser
-
updateTagList
-
updateUnreadCount
-
updateState
-
autoClose
-
close
-
acceptByAgent
-
countByThreadTopicAndState
-
findByUid
@Cacheable(value="thread", key="#uid", unless="#result == null") public Optional<ThreadEntity> findByUid(@NonNull String uid) - Specified by:
findByUid
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
existsByUid
-
findFirstByTopicAndOwner
@Cacheable(value="thread", key="#topic + \'-\' + #user.uid", unless="#result == null") public Optional<ThreadEntity> findFirstByTopicAndOwner(@NonNull String topic, UserEntity user) -
findListByTopic
@Cacheable(value="threads", key="#topic", unless="#result == null") public List<ThreadEntity> findListByTopic(@NonNull String topic) -
findFirstByTopic
@Cacheable(value="thread", key="#topic", unless="#result == null") public Optional<ThreadEntity> findFirstByTopic(@NonNull String topic) -
findFirstByTopicNotClosed
@Cacheable(value="thread", key="#topic", unless="#result == null") public Optional<ThreadEntity> findFirstByTopicNotClosed(String topic) -
findByOwner
@Cacheable(value="thread", key="#user.uid-#pageable.getPageNumber()", unless="#result == null") public org.springframework.data.domain.Page<ThreadEntity> findByOwner(UserEntity user, org.springframework.data.domain.Pageable pageable) -
findServiceThreadStateStarted
-
save
@CachePut(value="thread",key="#thread.uid") @CachePut(value="thread",key="#thread.topic") public ThreadEntity save(@NonNull ThreadEntity thread) - Specified by:
save
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
deleteByTopic
-
deleteByUid
- Specified by:
deleteByUid
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
delete
@CacheEvict(value="thread",key="#thread.uid") @CacheEvict(value="thread",key="#thread.topic") public void delete(@NonNull ThreadRequest entity) - Specified by:
delete
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
convertToResponse
- Specified by:
convertToResponse
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
queryByUser
- Specified by:
queryByUser
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
handleOptimisticLockingFailureException
public void handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, ThreadEntity entity) - Specified by:
handleOptimisticLockingFailureException
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
queryByUid
- Overrides:
queryByUid
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-