Package com.bytedesk.core.message
Class MessageRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<T,TRequest,TResponse>
com.bytedesk.core.base.BaseRestServiceWithExport<MessageEntity,MessageRequest,MessageResponse,MessageExcel>
com.bytedesk.core.message.MessageRestService
@Service
public class MessageRestService
extends BaseRestServiceWithExport<MessageEntity,MessageRequest,MessageResponse,MessageExcel>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthServiceprivate final MessageRepositoryprivate final org.modelmapper.ModelMapper -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertToExcel(MessageEntity entity) 转换为Excel对象 子类必须实现此方法convertToResponse(MessageEntity entity) create(MessageRequest request) protected org.springframework.data.jpa.domain.Specification<MessageEntity>createSpecification(MessageRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现voiddelete(MessageRequest message) voiddeleteByUid(String uid) protected MessageEntitydoSave(MessageEntity entity) 子类实现具体的保存逻辑protected org.springframework.data.domain.Page<MessageEntity>executePageQuery(org.springframework.data.jpa.domain.Specification<MessageEntity> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现existsByUid(String uid) findByThreadUid(String threadUid) findByThreadUidAndTypeAndUserContains(String threadUid, String type, String userUid) findLatestByThreadUid(String threadUid) findTransferMessage(String type, String messageUid) getRecentMessages(String threadTopic, int limit) handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, MessageEntity entity) isMessageExists(String uid) markAsRead(String messageUid) Deprecated.此功能已迁移到企业版markThreadAsRead(String threadUid) Deprecated.此功能已迁移到企业版org.springframework.data.domain.Page<MessageResponse>queryByOrg(MessageRequest request) 通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法org.springframework.data.domain.Page<MessageEntity>queryByOrgEntity(MessageRequest request) 查询实体对象(用于Excel导出) 子类必须实现此方法queryByUid(MessageRequest request) 通用的queryByUid实现org.springframework.data.domain.Page<MessageResponse>queryByUser(MessageRequest request) 通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法org.springframework.data.domain.Page<MessageResponse>queryUnread(MessageRequest request) Deprecated.此功能已迁移到企业版update(MessageRequest request) Methods inherited from class com.bytedesk.core.base.BaseRestService
deleteByOrgUid, findByOrgUid, getUidFromRequest, recover, save, setUserUidToRequest
-
Field Details
-
messageRepository
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
authService
-
-
Constructor Details
-
MessageRestService
public MessageRestService()
-
-
Method Details
-
queryByOrgEntity
Description copied from class:BaseRestServiceWithExport查询实体对象(用于Excel导出) 子类必须实现此方法- Overrides:
queryByOrgEntityin classBaseRestServiceWithExport<MessageEntity,MessageRequest, MessageResponse, MessageExcel>
-
queryByOrg
Description copied from class:BaseRestService通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByOrgin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
queryByUser
Description copied from class:BaseRestService通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByUserin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
queryByUid
Description copied from class:BaseRestService通用的queryByUid实现- Overrides:
queryByUidin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
queryUnread
@Deprecated public org.springframework.data.domain.Page<MessageResponse> queryUnread(MessageRequest request) Deprecated.此功能已迁移到企业版根据 topic 查询未读消息 参考 ThreadEntity.getUnreadCount 的逻辑 -
findByUid
@Cacheable(value="message", key="#uid", unless="#result == null") public Optional<MessageEntity> findByUid(String uid) - Specified by:
findByUidin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
findTransferMessage
@Cacheable(value="message", key="# type + #messageUid", unless="#result == null") public Optional<MessageEntity> findTransferMessage(String type, String messageUid) -
findLatestByThreadUid
@Cacheable(value="message", key="#threadUid", unless="#result == null") public Optional<MessageEntity> findLatestByThreadUid(String threadUid) -
findByThreadUid
@Cacheable(value="message", key="#threadUid", unless="#result == null") public List<MessageEntity> findByThreadUid(String threadUid) -
findByThreadUidAndTypeAndUserContains
@Cacheable(value="message", key="#threadUid + #type + #userUid", unless="#result == null") public Optional<MessageEntity> findByThreadUidAndTypeAndUserContains(String threadUid, String type, String userUid) -
getRecentMessages
@Cacheable(value="message", key="#threadTopic + #limit", unless="#result == null") public List<MessageEntity> getRecentMessages(String threadTopic, int limit) -
isMessageExists
-
create
- Specified by:
createin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
update
- Specified by:
updatein classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
doSave
Description copied from class:BaseRestService子类实现具体的保存逻辑- Specified by:
doSavein classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
delete
@Caching(evict=@CacheEvict(value="message",key="#message.uid")) public void delete(@NonNull MessageRequest message) - Specified by:
deletein classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
deleteByUid
- Specified by:
deleteByUidin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
existsByUid
-
convertToResponse
- Specified by:
convertToResponsein classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
handleOptimisticLockingFailureException
public MessageEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, MessageEntity entity) - Specified by:
handleOptimisticLockingFailureExceptionin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
convertToExcel
Description copied from class:BaseRestServiceWithExport转换为Excel对象 子类必须实现此方法- Specified by:
convertToExcelin classBaseRestServiceWithExport<MessageEntity,MessageRequest, MessageResponse, MessageExcel>
-
markAsRead
@Deprecated @CachePut(value="message", key="#messageUid") public MessageResponse markAsRead(String messageUid) Deprecated.此功能已迁移到企业版标记消息为已读- Parameters:
messageUid- 消息UID- Returns:
- 更新后的消息响应
-
markThreadAsRead
@Deprecated @CacheEvict(value="message", allEntries=true) public Integer markThreadAsRead(String threadUid) Deprecated.此功能已迁移到企业版批量标记会话中所有消息为已读- Parameters:
threadUid- 会话UID- Returns:
- 更新的消息数量
-
createSpecification
protected org.springframework.data.jpa.domain.Specification<MessageEntity> createSpecification(MessageRequest request) Description copied from class:BaseRestService创建Specification对象,子类必须实现 用于queryByOrg的通用实现- Specified by:
createSpecificationin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-
executePageQuery
protected org.springframework.data.domain.Page<MessageEntity> executePageQuery(org.springframework.data.jpa.domain.Specification<MessageEntity> spec, org.springframework.data.domain.Pageable pageable) Description copied from class:BaseRestService执行分页查询,子类必须实现 用于queryByOrg的通用实现- Specified by:
executePageQueryin classBaseRestService<MessageEntity,MessageRequest, MessageResponse>
-