Package com.bytedesk.core.thread
Class ThreadRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<T,TRequest,TResponse>
com.bytedesk.core.base.BaseRestServiceWithExcel<ThreadEntity,ThreadRequest,ThreadResponse,ThreadExcel>
com.bytedesk.core.thread.ThreadRestService
@Service
public class ThreadRestService
extends BaseRestServiceWithExcel<ThreadEntity,ThreadRequest,ThreadResponse,ThreadExcel>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthService
private final BytedeskEventPublisher
private final CategoryRestService
private final org.modelmapper.ModelMapper
private final TagRestService
private final ThreadRepository
private final UidUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionautoClose
(ThreadEntity thread) close
(ThreadRequest threadRequest) convertToExcel
(ThreadEntity entity) convertToResponse
(ThreadEntity thread) int
countByThreadTopicAndState
(String topic, String state) int
countByThreadTopicAndStateNot
(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) protected ThreadEntity
doSave
(ThreadEntity entity) 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) handleOptimisticLockingFailureException
(org.springframework.orm.ObjectOptimisticLockingFailureException e, ThreadEntity entity) void
initThreadCategory
(String orgUid) void
initThreadTag
(String orgUid) org.springframework.data.domain.Page<ThreadResponse>
query
(ThreadRequest request) org.springframework.data.domain.Page<ThreadResponse>
queryByOrg
(ThreadRequest request) org.springframework.data.domain.Page<ThreadEntity>
queryByOrgEntity
(ThreadRequest request) queryByThreadUid
(ThreadRequest request) queryByTopic
(ThreadRequest request) queryByUid
(ThreadRequest request) org.springframework.data.domain.Page<ThreadResponse>
queryByUser
(ThreadRequest request) update
(ThreadRequest threadRequest) updateMute
(ThreadRequest threadRequest) updateStar
(ThreadRequest threadRequest) updateState
(ThreadRequest threadRequest) updateTagList
(ThreadRequest threadRequest) updateTop
(ThreadRequest threadRequest) updateUnread
(ThreadRequest threadRequest) updateUnreadCount
(ThreadRequest threadRequest) updateUser
(ThreadRequest threadRequest) Methods inherited from class com.bytedesk.core.base.BaseRestService
getUidFromRequest, recover, save
-
Field Details
-
authService
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
threadRepository
-
uidUtils
-
bytedeskEventPublisher
-
categoryService
-
tagRestService
-
-
Constructor Details
-
ThreadRestService
public ThreadRestService()
-
-
Method Details
-
queryByOrgEntity
- Specified by:
queryByOrgEntity
in classBaseRestServiceWithExcel<ThreadEntity,
ThreadRequest, ThreadResponse, ThreadExcel>
-
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
-
updateUnread
-
updateState
-
autoClose
-
close
-
countByThreadTopicAndState
-
countByThreadTopicAndStateNot
-
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
-
doSave
- Specified by:
doSave
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
handleOptimisticLockingFailureException
public ThreadEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, ThreadEntity entity) - Specified by:
handleOptimisticLockingFailureException
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>
-
queryByUid
- Overrides:
queryByUid
in classBaseRestService<ThreadEntity,
ThreadRequest, ThreadResponse>
-
initThreadCategory
-
initThreadTag
-
convertToExcel
- Specified by:
convertToExcel
in classBaseRestServiceWithExcel<ThreadEntity,
ThreadRequest, ThreadResponse, ThreadExcel>
-